After some 16 years of designing and developing AI solutions for many different genres of computer games, I was admittedly skeptical that commercial AI middleware could help the game development process in any significant way. After all, I thought, the AI for every game is unique, and thus requires a craftsman such as myself to design and develop good AI solutions. While that might be true to some degree, this week's survey of AI middleware revealed to me that these tools offer viable game development solutions.
The four previous installments of this week's series focused on the capabilities of each product. Today's concluding installment summarizes these products and offers some thoughts on where you should go next. Admittedly, because this is just a summary, the article does not do justice to these products. So I encourage you to check the web sites of these products and learn more about their specifics.
A Brief Recap
AI.implant is a sophisticated animation and character control engine from BioGraphic Technologies in Montreal, Canada. The most unique aspect of AI.implant is the use of Maya and 3DS Max plug-ins to allow AI to be added to the character during the modeling process. Once a character has been created in Maya/3ds max, the AI.implant plug-in can be used to set animation control for the character, add attributes to the character, set default and initial state values, add sensors and assign behaviors to the character and create decision trees that manage the character's behavior.
Characters can be grouped and coordinated using AI.implant, and default behaviors can be assigned in lieu of complex decision-making. Decisions are made using binary decision trees; a system that supports sophisticated rule-based processing. AI.implant also offers waypoint editing (via the plug-ins) and automatic waypoint-network generation.
(which stands for "Direct Intelligent Adaptation") was
developed by Mathematiques Appliquees S.A. of Paris, France. DirectIA
relies on several built-in engines for processing:
motivation engine to model the emotions and needs of the agents
behavior engine to mode the agent's decision processes
action engine to enable the agent to interact with the game world
- A knowledge engine to organize the agent's understanding of the game world.
DirectIA offers real-time decision and action behavior modeling tools. Within the high-level tools is support for complex agents and reactive agents. The low-level tools offer pathbuilding, hierarchical pathfinding and steering tools (which are currently in beta).
is very agent-centric. Its sophisticated behavior engine relies
on its own built-in functionality tuned via script files to meet
the needs of your agent's decision-making system. Agent communication
and perception can be integrated via user-defined callback routines
accessed from the scripts. The tools decision-making process is
very "state" oriented, and should appeal to developers
who favor the use of finite state machines.
RenderWare AI Middleware (RWAI) was developed by Kynogon, a French company specializing in game AI (the Kynogon Artificial Intelligence Modules, or KAIM), and is packaged as a part of the RenderWare Platform suite of game development tools marketed by Criterion Software of Austin, Texas. The entire RenderWare suite includes modules for handling graphics, audio and physics, but I only looked at the module for AI.
The RWAI SDK focuses on designing and implementing character behavior. RWAI views the objects in the world as entities, in two basic forms: thinking entities (which contain a Brain object) and passive entities (objects that exist in the world and interact with thinking entities). RWAI provides several layers of services:
Decisions - supports the Brain objects of thinking entities
- supports behavior carried out by entities
- provides specialized manager objects useful to entities
- Architecture - provides interface to the game and configuration services
RWAI is a powerful AI Middleware SDK to the game developer, and when used in combination with the other RenderWare Platform components, is a very complete solution for game developers.
SimBionic is a visually oriented tool for defining characters, implementing their decision-making capabilities, and assigning their behaviors. It was developed by Stottler Henke of San Mateo, California.
Like DirectIA, SimBionic is very state-oriented. This means that most control flow is influenced by the state or condition of some object or process. The SimBionic state systems have many components that can be classified as descriptors and declarations:
Descriptors - help to describe objects and attributes
- create symbolic associations to use in definitions
- define NPCs and agents and objects in the world
- declare behaviors that entities can perform
- dynamically determine decisions and actions performed by entities
- Predicates - built-in and user defined access functions
SimBionic provides a sophisticated framework for creating and debugging state systems. The SimBionic Visual Editor makes developing these state systems easy and accessible to level designers and other staff who may not have deep programming skills. Since FSMs are so widely used in game development, SimBionic could be an alternative to custom FSM development.
Wrapping up this review of AI Middleware
In his article "Effective Middleware Evaluation" in the May, 2003 issue of Game Developer magazine, Alex Macris made several valid points about the process of evaluating middleware as a solution to computer game development issues. They were:
Evaluate your needs. Really examine what you want AI middleware
to do in your game. This is the most important step, because not
understanding your game's requirements can lead you to make a
the product. All of the products discussed in this survey have
evaluation versions. Get them, install them, try them and use
- Evaluate the vendor. Candidate vendors should be examined for the level of support that they offer. All the vendors discussed in this survey were available by email and phone and provided adequate documentation.
more games tout AI as a selling point, and if the "not invented
here" syndrome wanes and more third-party middleware is embraced
by developers, then I believe AI middleware can become an important
solution for game developers.
Table 1. Summary of common features of reviewed AI Middleware Products.