AI Middleware: Getting Into Character, Part 5: Conclusion

AI middleware is a new category of commercial tools for controlling the behavior of NPCs in games. This article, the last in a five-part series, looks back at the four products and compares them.

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: An Animation Control System

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.

DirectIA: An Adaptive Behavior SDK

DirectIA (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:

  • A motivation engine to model the emotions and needs of the agents
  • A behavior engine to mode the agent's decision processes
  • An 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).

DirectIA 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: C++ Base Classes For AI

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
  • Agents - supports behavior carried out by entities
  • Services - 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: Authoring Tool & Run-Time Engine For Complex Behaviors

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
  • Declarations - create symbolic associations to use in definitions
  • Entities - define NPCs and agents and objects in the world
  • Actions - declare behaviors that entities can perform
  • Behaviors - 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 poor decision.
  • Evaluate the product. All of the products discussed in this survey have evaluation versions. Get them, install them, try them and use them.
  • 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.

As 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.

User Decision Support
Binary decision trees
Motivated decision graphs
Finite state machines, neural networks
Finite state machines
Other Services
Auto path generation, pathfinding
Graphics and physics in other modules, auto path generation, pathfinding
Inter-agent communication
Behavior Support
Pre-packaged behaviors
Templated behavior scripts
Pre-packaged behaviors
User developed behaviors
Engine Source Code Availability
User-developed behaviors
User-developed scripts, callback functions
User-developed behaviors, callback functions
User developed behaviors, callback functions
Production Tools
Maya/3ds max plug-ins
Script templates, tuning GUI
AI skeleton code, XML configuration
Visual editor, visual debugger

Table 1. Summary of common features of reviewed AI Middleware Products.

Latest Jobs


Playa Vista, Los Angeles, CA, USA
Senior Level Designer (Zombies)

PlayStation Studios Creative Arts

Petaling Jaya, Selangor, Malaysia
Lead Concept Artist

High Moon Studios

Carlsbad, CA, USA
Technical Designer at High Moon Studios

High Moon Studios

Carlsbad, CA, USA
VFX Artist
More Jobs   


Explore the
Advertise with
Follow us

Game Developer Job Board

Game Developer


Explore the

Game Developer Job Board

Browse open positions across the game industry or recruit new talent for your studio

Advertise with

Game Developer

Engage game professionals and drive sales using an array of Game Developer media solutions to meet your objectives.

Learn More
Follow us


Follow us @gamedevdotcom to stay up-to-date with the latest news & insider information about events & more