Back to the Game AI SIG |
AI Interface Standards: Open Beta
A Roundtable Discussion of the 2004 Game Developers Conference
Moderated by Alexander Nareyek, Nick Porcino, John Morrison, Gregory Paull, Syrus Mesdaghi, Nathan Combs, and John J. Kelly
San Carlos II, Hilton, San Jose, CA, USA
March 26, 2004, 9-11:30am
(Please follow this link for the call for participation for the meeting) |
OVERVIEW |
The roundtable was attended by over 30 participants, with equal portions from game development, middleware, and academia. The attendance shifted strongly toward game developers in the second hour (unluckily, the GDC program failed to mention that both sessions belong together so some people missed the first part). Even a hardware-related company attended, and it was interesting to see that they intend to start producing AI acceleration hardware for pathfinding and terrain analysis based on the committee's standards later this year. |
The roundtable was organized into multiple topics with presentations from the standards committee's working groups and following/interleaved discussions. A general discussion and introduction of the committee preceded this. |
GENERAL DISCUSSION |
We will skip introducing the Artificial Intelligence Interface Standards Committee (AIISC) and its goals here. In short, the committee creates open interface standards for the application of artificial intelligence in commercial computer games. More information can be found at: http://www.igda.org/ai/. |
There already are some AI middleware solutions on the market and we asked the attending game developers if they would be using them. No-one did, and the main reasons included: projects had no budget for this, unclear cost-benefit versus in-house, they had in-house solutions, they were considered to be "unproven" or difficult to evaluate, and their functionality was considered to be insufficient. The upcoming standards on game AI interfaces, however, were considered to make such tools much more attractive. |
Some more specific questions/discussions, also running throughout the presentation of the world interfacing group, were related to the use of data formats and the like. It was pointed out that the standards should promote and facilitate systems that allow dynamic reloading and editing of data. There was some concern that C++ and Java interfaces are not as useful because iteration and experimentation are key to AI development, and invoking slow compile->link->run cycles is contrary to the trends. Furthermore, there was spirited debate about whether one could lump XML and .NET in the same category; it is important to distinguish data representation from data transformation. |
SPECIFIC GROUP PRESENTATIONS |
For the state of the groups' affairs in creating the standards, we again refer to the above mentioned website and the reports given there. The discussions with the session's attendees were very interesting and mostly mirrored the topics that came up in the committee's own discussions. There was no real disagreement with the groups' directions and in many cases it was more about letting us know about preferred features, for example that stochastic rules were deemed important for Finite State Machines, and people hoped we would get to Fuzzy State Machines soon. |
In some cases, the attendees were not aware that there are actually many very different approaches to the problems, or questioned whether the chosen technique would be the best for an interface. For example, the pathfinding group has decided to implement a navigation-mesh based solution as a starting point, while many attendees were using representations such as grids, general waypoint meshes, and such. We do, however, not consider this as a big problem because the groups will not impose one specific interface but will try to come up with alternative interfaces for different approaches. The coverage will of course be subject to the groups' time constraints, and if a game project requires a different approach than what is currently offered by the standards, of course, no-one should feel pressed to use the standardized interfaces. |
The interface for rule-based systems (RBS) seemed to find most favor with game developers for server-based games (e.g., MMOGs, MUDs, etc). The others showed a wait-and-see attitude, mostly because many people were unclear what RBS are and what they do. A whitepaper to provide people with basic education is probably in order. One of the points that came up was that the RBS interface specification should support dynamic loading/unloading of rule-sets. For example, the MMOG developers want to hot-swap new rules into an RBS without bringing down the servers. |
BOTTOM LINE |
The perception of the need for game AI interface standards continuously grows among game developers, and we got some great feedback from the roundtable's audience. The coverage of everyone's favorite approach is certainly not possible, but we will try to stepwise expand the number of supported approaches. |
Look for an exciting session at next GDC - we expect to have standards for some interfaces ready until then! |
Last update:
April 14, 2004 by Alexander Nareyek