Craig Reynolds has always been drawn to patterns in nature. When he was a kid, he had a thing about the trailing shapes of clouds, and the way tree branches sway in the breeze. He watched ants, marveling over their minute comings and goings, the way their tiny labors accumulated in colonies. But nothing was more beautiful to him than flocks of birds, murmuring in great black clouds.
Just the thought of it awed him: thousands of animals, each responding in real-time to one another, precise as clockwork and fluid as the wind. Reynolds eventually studied computer science at MIT—drawn, in the same way, to elegant patterns of code.
In the late 1970s, Reynolds was part of MIT’s Architecture Machines Group, a cohort that would eventually become known as the MIT Media Lab—and which, even back then, was already designing computer graphics, robotics, and human-machine interfaces. At MIT, he started thinking about natural systems again. “How could you do that on a computer? How could you simulate them? What would a model of a flock be like, or an ant colony?” Reynolds remembers.
For his 1978 master’s thesis, Reynolds created a programming language for animation, proposing that it might be used to simulate bird flocks by imitating the “hidden bird algorithm” behind their movements. When he graduated, he brought that idea with him to the West Coast, where he’d landed one of the few jobs available at the time for a “computer graphics weirdo:” making visual effects for the movies, at a video production house, Information International, Inc., in Culver City, California.
At Triple I (as everyone called it) Reynolds earned his first film credits, working as a special effects scene supervisor on movies like Michael Crichton’s plastic surgery slasher Looker and, of course, Tron. He was in the business, but it wasn’t glamorous. “Triple I was literally between death and taxes,” he explains. On one side of the building was an IRS field office, and on the other, the Holy Cross Cemetery, known for its celebrity internments. At Holy Cross, the grassy lawns drew large flocks of blackbirds. “We would often go up there to smoke,” Reynolds admits now, laughing. “We would just drive out to the middle of the cemetery—that was our entertainment.”
It was at Holy Cross, sitting on the lawn with the ghosts of Bing Crosby, John Ford, and Sharon Tate, that Reynolds began to seriously wonder how a flock of birds really worked. Blackbirds flock in the thousands, sometimes even the tens of thousands—the highest flock count ever recorded was 40 million blackbirds in Arkansas. There’s no way a single bird could know the shape of such a large group, Reynolds mused.
Holy Cross was close enough to the 405 for the freeway’s roar to soundtrack his revelation. “I realized that it must be a very different experience to be a member of a flock than to observe it from the outside, like the difference between driving in traffic and standing on a roadside watching traffic whiz by,” he explained in a 1998 interview.
What underlying pattern drove the quicksilver movements of a flock in the sky? To Reynolds, it seemed to be formed by the tension between opposites. On one wing: birds want to stay close to one another. On the other: they don’t want to collide. These are simple rules, simple enough to lay down in code. But it was a long time until Craig Reynolds did anything about it.
It took being invited to teach a workshop at SIGGRAPH—the annual conference of the Special Interest Group on Computer Graphics and Interactive Techniques, a professional organization for visual effects artists, computer scientists, and engineers—for Reynolds to tackle his flocking simulation in earnest.
At first, he’d planned to share an overview on the basic concepts of procedural animation, the kind of programming-based computer animation he’d explored at MIT. “I started to say that if you were able to give an animated character a software brain, and you put the right rules in, and you put a bunch of them in a scene, then maybe flocking would just happen,” he remembers. He’d made the same claim in his master’s thesis, nearly ten years earlier. “It occurred to me that I should stop, year after year, talking about how easy it would be, and either do it—or stop saying that it was easy.”
Reynolds set to work. First he created a white wireframe sky, a volumetric world, and saw that it was good. Then he populated it with flying creatures, triangle-shaped “bird-oid objects,” and those were good too—or good enough.
Finally, he dictated three local rules:
1. Collision Avoidance: avoid collisions with nearby flockmates
2. Velocity Matching: attempt to match velocity with nearby flockmates
3. Flock Centering: attempt to stay close to nearby flockmates
Avoidance, matching, and centering. There were a few finer points—the farther towards the periphery each “boid” drifted, for example, the stronger its pull back towards the center of the flock was. But that was, largely, it.
Reynolds’ boids didn’t model a real population of birds. They didn’t flap their wings, tire, or feel hunger. They were just triangles. But when he ran the simulation on his Symbolics 3600 workstation, they flocked like starlings in a pixel sky. When they encountered an obstacle, they banked around it, or bifurcated like water flowing around a stone. They darted in zig-zags through the white emptiness, as though outsmarting predators lurking in the depths of his hard drive. Their movements were so clearly and undeniably birdlike that anyone who saw them recognized them immediately for what they were. Even now, they have the spark of life in them.
“They weren't pigeons, they weren't eagles, but they were flocking,” Reynolds says. “Whatever the hell they were, they were flocking.”
Nobody in the visual effects business was crying out for a flocking algorithm. Nor was flocking some grand challenge in computer science. Reynolds just thought it might work, and it did. “My career path has been finding research questions that nobody cares about, and following them to where they led,” he says, and laughs. But even Reynolds was surprised to discover where this question ultimately led. Because not long after his presentation at SIGGRAPH, he started getting calls—from biologists.
Over the last three decades, agent-based models like Reynolds’ boids have revolutionized biology. Microbiologists use them to understand how bacteria, archaea, and protists jostle for resources in aquatic environments. Plant biologists use them to model the subtle interactions between trees and to plot the spread of invasive species. Agent-based models help biologists understand how flocks, swarms and schools emerge from the interactions between individual birds, bugs and fish—and help them to make predictions, refine their questions, and test out their hypotheses.
Of course, as the ant scientist Deborah Gordon observes, “biology is not physics.” There will never be a unified model of collective behavior, because living systems are complex; in the real world, every bird is an individual, and senses its surroundings differently. The wind changes; the sun sets. A hawk cleaves the flock of swifts in half.
To quote the statistician George Box, all models are wrong. They can never predict what will really happen in nature—and even if they do, there’s no way of knowing if the outcome they describe could have been achieved in some other way. In the movies, the gap between the model and reality is the place where representation fails; we call it the uncanny valley. In science, it’s something more promising. Everything we still don’t know, or have yet to ask, is in that gap, and it just gets bigger and bigger.
You’ve seen Reynolds’ boids before, in some form or another. They’ve been wildebeests, in a particularly traumatic stampede sequence in 1994’s The Lion King. They’ve been bats, too—in Batman Returns and in the Sylvester Stallone rock-climbing flick Cliffhanger. Reynolds was awarded a technical Oscar in 1998; he spent most of his career at PlayStation modeling autonomous characters. Today he works on simulating the co-evolution of camouflage patterns in nature by setting virtual prey and predator algorithms to devour and hide from one another. Art, as ever, imitates life.
This has nothing to do with anything, but last week I was at the Portland airport. A pianist was set up in the terminal, playing pop classics next to the food court. As I was ordering pizza, a silver-haired woman with rose-colored glasses started dancing by herself to the music. She had a giant teddybear strapped to her backpack. The guy behind the cash register gave me a look. “Dinner and a show,” he said.
I was already in a maudlin mood so I said to him that life can be beautiful, if you’re willing to get free. He nodded. We don’t have much time, he said. My husband and I sat and watched the old hippie dance. Her skirts billowed as she spun in circles to “Candle in the Wind.” I remembered how during my obsession with lucid dreams I’d read that the easiest way to prolong one is to spin around in circles. There’s something about the centripetal motion, even simulated, that tickles the brain and anchors you where you are. I wondered if the same thing was true while waking. And then I thought of dervishes, and the planet spinning on its axis. Of course.
Spinning around and around, like everyone, to keep the dream alive,
xo
Claire
Splendid!
Made me think of Giorgio Parisi's In a flight of starlings, where he describes how his team studied starling murmurations in detail: https://bookshop.org/p/books/in-a-flight-of-starlings-how-nature-unlocks-the-wonders-of-physics-giorgio-parisi/18754900?ean=9780593493151