AI:Development:Interface: Difference between revisions

From Spring
Jump to navigationJump to search
Hoijui (talk | contribs)
Hoijui (talk | contribs)
outsourced general AI interface description
Line 1: Line 1:
==AI Interfaces & Wrappers==
==AI Interfaces & Wrappers==


Skirmish AIs are not loaded by the engine directly, but through an interface library.
===Introduction===
This allows integration of AIs written in other languages.
For an explanation of what AI Interfaces & Wrappers for the Spring engine are,
An other idea made possible through this, is a library that can load AIs over the network,
have a look at the [[AI:Development:System|AI Interface system]] page.
and let them run on an AI server (NOTE: this is not planned, just a possibility).
<br><br>
 
[[Image:CAIInterfaceCodeStructureOld.png|thumb|center|722 px|Old Code Structure]]
 
[[Image:CAIInterfaceCodeStructure.png|thumb|center|722 px|New Code Structure]]
 
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 look 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===
===In Active Development===
Line 28: Line 14:




'''[[Main_Page|<- Back to Main page]]'''
[[Category: AI:Development]]
 
[[Category: AI]]

Revision as of 07:29, 3 June 2009

AI Interfaces & Wrappers

Introduction

For an explanation of what AI Interfaces & Wrappers for the Spring engine are, have a look at the AI Interface system page.

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