Starling Murmuration — a Real-Time 3D Simulation at Sunset

Starlings Art is an interactive, GPU-powered simulation of a starling murmuration: tens of thousands of starlings flocking and swirling at sunset over the historic windmills of Kinderdijk in the Netherlands. Watch the murmuration shift and pour across the sky in real time, add or chase the starlings, and read how the simulation recreates the science of how real murmurations move as one.

Dynamic Parameters
BIRD_SIZE: --
SEP_DIST_SQ: --
COH_DIST_SQ: --
COH_WEIGHT: --
MIN_SPEED: --
MAX_SPEED: --
MAX_TURN: --

Just before dusk, tens of thousands of starlings rise as one. They fold and pour across the sky in a single undulating shape: a murmuration. No leader, no plan, and no mistakes. Just meditative, pulsing and swirling elegance - each bird aligning with its closest neighbors, while the flock yet behaves like a single mesmerizing organism. As one, they turn the last light of the day into beautiful aerial dance.

This is a real-time, GPU-driven recreation of that phenomenon, a massive flock of starlings called a murmuration, set over the windmills of Kinderdijk in the Netherlands, a UNESCO landscape of nineteen 18th-century windmills strung along the polder canals. Here, it is imagined by AI as it might have looked before the throngs of tourists: still water, setting sun, and a sky alive with starlings. Sights like this were once ordinary across the Netherlands, and even today great murmurations still gather over Dutch cities like my college city of Utrecht on late autumn evenings, swirling above the rooftops before settling to roost. I used to watch them from my dorm room 20 years ago and now, living far away and in a wave of nostalgia, I decided to recreate their majestic, hypnotizing display.

How does this simulation work?

This simulation can be pretty intense for your phone, especially with larger flocks. Tap the scales to get a more battery-friendly, balanced experience or turn it up and use your phone as a hand-warmer!

Version 0.9.15 build 1
Created by Eric Lammertsma in May 2026.

Coming soon: the Starlings Android app, where you can make this your live wallpaper!

Email [email protected] to become a tester.

The Starlings Art Murmuration

A real-time 3D starling murmuration and the science and sleight-of-hand behind it.

At dusk the sky over Kinderdijk fills with starlings. They lift from the reeds in thousands and gather into a murmuration, a vast, breathing shape that folds, stretches and pours across the last light of the day. There is no conductor and no choreography. Every starling is simply watching its neighbours, and from tens of thousands of tiny, individual decisions something whole and graceful emerges. This is an attempt to bottle that feeling: a living simulation in which each bird thinks only for itself, and the flock doesn't think at all.

Three simple rules

The heart of it is older than the computers that run it. In 1987 Craig Reynolds showed that convincing flocking needs only three rules, applied by every individual to the few neighbours around it. Call them the forces of will or the decisions each starling makes for itself: separation, the urge not to crowd or collide; alignment, the instinct to steer roughly the way the neighbours are steering; and cohesion, the gentle pull back toward the heart of the group. Hold those three in balance and a loose scattering of points becomes a murmuration.

What a starling can actually see

Real starlings, though, are subtler than the textbook flock and a landmark study of genuine murmurations over Rome (the STARFLAG project, Ballerini and colleagues, 2008) revealed how. A starling doesn't respond to every bird within some fixed distance; it tracks a fixed number of nearest neighbours, around seven, however near or far they drift. This "topological" rule is what lets a murmuration tear open around a falcon and knit itself whole again. The simulation follows the same idea, each bird reading a handful of true neighbours rather than a crowd.

It also honours something the classic model ignores: a bird can only act on what it can see. Starlings have eyes set to the sides of the head and a wide blind region directly behind them, so here every bird is given that same field of vision. They have a rear blind cone in which neighbours are simply invisible to it. A starling no longer reacts, impossibly, to a bird tucked behind its own tail.

The forces of nature

Around those decisions plays a second set of forces, namely the world acting upon the birds. Each starling has a minimum and a maximum airspeed and transitions smoothly between them. A momentum rule limits how quickly it may gather speed, and lets it shed speed faster than it builds it, so birds flare to brake and flap harder when they climb or press for pace. Banking is eased into with a roll that grows with the turn, rather than an instant flip onto one wingtip. A slow, drifting field of wind and turbulence breathes through the whole flock, giving the murmuration its restless undulation. And a soft, invisible encouragement to stay in view as a gentle bowl of force that strengthens the further a bird wanders keeps the spectacle on screen without ever bouncing the birds back off a wall.

One image, and the trick of the reeds

The part that fools almost everyone? There is only one image in the entire scene with no foreground layer at all. The reeds you seem to watch the reflections slip behind are not a separate picture sitting in front of the water. Every starling is mirrored beneath the waterline and then blurred — far more vertically than horizontally — so the reflections smear and shimmer downward exactly the way the reeds' own reflections do in the AI-generated photograph. The occlusion is done entirely in code: the reflection paints each bird only where it finds bright, sunlit pixels, identified as the white-yellow-orange glow of the sky on the water, and leaves the dark reed silhouettes bare. So the reeds appear to stand in front of the flock and hide its reflection, when in truth they're all just part of the background.

Light, shadow and depth

A low sun sits far behind the scene, rimming the birds and warming the haze. Deep inside a dense murmuration the light genuinely dims: volumetric shadowing lets the birds in front shade the birds behind, so a thick knot of the flock reads as a darker, heavier mass. This is the same darkened look real murmurations take on when they bunch together. Each bird also casts its own soft drop shadow, distance fades gently into fog, and because the birds block the sky's glow they even interrupt their own reflections on the water below. Although these effects are subtle and mostly noticed at the top and edges of the scene, together it is what sells the illusion that these few thousand points of light are truly wheeling through open air.

Tens to hundreds of thousands, all at once

But how can this be possible on the web? None of this would move if it were computed the ordinary way. Every starling's position and heading lives in a texture on your GPU, and the flocking is solved in parallel, calculating millions of factors across thousands of birds on every frame. This is how the scene can hold a murmuration of up to 262,144 strong and still run smoothly. The flock automatically sizes itself to your device to ensure it runs well and still looks great, and you can take part: sweep through the sky and the starlings scatter from you like a predator, or open the controls to summon more. No two moments ever repeat.

Meditate and watch for a while. Like the real thing, it rewards patience. The longer you look, the more the murmuration seems to be alive.