This document is about: QUANTUM 2
SWITCH TO

AI

Overview

The FPS Template offers two systems to run an entity's AI in the form of Hierarchical Finite State Machine (HFSM) and generate input:

  • AISystem; and,
  • ExtendedAISystem.

This page will be presenting an overview of each system. For a detailed explanation on how the AI features included in the FPS Template, please refer to the AI section.

AISystem

The AISystem is an example of the most basic system required to run an AI entity in the FPS Template. This includes running the HFSM in its Update() as well as implementing the ISignalInitializeEntity and ISignalDeinitializeEntity signals to intialize and deintialize these types of entities.

ai system
AI System.

AISystem is included in the FPS Template for module completness but is not used in the framework. To use AISystem instead of the ExtendedAISystem, simply swap the systems out in SystemSetup.cs.

ExtendedAISystem

To achieve more advanced and FPS specific AI, the FPS Template uses ExtendedAISystem. This system contains several additional functionalities:

  • ISignalOnNavMeshWaypointReached to react to the NavMeshAgent;
  • ISignalOnHit and ISignalWeaponFired to react things affecting the agent's health and damage.
extended ai system
Extended AI System.

AI agents navigate using the NavMeshAgent, have a simple Memory, use Sensors and support AIAnimationStates for special movement. For more information on these features, please refer to their respective chapters in the AI section.

Back to top