It's free to join Gamasutra!|Have a question? Want to know who runs this site? Here you go.|Targeting the game development market with your product or service? Get info on advertising here.||For altering your contact information or changing email subscription preferences.
Registered members can log in here.Back to the home page.

Search articles, jobs, buyers guide, and more.

By Eric Dybsand
Gamasutra
[Author's Bio]
July 25, 2003

Conclusion

Printer Friendly Version
   

 

Change Login/Pwd
Post A Job
Post A Project
Post Resume
Post An Event
Post A Contractor
Post A Product
Write An Article
Get In Art Gallery
Submit News

 


 


[Submit Letter]

[View All...]
  



Upcoming Events:
Develop Conference
Brighton, United Kingdom
07.14.09

Casual Connect Seattle 2009
Seattle, United States
07.21.09

CGAMES USA 09
Lousiville , United States
07.29.09

Independent Game Conference West (IGC WEST),
, United States
08.06.09

Game Developers ConferenceŽ Europe
Cologne, Germany
08.17.09

[Submit Event]
[View All...]

 


[Enter Forums...]

Note: Discussion forums for Gamasutra are hosted by the IGDA, which is free to join.
 

 

 


Features

AI Middleware: Getting into Character
Conclusion

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.


Product
Feature
AI.implant
DirectIA
RWAI
SimBionic
User Decision Support
Binary decision trees
Motivated decision graphs
Finite state machines, neural networks
Finite state machines
Other Services
Auto path generation, pathfinding
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
Some
No
Yes
Some
Extensibility
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.


______________________________________________________


join | contact us | advertise | write | my profile
news | features | companies | jobs | resumes | education | product guide | projects | store



Copyright © 2003 CMP Media LLC

privacy policy
| terms of service