Researching Different AI Techniques - Steering Behaviours

Steering behaviours are a way of moving an agent autonomously around the game scene.  Steering behaviours were brought about by Craig Reynolds when he demonstrated his flocking behaviour, which was based on a simple set of rules.  A definition for an autonomous agent given by (Buckland, 2005, p85)
"An autonomous agent is a system situated within and a part of an environment that senses that environment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future."
To get a better understanding of how an autonomous agent works (Reynolds, 1999) explains that you can divide the behaviours into several layers, these layers are;
  • Action Selection
    • Strategy
    • Goals
    • Planning
  • Steering
    • Path determination
  • Locomotion 
    • Animation
    • Articulation
There are different steering behaviours that cause an agent to act in different ways.  The first behaviour I will explain is the seek behaviour.

The seek steering behaviour guides the agent in a direction to the agent's intended target position.  The formula to calculate the velocity as described by Reynolds
desired_velocity = normalise (position - target) * max_speed
steering = desired_velocity - velocity 
The flee steering behaviour is very similar to the seek behaviour except the equation is reversed to cause the agent to move away from the target.

Reference List
[1] Buckland, M. (2005). Programming Game AI by Example. Wordware Pub.
[2] Reynolds, C. (1999). Steering Behaviors For Autonomous Characters. [online] Red3d.com. Available at: https://www.red3d.com/cwr/steer/gdc99/ [Accessed 4 Oct. 2018].