AI:Development:Interface: Difference between revisions
mNo edit summary |
mNo edit summary |
||
| Line 22: | Line 22: | ||
; '''[[AIInterface:C|C & C++ AI Interface]]''' : rc (please help testing!), by hoijui<br><br> | ; '''[[AIInterface:C|C & C++ AI Interface]]''' : rc (please help testing!), by hoijui<br><br> | ||
; '''[[AIWrapper:LegacyCpp|Legacy C++ AI Wrapper]]''' : deprecated, ensures AIs written for springs old C++ AI interface can still be used, by hoijui<br><br> | ; '''[[AIWrapper:LegacyCpp|Legacy C++ AI Wrapper]]''' : deprecated, ensures AIs written for springs old C++ AI interface can still be used, by hoijui<br><br> | ||
; '''[[AIWrapper:Cpp|New C++ AI Wrapper]]''' | ; '''[[AIWrapper:Cpp|New C++ AI Wrapper]]''' : alpha, allows writing C++ AIs using the new OO structure and all possibilities of the C Interface, by hoijui<br><br> | ||
; '''[[AIInterface:Java|Java AI Interface]]''' : rc (please help testing!), supports loading AIs written in pure Java, by hoijui<br><br> | ; '''[[AIInterface:Java|Java AI Interface]]''' : rc (please help testing!), supports loading AIs written in pure Java, by hoijui<br><br> | ||
; '''[[AIInterface:Mono|Mono AI Interface]]''' : beta, will support loading AIs written in a '''[http://en.wikipedia.org/wiki/Common_Language_Infrastructure CLI]''' language, by Agon<br><br> | ; '''[[AIInterface:Mono|Mono AI Interface]]''' : beta, will support loading AIs written in a '''[http://en.wikipedia.org/wiki/Common_Language_Infrastructure CLI]''' language, by Agon<br><br> | ||
Revision as of 14:16, 11 May 2009
AI Interfaces & Wrappers
Skirmish AIs are not loaded by the engine directly, but through an interface library.
This allows integration of AIs written in other languages.
An other idea made possible through this, is a library that can load AIs over the network,
and let them run on an AI server (NOTE: this is not planned, just a possibility).


AI Interfaces are plugins for the spring engine, while Skirmish AIs are plugins for AI Interfaces.
Wrappers are comparable to AI Interfaces, but they rather lay between an AI Interface and an AI. They consist of code that adds enhances an interface in some way, and they are compiled directly into the AI library. An example of one is the Legacy C++ Wrapper. It makes the C/C++ AI Interface lolok like the old C++ AI interface of spring. It is used by KAIK and AAI for example, and its code is compiled directly into these AI libraries.
In Active Development
- C & C++ AI Interface
- rc (please help testing!), by hoijui
- Legacy C++ AI Wrapper
- deprecated, ensures AIs written for springs old C++ AI interface can still be used, by hoijui
- New C++ AI Wrapper
- alpha, allows writing C++ AIs using the new OO structure and all possibilities of the C Interface, by hoijui
- Java AI Interface
- rc (please help testing!), supports loading AIs written in pure Java, by hoijui
- Mono AI Interface
- beta, will support loading AIs written in a CLI language, by Agon