satisfied (e.g. the weaponLoaded world state symbol must be set to true in the agent’s current world state before the Attack action can be chosen by the planner). However it is often the case that extra checks may be required that can’t be performed by the symbolic preconditions. The F.E.A.R. system used context preconditions to perform these checks where each action can query the subsystems and run validity checks to see if the action can be eliminated from the planning process or not. There are two benefits in using context preconditions. It improves efficiency by reducing the number of potential candidates when searching for viable actions during planning and it extends the functionality of the actions beyond simple Boolean world state symbols.
The hashing of actions by their effects involves storing a list of all actions that have an effect for a specific world state symbol in a lookup table. If the planner needs to find actions that will solve a world state symbol, it can look at all the actions for that symbol in the hash table without having to build a new list every time.
The heuristic value used in the A* search is the number of different world state symbols between the agent’s current world state and goal world state. This means that actions which bring the current and goal states further away from each other (i.e. more symbols different between the current and goal states than before action execution) are given a higher heuristic value and thus receive a higher ‘f’ value for their insertion to the open list during the A* search.
The International Game Developers Association (IGDA) has a working group on Goal Oriented Action Planning whose task is to create an interface standard specification for real-time GOAP in games (Long et al., 2003), (Nareyek et al., 2005).The working group is still in its infancy and more work needs to be completed before the group can recommend a full standard specification to industry however. In the IGDA’s AIISC 2004 report (Orkin et al., 2004), a requirements specification for GOAP goals and actions is detailed. Although