Steering Behaviours refers to a form of autonomous behaviours applied to agents, which moves them around, typically excluding actual pathfinding, and only using bottom up processes resulting in emergent behaviours. The steering behaviours shown here are based on the work of Craig Reynold in the 1990s, who developed algorithmic steering behaviours for autonomous agents. He demonstrated this on television a few times; he would show a simulation made up of autonomous agents he called 'boids' which would, through the use of simple behaviours, dynamically flock together and move around in unpredictable ways.
An autonomous agent is a system situated within and a part of an enviroment that senses that enviorment and acts on it, over time, in pursuit of its own agenda and so as to effect what it senses in the future.
The key three layers of a steering behaviour system are:
Selection: This is the high level decision making part of the agents behaviour, and involves what it is attempting to do at the moment e.g move to, move away from.
Steering: This is the detail of how to perform the behaviour, how quickily to move to a location and what repelling and attractive forces are being applied.
Locomotion: This is actually the specific mechanics of how the agent physically gets from state to state.
In the standard implementation of steering behaviours, the behaviours are simply added together as forces, resulting in a mixed, emergent behaviour, with sometimes unexpected results. The key behaviours that are used in this program are:
This behaviour moves the agent toward a target, which may be another agent, or a location in the simulation area
This behaviour causes the agent to match the vector of another agent with in a certain distance, thereby flocking with it
This behaviour causes agents to cluster, without following each other
This behaviour causes the agents to be replelled from other agents, giving them a certain amount of distance from each other
This behaviour has the agent milling about, going in random directions