Introduction to Flocking and Behavioral Animation

David S. Ebert

September 2000



Image from Stella and Stanley: Breaking the Ice by Craig Reynolds, 1987.


Image from Eurythmy by Michael Girard and Susan Amkraut, 1989.



Characteristics of Flocking (boid) Behavior

  • Coordinated movement of a medium to large number of entities.

  • May or may not incorporate some physics into their motion.

  • Has some "intelligence": driving force/goals + knowlege of local environment.

  • Each entity (boid) is not completely independent, but interacts with surrounding boids in a small neighborhood.
    • Each boid is aware of itself and a few neighbors
    • Has an area of perception.

  • Local control rules for the individual boids produce an overall movement effect of the flock/herd/school: emergent behavior or individual-based model

  • The boids have collision avoidance rules and steering behaviors
    • Separation - avoid crowding
    • Alignment - steer towards the average flock heading (helps with flock centering)
    • Cohesion - steer to move toward the average position of local flockmates.

Boid Movement

Collision avoidance rules

flock centering - remain part of the flock -- stay close to neighbors

velocity matching - try to match velocity of neighbors

incorporate goals


Boid References

Great starting point: Craig Reynolds Boid's page

See the work by Reynolds

  • Amkraut and Girard

  • Terzopolous, U. Toronto, - fish (see the SIGGRAPH 96 course notes)

  • Jessica Hodgins, CMU - herding robots



Improv project image (S94, S95, S96), NYU


Behavioral Animation : How is it different?

  • More Intelligence / Independence / Autonomous

  • Simulating personality and behavoirs more complex than simple goals and basic reaction to environment. (fuzzy line)

  • Can be individuals, a few, or many participants

  • Often presented in terms of actors or autonomous agents.

  • High-level interface to control of the intelligent characters - design personality, etc.

  • 30% of CPU in many games is devoted to character AI.

  • Simple behavioral animation being added to many games for secondary animation (playing talking, jittering, characteristic idiosyncrasies, etc.).

  • Even extended to the point of just giving actors a script (ala Perlin).


Who's doing work in this area ? - Starting points

Most links courtesy of Craig Reynold's page


Main Page