R. Hoetzlein (c) 2012

UPDATE 2024: See the very latest Flock2 work here!

A flock of starlings is a murmuration, a unique phenomenon in which thousands of birds appear to undulate and fold in waves. Videos of starling murmurations have inspired awe and wonder. Recently, scientific investigation has found that starlings achieve their group flight with incredibly rapid adjustments to avoid collisions and remain with the flock. Murmurations with tens of thousands of birds have been observed. The goal of this project, Flock, was to recreate the dynamics of murmurations as closely as possible.


In 1987, Craig Reynolds developed Boids, an artifical life program that relies on three simple rules to guide the motion of birds in a simulated flock. These rules are:

  • Separation – Steer to avoid crowding others
  • Alignment – Steer to maintain a direction similar to others
  • Cohesion – Steer toward the average position of local flockmates
  • Despite surprising visual results, simple implementations of Boids typically do not appear to have the same complexity as real murmurations. A key observation is that boids describes a set of rules regarding collision and avoidance with neighbors, but does not define how an individual bird is able to make these adjustments.


    For the most realistic results, Flock also introduces the simulation of true flight dynamics. Individual birds cannot instantly change direction, as in boids, but may only control their wings to correct their current flight path. The addition of flight, which includes airspeed, roll, pitch, and yaw, results in complex behavior such as true banking, decreased speed when climbing, and increased speed when diving. When observed, these speed changes give the noticeable feeling of birds as they accelerate or dive. By adding physical limits to individual birds’ wings, this also correctly simulates flight mishaps and overshooting, as the wings are unable to meet extreme goals.

    While flight dynamics increases the simulation realism significantly, the resulting murmurations still appear repetitive and artifical. The final missing component was found to be the behavior of the entire roost. Scientists have known for some time that starlings return at night to roost. However, this concept is not present in Reynold’s neighborhood rules, or in individual flight dynamic. Rather, the notion of a roost applies to the flock as a whole.


    Flock simulates the behavior of starlings at three levels:

  • Individual level – Flight dynamics resolves the motion of a single bird based on gravity, banking and flight.
  • Group level – Reynold’s rules determine rapidly changing collision-response relationships among seven neighboring birds. This level contains Reynold’s three rules.
  • Global level – Roosting rules simulate the high level behavior of the group around nesting or feeding points.
  • Real starlings return to the roosting point at night to keep warm, and during the day they are attracted to other points such as areas with insects for feeding. The global rule level, in addition to these other local and individual rules, results in the Flock simulation above. A roosting rule defines a moving line in space, toward which the flock is gently attracted as a whole. The key idea is that this moving line represents insect swarms for feeding and guides the high level behavior of the leading birds, who in turn guide the flock in cyclic patterns.

    Simulation of roosting provides direction for the lead bird in a flock, while simulation of all three layers lends realistic dynamics to their flight, behavior and group dynamics.

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    2 thoughts on “Flock: Realistic Simulation of Starling Murmurations

    1. Whether Monte Carlo methods or Lagrangian Particle Dynamics can be used for numerical simulation

    2. I am interested in applications of such software. Do you think such software could help produce collective behaviour that is less destructive?

      I have in mind that we drive cars without too many accidents, by following simple rules. Can corresponding rules be agreed for more complex problem areas like policy selection?