Currently the built-in AI is very basic, it just build things based on heuristics to guess what is needed and send units to war when its army reaches a critical mass compared to an enemy. More advanced AIs should be written in Lua which is more flexible and not that slow thanks to LuaJIT .

Is it possible to make some bridge interface to attach Spring AIs? I know this is complex from the start, but i need to know what TA3D devs are thinking. I'm currently supporting one of Spring AIs and i would like to see it in OTA games because my remembrances about OTA was about AI is too stupid in skirmish battles and all attempts to make it better is just give him cheat resource units which also driven me nuts.

Here are basic interface files for so called "Legacy C++ AI API". There are 4 working AI based on this interface in Spring. If you'll have some mood to implement this i can tell what each function generally does, what functions are not important, etc.

Also i see the problem is in bypassed structures: unit definitions, resource definitions, move types, weapon types. Hm, what else?

If you're interested i can prepare more info. But if you feel this is meaningless idea then better to stop right now.

Ok, I've looked at the API and it seems it uses low-level structures of Spring engine, mainly map data which is transfered to AI using pointers to raw data which cannot be mapped easily to TA3D internal data (because of encoding, data types, etc ...) so I am afraid there is no way for AIs to get map information through this interface but unit information should be possible since this is a kind of abstraction layer. Also I noticed there is a function to get the metal map, this is something that doesn't exist in TA3D which makes me think that Spring AIs are probably incompatible with TA3D at a design level.

Can you tell me more about the functions which are really used by AIs ? Maybe I can work around a few things.

Funnily enough, the units, if they are easilly stuck by other units or wrecks, and can't run straight in an open terrain, are pretty good at find their destination in a maze-like map, like "over crude water" : I never see them stuck by impassable terrain. That's an extraordinary upgrade from old pathfinding, or of course TA.

Balthazar wrote:Well, so how about self-studing AI based on neuro-network and internet database? )

I hope to have one someday

D.Durand wrote:Funnily enough, the units, if they are easilly stuck by other units or wrecks, and can't run straight in an open terrain, are pretty good at find their destination in a maze-like map, like "over crude water" : I never see them stuck by impassable terrain. That's an extraordinary upgrade from old pathfinding, or of course TA.

Pathfinding has been completely rewritten but yeah it's still missing something: it considers all mobile units can move aside to let someone pass but sometimes units are occupied and just can't move, if they can notify themselves has obstacles, units shouldn't get stuck any more by other units (unless they're completely surrounded).