as one of the main features of the GOAP system. For example, if an agent is attacking an enemy and it discovers its current weapon is out of ammunition, instead of checking the relevancy of each goal once more, the same goal is planned towards and another way of satisfying it is discovered by changing weapon, going searching for ammunition or performing a melee attack.
FSMs and GOAP are briefly analysed but only on the basis of how the decision making process of each is carried out; Orkin states that FSMs are procedural while planning is declarative. Three general benefits a planning system offers to AI programmers are outlined which are the decoupling of goals and actions, dynamic problem solving and layering of behaviours.
Finally, Orkin describes how squad behaviour was integrated alongside GOAP in F.E.A.R.. Squad behaviour relies for the most part on the individual GOAP system of the agent. Orders, which simply prioritise certain goals, are issued to the individual GOAP agents and they can decide whether to obey these orders or not. If another goal has higher priority than the one that satisfies the squad command, then it gets chosen and the squad command doesn’t get carried out. Complex squad behaviour actually arose due to the dynamic interplay between the squad decision making system and the individual decision making. An ad-hoc approach to squad behaviour was implemented in F.E.A.R. but Hierarchical Task Networks (HTNs) are suggested for squad planning in the future.
Munóz-Avila’s paper in which HTNs are explored as a means of encoding strategic game AI (Munóz-Avila and Lee-Urban, 2005) was quite influential on what type of game was chosen to be created for the dissertation and what tests would be run between the FSMs and GOAP systems. The article outlines a project undertaken that uses HTNs to extend GOAP to strategically control agents or bots in a game called Unreal Tournament 2005 (UT2005). The project ‘modded’ UT2005 using Javabots which involved taking the existing