A set of strategies used to direct the movement of AI agents - especially flocks and crowds - by combining vectors from one or more local avoidance/approach rules to obtain a net acceleration in each update, "steering" the agent in response to sometimes overlapping environmental considerations.
Steering behaviors were popularized for game development by Craig Reynolds in a 1999 paper presented at the annual Game Developers Conference, building on his earlier work on flocking.
There he introduced multiple individual steering strategies that each compute a desired acceleration for an agent:
- Offset Pursuit
- Obstacle Avoidance
- Path Following
- Flow Field Following
- Unaligned Collision Avoidance
- Flocking (Boids)
- Leader following
He also showed that these behavioral building blocks can be combined into more complex strategies, by switching discretely between them with hierarchical overrides, by blending them through a weighted sum of their individual output vectors, or through "prioritized dithering" incorporating some randomness.