Good AI is especially important as we have no MP, so with that in mind some observations. Note I've been playing XXLarge maps, a custom Sov,, 6 foes (so big, empty maps, and long games), and Win7 G4-bit with a decent computer. [Edit -- half the games were expert, half ridiculous difficulty]
-some AI Sov units stop moving. A few of them will eventually move (5-10 turns later), some have been sitting still for 50+ turns. There doesn't appear to be any reason for this (not surrounded by mobs/etc.). Some are scout units, but some are fairly powerful (for that stage of the game) stacks.
Proposed solution involves polling units each turn to ensure they're not skipped. This will slow down the game, but this is happening too often to allow to continue.
-I've been war declared upon by AI sovs a half dozen times in the last half dozen games, and never has an enemy stack appeared, let alone attacked me. Now, it's a huge map which would have some effect, but I've waited 100+ turns for an attack stack to arrive, I've had units near the declarers borders, and nothing. Enemy AI have been actively attacking each other (battle reports list cities taken/etc.).
Proposed solution involves having an AI, once it decides to declare, put off declaring until it has an 'attack stack' gathered and moved within striking distance of one of my cities (or other target). The current 'declare then never get around to sending off an attack stack' happens too often.
-I see a lot of unclaimed, unguarded loot that is nearby enemy champions, and even within AI lands next to cities. On the other hand, I've had several instances where I defeated a mob but couldn't move onto the square that turn to claim the loot, and an AI champ has come along and grabbed the now-unguarded loot -- this is nicely done! (makes me grimace but still, it's nicely done! and we need more of this stuff)
Possible solution is to add weight to decision trees to target unguarded loot squares (if unclaimed loot within X squares then grab it). Even better is enemy stacks tasked to clear mob locations to claim loot.
-Tactical battles are improved over the old WoM ones -- in the old tactical battles the enemy units mindlessly moved towards my forces, allowing me to time first contact so I got the first attack. Currently enemy units with greater movement will 'inch up' to ensure they get the first attack. However, if I then move my units back 1 square (may have to do this twice) the enemy units then 'forget' to inch up and instead move forward full movement, giving me first attack. Now it's possible this is intentional (because of the artificial limits to the tactical map?) but even if it this is the case, the AI needs help and so allowing them to continue to 'inch up' to get first attack seems reasonable.
Possible solution involves having the AI units continue to 'inch up' instead of abandoning that after doing it once.
-Tactical battles again, this involves where enemy units place themselves to attack my units. As an example, I moved a mounted champion up to the enemy line. A high movement enemy unit (wolf) then moved to position itself 'behind' my champion. This allowed my slower moving foot units to then move within striking distance of the enemy wolf. Had the wolf positioned itself 'in front' of my champion (it could have done so) my foot troops would not have been able to reach/attack the wolf the next turn, and may not have even been able to reach the unit in several turns (as other units may have blocked this).
Possible solution is to have enemy units consider maximizing distance from my units when deciding where to position themselves. Now this isn't a simple issue because it's useful having an early moving, high movement unit move to the 'rear' of my units -- this leaves space for later/slower moving enemy units to take position in 'front' of my units (thus getting the enemy units into battle earlier). So this is a tough call. It may be beyond current possibilities to have the game consider future moves of allied units (ie -- move current unit behind target if not-yet-moved slower units need the 'front' positions, otherwise move current unit in front...)
Good AI is hard, and incremental improvements have occurred and I believe will continue. Hopefully the above will be seen in the spirit it's given -- as helpful suggestions and not complaints.