o p p o s i t i o n f l a g a n d r e t u r n i t t o b a s e . T h i s g a m e m o d e r e a l l y h i g h l i g h t e d t h e G O A P s y s t e m ’ flexibility. Several of the FSM states needed to be entirely re-written as the state transition logic was completely different. Only two new goals and four new actions were created for the GOAP system and it then functioned just fine. An extra XML file was again created to indicate which goals and actions the agent was allowed. A new squad manager and squad system was devised for this game mode and provides the same orders to both the GOAP and FSM systems. s
See Appendix C for a description of the game application developed for this project.
5.2 Experimental Plan
The testing for this project involved recording data from pitching the different types of AI against one another in the different game modes. Each test involved ten AI agents and every agent was controlled by either GOAP or FSM. If the game mode was a team based game (i.e. Domination or Capture the Flag) then five agents of the same AI type were placed on the same team and an option was provided to enable squad tactics for that team. The number of kills racked up by each agent and team was noted along with how many times each agent dies. This was the primary type of test data that was collected from the Deathmatch and the Last Man Standing game modes. For the Domination and Capture the Flag game modes, the number of kills was stored but also recorded was how many points each AI team scores. As the AI can be coordinated using the squad manager into squads, the average distance between team members was also recorded.
Technical information about the two systems was also recorded for comparison purposes. Intel’s VTune tool is a software profiler which plugs into Visual Studio 2005 and can measure the CPU usage, memory allocation and bottlenecks in an application and was used to gather technical data. Two teams of the same AI type were run against one another in a Deathmatch game for twenty-five minutes and the VTune data along with average frames