
I've been watching the development of AI for Spring with great interest. Ever since my first giant posts on the subject of AI (which, unfortunately, are probably gone now, due to Forum changes) where I described a simple AI structure for Spring and methods to bring it to fruition, I've been watching to see how things have been going.
Here is a report card. These are my results, on my rig, and my opinions, of course- please don't flame me if you have not had some of the problems I have been having, for example, or don't share my opinions. I am not posting here (after a nearly 6-month lurking period) to offend anybody, especially the clever programmers who've gotten things thus far. But, that said, I'm going to be straight with everybody, and honest about what I see. This is a critique.
1. Stability is a serious problem. Every AI I reviewed- JCAI, NTAI, AAI, OTAI- every one... crashed my rig, with various levels of crash, from simple client-crashes to memory leaks that crashed Windows XP

NTAI, for example (I looked at the current build) crashes any time a Commander dies. Every time. Which kind've stinks. JCAI seems to crash fairly randomly. OTAI and AAI crash on commander death, and also report various problems with issuing unit commands... that usually precedes a crash.
2. All of the AIs use their Commanders very, very poorly. I have yet to see a Commander helping a Factory build a Kbot. Commanders do not d-gun. Commanders do not run away from enemies doing significant damage. Commanders run up to metal spots, even if well-defended. Commanders do not cloak. Commanders do not support early rush tactics. Commanders do not "understand" if the game is Death = End or Death = Continue and occasionally use "comm-bomb" suicide tactics, like a real player will.
Overall, this is a big weakness. I have taken out AI Commanders with Laser Turrets. I have taken them out with Peewees, Flashes, etc., etc., etc. It just doesn't matter. Unlike OTA, where the Commander seemed to have a radius that it rarely strayed from, keeping it inside the heavily-defended central base (which was, to be admitted a serious flaw because it never varied), Commanders don't engage in any really smart behavior patterns. OTA's Commander AI was better... except in regards to the placement of buildings... where, as far as I can tell, the current AIs are about on par.
3. None of the AIs feature an easy-to-configure, well-documented scripting interface that will let modders integrate new units into them very easily. I've been trying out my Mechpack Improved in Spring, and the AIs thus far will never, ever build the units, even though they show up in the build trees. No matter how long I wait, or how fast I run the game.
This is silly. AI designers... c'mon... build a common DLL that will automatically read the available units and make them available, instead of everybody developing their own, unique (and buggy) variants. I think that this "everybody doing own thing except for things like metal classes" is not serving you well here. I understand that y'all want different behavioral approaches and that's fine... but you need to have a common unit-reading interface.
And, quite frankly, I'm a little amazed that we don't have a weighting system that's transparent to unit designers. If the AI_weight and AI_limits are in a unit's FBI... then whatever AI you're building, folks... it should OBEY THAT. That way, modders are in control over behaviors in certain predictable ways. I don't care (and, I think, most modders don't care) if you do something whacky, like say "if AI_weight = X, and AI_limit = Y, then UberKillahAI will never build that unit". That's fine. But use the FBIs. You all have designed weighting systems on your own. This has tied all of your AIs to specific mods. And this... this is a big mistake. Reverse course, or we will see very few TC mods, or the AIs will never handle them correctly...
4. None of the AIs build bases worth a gosh-darn. In my original articles about this, I described some easy, easy-to-mod concepts using textfiles that modders could use to design custom base layouts for AIs to read and then execute. Not one of the existing AIs has tools like this available.
5. Lastly, and most fundamentally... the best AIs of the bunch are already "smarter" than OTA in some respects, and rush better.. but they all attack very, very poorly. AIs need to read the FBI files of the units, weight the various speeds of units, and make attack waves that make sense... and, once again... are tied to what unit makers are doing, instead of specific mods. Right now, none of them can do anything smarter than send an occasional small dribble of units which die very quickly on anything like real defenses. None of them use air very effectively, and none of them can swim. I realize that both air and water are pretty tricky problems... but if I were y'all, I'd worry about getting AIs to properly attack on the ground first, before anything else. When i see AI keeping fast units near slow ones until within X distance of known enemy positions and THEN rushing, I will be impressed. Thus far, the AIs are more suicidally inefficient than OTA.
Overall, NTAI gets the highest grade. Alantai, I will give you props- when I started talking about all of this stuff, back before there was even a theoretical AI interface, let alone working AIs, I didn't expect to see that your work would be this successful. Quite honestly, I'm quite impressed, despite myself. In the time I've been gone, you've not only built something that's almost as smart as OTA, but you've given up the source. I really appreciate your dedication, even if your grammar is appalling

That said... what you've got falls far short of giving any decent player a good game yet. I'd rehash everything I said in my SAI posts, but basically it boils down to this: make it CHEAT. No matter how clever you make it, and how many CPU cycles you eat with these fairly-ridiculous redundant cycles checking many, many, many variables... it doesn't matter. I told everybody this back before there was an AI interface, and I'm going to tell it again- if you don't make it cheat, it will never give much of a game. OTA's AI was pretty stupid, and in many ways, the current AI is already better. But it is NEVER, EVER going to be smart enough to give a human a good game without cheating.