@splitice Thanks for the feedback!
- Re 1 - Likely a flaw due to the civilian point defences - the AI treats civilian units as enemies, considers the total weighting of enemy units, thinks its up against an enemy who favours PD far above mobile units, and so builds lots of arti in response. No easy short term solution where the civilian base cant be pathed to (I'd probably need to come up with map specific logic which will be a long way away, or special rules for civilians which would similarly be very low down on my list as this is the largest civilian base I've come across on a map to date)
- 2 - Unfortunately it's not straightforward to come up with an approach/set of rules that would handle this well, and the current approach assumes it should be able to gain map control if it spends more than the enemy on units.
Longer term I'm planning on introducing turtle logic to the AI which I'd probably look to use on a map like this which would make it eco a bit better, but that's at least a few versions away.
- 3 - Sounds like a bug - doing a quick test with 8 M27AI, within the first 5m all mexes on each side were either claimed or queued up to be claimed, so I'd need a replay to investigate further. When checking back on the 4v4 test I ran though I noticed some other bugs which led to a massive slowdown/broken AI after certain players died which I'll be looking into for another hotfix!
Re the low profiling, I think the low % of total time is due to the limitations of the method I'm using - while getting the difference in system time seconds gives a good guide of how long a function takes relative to other functions, I think there're other things that happen in the background as a result of the code which don't get picked up (e.g. Sprouto's mentioned there's a garbage collector that can require resources to deal with clearing redundant variables) - these could be linked to the AI, or the normal game engine/operations, and I'm not sure of a reliable way to quantify. However I'd also assume the AI will take a majority of the total sim time, especially where multiple AI are used.