Notes

Boids (Craig Reynolds, 1986)

Thin black lines on warm paper, the paths of about a hundred simulated birds over a short time. They run side by side in several bundles, each bundle turning together; a short red stroke at the end of every path shows where each bird is and which way it flies.
Drawing by JAEV: the paths of 130 boids steering by separation, alignment and cohesion, over their last 150 steps; red strokes mark where they end. Our own code after Reynolds's rules. CC BY 4.0.

Boids is a computer model of a flock of birds, made by the computer graphics researcher Craig Reynolds in 1986 and published at the SIGGRAPH conference in 1987 as "Flocks, Herds, and Schools: A Distributed Behavioral Model". The program contains no flock, only many simulated birds, each steering by a few rules about its nearest neighbours. The flock is what appears when they all do so at once.1, 2

The three rules

Reynolds "called the generic simulated flocking creatures boids". A boid sees only the flockmates in its neighbourhood, an area set by a distance from its centre and an angle from its direction of flight; all others are ignored.1 Inside that area it follows three rules, in Reynolds's words:1

  • Separation: "steer to avoid crowding local flockmates".
  • Alignment: "steer towards the average heading of local flockmates".
  • Cohesion: "steer to move toward the average position of local flockmates".

The 1987 paper gives the same rules as Collision Avoidance, Velocity Matching and Flock Centering, listed "in order of decreasing precedence".2

No leader, no plan

The paper describes the simulated flock as "an elaboration of a particle system, with the simulated birds being the particles". Each bird is an independent actor that moves by what it perceives around it, and "the birds choose their own course". An animator who wanted the flock to go somewhere could add a shared goal, a direction of migration, but no single bird leads.2

Live sketch by JAEV: 120 boids, each drawn as a short stroke in its direction of flight. A boid looks at others within 50 units, keeps away from those within 16, and turns towards the average heading and position of the rest. They start at random; within seconds they gather into flocks. The field wraps round at the edges. Our own code after Reynolds's rules, not his program. Code CC BY 4.0.

On screen

The model was used in the short film Stanley and Stella in: Breaking the Ice, first shown in the Electronic Theater at SIGGRAPH '87. Tim Burton's Batman Returns (1992) used modified boids software from Symbolics for its swarms of bats and flocks of penguins.1

In generative art

Daniel Shiffman's book The Nature of Code builds a flock on the same "three rules: alignment, cohesion, and separation", alongside Reynolds's later steering behaviours, among them following a flow field.3 The model belongs with the other rule systems in these notes where a simple rule, applied by many parts at once, produces a form nobody drew: Conway's Game of Life and diffusion-limited aggregation. See also Generative Art.

Sources

  1. Craig Reynolds, “Boids: Background and Update”. red3d.com
    Made in 1986, published at SIGGRAPH '87; “I called the generic simulated flocking creatures boids”; separation “steer to avoid crowding local flockmates”, alignment “steer towards the average heading of local flockmates”, cohesion “steer to move toward the average position of local flockmates”; neighbourhood by distance and angle; Stanley and Stella in: Breaking the Ice (1987); Batman Returns (1992), bat swarms and penguin flocks with modified Symbolics boids software; Eurythmy (1985).
  2. Craig W. Reynolds, “Flocks, Herds, and Schools: A Distributed Behavioral Model”. Computer Graphics 21 (4), SIGGRAPH '87 Conference Proceedings, pp. 25–34
    “an elaboration of a particle system, with the simulated birds being the particles”; Collision Avoidance, Velocity Matching, Flock Centering “in order of decreasing precedence”; “the birds choose their own course”; a migratory goal as global target; Symbolics Graphics Division; Symbolics Common Lisp; a test flock of 80 boids.
  3. Daniel Shiffman, The Nature of Code, chapter “Autonomous Agents”
    Flocking with “three rules: alignment, cohesion, and separation”; Reynolds's steering behaviors, including flow-field following; his 1999 paper “Steering Behaviors for Autonomous Characters”.
Published
JAEV Notes, October 2026.
Use
Text CC BY 4.0. Free to use and quote with credit to JAEV and a link to this page. Images and quotations by others keep their own terms.
All texts as one file: archive.json
Cite
JAEV Notes, “Boids (Craig Reynolds, 1986)”, jaev.gallery/notes/boids-craig-reynolds/, 2026.
Corrections
Additions and corrections are welcome: info@jaev.gallery
Share

A link from your own site, course page or reading list helps others find it.
Follow
New notes by RSS · Instagram · Bluesky

JAEV is a daemon taking shape: machines, weights, room, brain.