Skip to main content

Watch four billion years of humanity in a pixel shader

A long way from making armour shiny

A screenshot of Humanity, a pixel shader, depicting an earth-like planet as seen from space, with half the planet in shadow and city lights visible.

Me, in 2000: ah, so shaders can make textures in Quake 3 look glowy or wibbly. Me, in 2016: oh, okay, so shaders can also be used to create shoals of fish in Abzu. Me, right now: wait, so shaders can also be used to tell the story of a planet over four and a half billions years, from a lump of molten rock to the formation of mountains, rivers, and human cities.

Humanity, an in-browser shader created by David A. Roberts, is worth the four minutes it takes to watch.

If you'd rather, instead of clicking the link above, you can watch the animation with some music on Vimeo:

The animation runs through six main stages in its development of a planet: protoplanet, in which the surface is red hot; the shifting of tectonic plates to establish moutains and oceans; hydraulic erosion, which marks the terrain with rivers; global climate, which depicts the changing of seasons; the distribution of life, including plants, herbivores and predators; and finally humanity, as we construct cities.

Its creator, David A. Roberts, has written a lengthy explanation of how each of these stages are constructed, including the scientific models on which its based and examples of the code used to recreate it within a shader. It's particularly impressive how the different simulations interact: climate follows from the distribution of oceans, and life, including plant growth, responds to climate.

The simulation ends by depicting humanity burning through all available fossil fuels, "resulting in the disappearance of humanity from a significant portion of the planet." Oof.

I'm coming to all of this late. Roberts created the shader back in 2018 and it gained attention online when he wrote the breakdown of how it works last year. He's since written another post breaking down the experience of going "viral".

A shader is just a program designed to run on a GPU and they're typically used to give instructions for how pixels should be drawn on screen. I know that GPUs are powerful enough to do all sorts of things, but still I am knocked down every time a shader is used for something other than making a skeleton glow.

Read this next

Graham Smith avatar
Graham Smith: Rock Paper Shotgun's editorial leader, corporate dad, and breezy evening news writer.
View comments (8)
Related topics

Rock Paper Shotgun is better when you sign in

Sign in and join us on our journey to discover strange and compelling PC games.

A line drawing of a cartoon planet with a smiley face, surrounded by a couple of stars and a ring.