Research AI Techniques in Other Games - Halo 2

After watching a brief video by AI in Games called "The Behaviour Tree AI of Halo 2".  In this video they explain how Bungie made the artificial intelligence (AI) in Halo use the narrative of the game to visual show the player how the AI will react to the character.

Using this method the player quickly understands that;
  • Grunts are small creatures that act in a scared manner.
  • Jackals are shifty creatures and act as snipers.
  • Elites are big and aggressive leader type characters
Using this the player can quickly understand how the AI will react to certain events in the world, usually caused by the players actions.

The AI in Halo is controlled by a Behaviour Tree (BT).  Because of this the AI in Halo reacts on what is happening and will traverse the tree asking "what is happening in the world, and what should I do?" and based on the predefined conditions, the agent will perform the appropriate behaviour.

Halo's AI is able to think in context depending on the agent;
  • What type of unit am I? 
    • Grunt
    • Jackal
    • Elite
    • Etc 
  • Am I in a vehicle?
    • Am I the driver?
    • Am I a passenger?
  • Is the player nearby?
Because the AI can think contextually, it is able to lockout and disable parts of the BT so it can focus on the relevant parts to the current situation.  This stops it from worrying about potentially redundant and useless actions that will not make sense and confuse the player questioning why the AI has performed that action.  '

The behaviours are also controlled by a priority system which can shift the weighting depending on what is happening around them.  

Bungie also implemented stimulus behaviours, where the AI is able to impulsively inject certain behaviours depending on what is happening around a particular agent.  An example of this would be if the player is in a vehicle and the agent is not but there is an empty vehicle available nearby a behaviour will be injected instructing the agent to get in and use the vehicle.

Another example of this is used by the grunt units, where if the player kills a commanding officer for example an Elite, then grunts in the vicinity will switch to a flee state, showing their cowardly nature.

If a high priority behaviour is injected then a delay is put into place to stop the system for continuously switching to that state, this stops problems such as an agent bombarding the player with grenades, for example.

Reference List
[1] Champandard, A. (2007). Teaming Up with Halo’s AI: 42 Tricks to Assist Your Game. [online] Aigamedev.com. Available at: http://aigamedev.com/open/review/halo-ai/ [Accessed 9 Oct. 2018].
[2] Isla, D. (2005). GDC 2005 Proceeding: Handling Complexity in the Halo 2 AI. [online] Gamasutra.com. Available at: http://gamasutra.com/view/feature/130663/gdc_2005_proceeding_handling_.php?page=2 [Accessed 9 Oct. 2018].
[3] Thompson, T. (2015). The Behaviour Tree AI of Halo 2.  [online] YouTube. Available at: https://www.youtube.com/watch?v=NU717sd8oUc [Accessed 8 Oct. 2018].