AI Architecture & Interfaces ...
Hi All
I''m trying to implement a generic AI engine at the moment, for a crowd simulation project I''m doing, but am having problems designed a concrete architecture for the code. I need to have a world class (for visual objects), a agent class to represent the NPC, a brain class (NPC) and a body class to implement sensor/actuator methods, but I am having trouble linking it all.
Should I set the world & AIMgr as singletons, and use them from there, or use a factory class, etc? I''ve looked at a few games'' source code (NOLF, QIII, RTCW, etc), but am still struggling.
Anyone got any ideas, or code snippets?
Ta
Dan
ASAIK very few commercial games use standardized interfaces for AI. An AI Standards Interface Committee was set up a couple of years ago in an attempt to move this forward and a number of committe members are regulars at this forum but I don''t think it''s reached many conclusions.
You can find out more about it here:
http://www.igda.org/ai/ai_committee.php
Also, I believe they did a presentation at the last GDC but you''d have to do a search for the slides.
My Website: ai-junkie.com | My Book: AI Techniques for Game Programming
You can find out more about it here:
http://www.igda.org/ai/ai_committee.php
Also, I believe they did a presentation at the last GDC but you''d have to do a search for the slides.
My Website: ai-junkie.com | My Book: AI Techniques for Game Programming
My Website: ai-junkie.com | My Books: 'Programming Game AI by Example' & 'AI Techniques for Game Programming'
December 02, 2003 06:26 PM
meh id do it like this:
world class -> LinkedList<agent class> agent class -> Pointer <brain> brain class -> Pointer <body> body class
It sounds like you have the AI basic elements in place nicely. All you need now is the software engineering techniques to back it up. Current games are not agent-based, you''re probably better looking into multi-agent system frameworks.
We''ve had a very similar design with FEAR right since the start, and I''m particularly happy with the latest iteration. It''s essentially applying the component model to this design. A factory is the way we connect everything together at the moment at runtime. See these files in CVS. There are of other cool properties of the design -- if i may say so myself
-- but I''ll only go into those if you''re interested.
One quick problem I have is with your terminology. An "agent" is usually one of the elements within the architecture (see MAS literature), so it may be confusing to call the whole thing an agent. Then again, the term is very overloaded anyway!!
Alex
AiGameDev.com
We''ve had a very similar design with FEAR right since the start, and I''m particularly happy with the latest iteration. It''s essentially applying the component model to this design. A factory is the way we connect everything together at the moment at runtime. See these files in CVS. There are of other cool properties of the design -- if i may say so myself

One quick problem I have is with your terminology. An "agent" is usually one of the elements within the architecture (see MAS literature), so it may be confusing to call the whole thing an agent. Then again, the term is very overloaded anyway!!
Alex
AiGameDev.com
Join us in Vienna for the nucl.ai Conference 2015, on July 20-22... Don't miss it!
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement