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