1.19k likes | 1.3k Views
The following slides were presented at the GDC 2003 roundtable: AI Interface Standards: The Road Ahead Moderated by Alexander Nareyek, Nick Porcino and Mark Kolenski March 8, 2003, 9-11:30am San Carlos II, Hilton, San Jose
E N D
The following slides were presented at the GDC 2003 roundtable: AI Interface Standards: The Road Ahead Moderated by Alexander Nareyek, Nick Porcino and Mark Kolenski March 8, 2003, 9-11:30am San Carlos II, Hilton, San Jose Not all slides were shown because we were running out of time (especially for the groups on Rule-based Systems and Goal-oriented Action Planning).
Notes on the roundtable’s discussions are also added to the slides. These do of course not cover the full discussions. Check the forums (member access only) for more. Please note that not all results of voting alternatives add up to 100% - we did not ask for “undecided” in addition.
AI Interface Standards: The Road Ahead GDC 2003 Following slides prepared by Alexander Nareyek; presented by Alexander Nareyek
http://www.igda.org/committees/ai.php Artificial Intelligence Interface Standards Committee(AIISC) AI Interface Standards Committee
Goals • Provide interfaces for basic AI functionality • Enable code recycling and outsourcing • In the long run: Support for dedicated hardware AI Interface Standards Committee
Committee Composition ~ 70 members: 45% game developers 30% middleware 25% academia AI Interface Standards Committee
Working Groups • Decision Trees • Pathfinding • Steering • Finite State Machines • Rule-based Systems • Goal-oriented Action Planning • World Interfacing AI Interface Standards Committee
Your input today! Schedule • After GDC: report on what we have done so far • Next GDC: presentation of draft documents in a larger setting AI Interface Standards Committee
Outline for Today • Interleaved working group reports and discussions • Presented by Alexander Nareyek (CMU) Nick Porcino (LucasArts) Mark Kolenski (Blue Fang Games) AI Interface Standards Committee
Additional Thanks to: • Ruth Aylett (University of Salford) • Abdennour El Rhalibi (Liverpool John Moores University) • Bjoern Knafla (University of Bielefeld) • Thaddaeus Frogley (King of the Jungle) • Christopher Reed (Raven Software / Activision) • Noel Stephens (Paradigm Entertainment) AI Interface Standards Committee
Session 1:Interface Formats AI Interface Standards Committee
System & AI Architecture Function Library (simple, efficient) Vs. Agent-based (distribution, flexible) AI Interface Standards Committee
How Do We Specify our Standards? • Abstract levels: Ontologies & XML • C/C++ Interfaces • C/C++ Reference Implementation AI Interface Standards Committee
Discussion:Interface Formats AI Interface Standards Committee
(Some) discussion comments: • Function Library vs. Agent-based • Can't go from an agent interface to a function interface, but you can go the other way. Someone made the comment that “agents burn bridges”. • Someone opined and no one contradicted a statement that an agent approach imposes a methodology on games development that may simply not be viable for many products and classes of games. Specifically, if the game design doesn't • match the agent paradigm the W.I. will simply not be used. • Vote: • For primarily function library: 100% • For primarily agent-based: 0% • Interested in an agent wrapper for the function-based approach: ~15%
(Some) discussion comments: • C or C++ • Linking issues from languages such as GOAL or Perl need to be sorted out if C++ is to be viable. • People could make a C++ wrapper if they were so inclined. • Perhaps interfaces could follow the precedent of stdio.h and cstdio and how they live happily together. • Vote: • Pure C: 2 hands • C approach with C++ wrapper: ~25% • Pure C++ interface: ~50%
Session 2:World Interfacing Following slides prepared by Christopher Reed; presented by Nick Porcino AI Interface Standards Committee
Outline • Goals • Definitions (World & AI) • World Services 3A) Senses 3B) Actuators AI Interface Standards Committee
(1) World Interface Goals The objective is to provide an interface between AI and the Game World. We will begin with definitions for each of these concepts. AI Interface Standards Committee
(2) Definition: The World • The game world is everything • Master simulator and arbitrator • Manager of all data (state) • Provider of services AI Interface Standards Committee
(2) Definition: The World • The game world may have: • Static visual and navigable locations (scene) • Dynamic objects (entities) • Autonomous, thinking characters (agents) • Player controlled characters AI Interface Standards Committee
(2) Definition: AI • AI drives the decision making of an autonomous, computer controlled entity (agent) • Selects actions and behaviors • Does not execute these actions • Purely decision making AI Interface Standards Committee
(2) Definition: AI • AI may have: • State • Goals • AI can: • Select activities • Respond to the world AI Interface Standards Committee
(3) Services • As the server, the game world needs to tell AI agents what services it provides to them, and then actually execute those services when requested. AI Interface Standards Committee
(3) Services • In a sense, the interface between the game and the world is seen as a blackboard. • The interface simply provides a place for posting service requests, and makes no demands on how these requests are fulfilled. AI Interface Standards Committee
(3) Services • There are two primary types of services that the world provides to AI: A) Senses B) Actuators AI Interface Standards Committee
(3A) Senses • Sensory information provides an agent with awareness about the game world. AI Interface Standards Committee
(3A) Senses • There are 2 types of sensory services: 1) Events – Concious awareness of things that happen in the world. 2) Queries – All questions that an agent may ask about the world. AI Interface Standards Committee
(3A1) Events • Events happen all the time: Sounds, movements, collisions, and special effects are all examples of events. • Events occur at a time, and may have a short, limited duration. AI Interface Standards Committee
(3A1) Events • Events are game specific. • The interface we present will not attempt to create a library of events, but rather a mechanism for developers to create their own events. AI Interface Standards Committee
(3A1) Events • The game world tells AI what events are available by posting them to the Event Space. AI Interface Standards Committee
(3A1) Events • Agents and AI subsystems place an EventWatch for a given event on the Event Blackboard. • The game world is then required to alert the agent when the event occurs. AI Interface Standards Committee
(3A2) Queries • Queries allow AI to ask questions about the game world. AI Interface Standards Committee
(3A2) Queries • There are several types of questions that an agent may ask: 1) Provide information about an entity: - What is (Bob‘s) (health)? - Is (Joe) (flying)? AI Interface Standards Committee
(3A2) Queries 2) Provide a list of entities that match a given set of properties: - What entities are less than 30 feet away? - What entities are enemies and visible? AI Interface Standards Committee
(3A2) Queries • There may be additional types to test for collisions and visibility, but the format has not been decided. AI Interface Standards Committee
(3B) Actuators • Actuators provide a way for AI to interact with the game world. • Some examples of actuators are Movement, talking, sounds, animations, picking things up, and shooting a weapon. AI Interface Standards Committee
(3B) Actuators • There are two types of actuators: • Actions – short term behavior • Effectors – long term behavior with non constant parameters AI Interface Standards Committee
(3B1) Actions • Actions have a finite and small duration with unchanging parameters. • An example of an action is making a sound. AI Interface Standards Committee
(3B1) Actions • It is the responsibility of the game to make sure that actions are resolved and carried out on behalf of the AI. AI Interface Standards Committee
(3B1) Actions • Actions, like events, are game specific. • The interface we present will not attempt to create a library of actions, but rather a mechanism to create them. AI Interface Standards Committee
(3B1) Actions • The game tells AI what actions and effectors are available by placing them on the action and effector blackboards. AI Interface Standards Committee
(3B1) Actions • Agents are not allowed to instantly execute their desired actions. • Instead, they copy their request for a given action to the blackboard and leave the game to resolve the action. AI Interface Standards Committee
(3B2) Effectors • Whereas Actions have limited or short duration and do not change parameters, effectors can last a long time and are aware of changes in parameters. AI Interface Standards Committee
(3B2) Effectors • An example of an effector is Thrust, a quantity that is constantly changing and adjusting the velocity of an agent. • Another example of an effector is animation. AI Interface Standards Committee
Overview (3A) Senses -(3A1) Events (short) -(3A2) Queries (question) (3B) Actuators -(3B1) Actions (short, static) -(3B2) Effectors (long, dynamic) AI Interface Standards Committee
Discussion:World Interfacing AI Interface Standards Committee
(Some) discussion comments: • Blackboard? Priority Queue? This should not be defined in the interface! Game programmers probably want to bypass all of this and build it themselves. Blackboard might be good as metaphor but should not be chosen as requirement for implementation. • Whatever the communication scheme, searching of information should be minimized. • Maybe, the WI should simply be a registry of callbacks with a filtering mechanism. • The WI should serve the other interfaces (Pathfinding, etc), not the other way around. • What is the “level” of events etc? Might get ugly…
Session 3:Decision Trees Following slides prepared by Mark Kolenski; presented by Mark Kolenski AI Interface Standards Committee
Decision TreesWhat ARE They? • Different disciplines and definitions. • May be probabilistic, dynamic, used in learning, expert systems, philosophy. AI Interface Standards Committee