game suddenly became active) and the application would be visibly affected by this whereby frame rate would drop significantly. This problem never occurred with the FSM system.
The VTune results also indicate the average bytes available to the system throughout program execution. The FSM again out-performs the GOAP system in this regard, the FSM had on average 779,716,480 bytes available while the GOAP system had the lower value of 777,914,432 on average, 1,802,048 bytes or 1.8MB of a difference. This makes sense as the GOAP system allocates memory for the goal manager, the action container, the GOAP planner, the agent GOAP goals, the GOAP actions and the GOAP plans while the FSM system only allocates memory for the FSM states and the FSM machine.
The average number of plans per agent is plotted against the average number of times states changed per agent in figure 16. These were measured during the Domination and Capture the Flag experiments between the two AI systems with squads enabled. The actual checks performed when searching for state transitions are almost the same as the checks performed when determining the goal’s relevancies and checking action’s context preconditions. In general, the same querying of the working memory and blackboard was carried out for state transitions and when planning occurs. As the GOAP system forms far more plans, then this means that similar checks were being run far more often in the GOAP system than the FSM system (especially for the Capture the Flag game). So obviously the GOAP system is going to be less efficient.