Progress update: The end of the beginning? or the beginning of the end?
A lot has happened with M28 in just 2 weeks, such that I'm hopeful that it's release date could be in a matter of weeks rather than months. To summarise what's been implemented:
- Naval logic, including building and upgrading naval factories, building naval units, and using naval units
- Novax
- Nukes
- TML
- T2 PD (although in a very limited/niche way comapred to M27)
- Ahwassa
- T3 arti
- Various small changes to improve its performance slightly (e.g. less likely to overflow mass, doing better on maps where it can only reach the enemy with air, logic for engineer order reprioritisation)
M28 now has all the core features that I'd set out to implement ahead of the release (some original points such as T3 bombers were pushed to be post-release but others like T3 arti and T2 PD that were planned for post-release have already been implemented). The main areas it needs work on are compatibility (making sure various niche scenarios work), and a new set of 'competitiveness' related goals I recently added - in short, making sure that while it may not be as good as M27 it should perform similar or better to the other custom AI when released.
The most exciting point for me personally though is the performance gains M28 is still suggesting it will provide compared with M27. When I'd previously ran it on the scenario I used for M27 for benchmarking (4v4 UEF on Africa) it was significantly faster, but that was before air and naval logic were added, and there was always the danger that I could spend half a year building an AI hoping it would run faster, only to find out it was slower. Now though it has almost all core features, and is still much faster (more than double the speed).
- For example, taking M27's 'benchmark' map of a 4v4 UEF mirror on Africa, M27 v67 took 167s to run the first 10m, and encountered stuttering for 20.8 seconds cumulatively.
- By contrast, M28 took 67s, and the cumulative time of freezes was just 0.4 seconds. The only main caveat to this is it freezes the game for a while (probably at least 1 minute) at the start of the game which is much longer than M27, but overall it should still be faster for games running 10+ minutes even after factoring this into account.
- Although not tested (as it's hard to produce an easily comparable scenario), I'm also confident that logic for T3 arti should be far lighter on the CPU than M27's approach which should help late game (as I suspect this was a likely culprit of some of the slowdown, along with M27's preference for swarms of T1 bombers).