
Play
Paint a low-poly planet into being, one tile at a time
Oskar Stalberg's Planet lets you brush terrain onto a tiny globe; hand-built tiles snap to your edits via the vertex trick that grew into Townscaper.
A small planet hangs in space with a moon drifting past, forests in green clumps, water pooling in the low spots, snow on the peaks. You pick a brush and paint, and wherever you drag, the terrain rebuilds itself to fit, shorelines meeting cleanly like the world was always meant to be that shape.
Planet is a 2016 browser toy by Oskar Stalberg, made four years before his town builder Townscaper turned this kind of instant, impossible-to-fail building into a hit. The whole thing runs in a tab, free, and five minutes with it teaches more about procedural geometry than most lectures.
The sphere is triangles all the way down
The globe looks round, but it is a geodesic sphere: a ball built entirely out of triangles, each one roughly equilateral. That regularity is the load-bearing fact. Because every triangle is close to the same shape, Stalberg could hand-model one library of terrain tiles that fits anywhere on the planet, with no fear of the curvature warping the seams.
Your brush never places tiles directly. It writes data onto the sphere's vertices: a height, plus a terrain type (grassland, forest, glacier, city). Every tile then looks at the vertices it touches and swaps in the one pre-built module matching that corner situation, this side high, that side low, water lapping two edges. Change a vertex and only the tiles touching it recalculate, which is why edits land instantly.
If you know Marching Cubes, the mesh-from-data trick behind every voxel game, this is its triangular cousin: prisms with six corners instead of cubes with eight, and any height difference of two or more swaps in dedicated cliff modules. Boris the Brave traced the whole system in a teardown of how Planet works, down to the finishing touches: painted-in ambient occlusion, animated water, drifting clouds.
Delivery is charmingly 2016. I checked the page source: it is a Unity WebGL build, hauled in by UnityLoader.js, and it asks your browser for a 700 MB memory heap up front before drawing a single triangle.
Why you cannot make it ugly
Every module was authored by a human, so every combination the system can reach has an artist's taste already baked in. The lookup does the assembly; the beauty was pre-paid. A few careless drags still come out looking designed, and that, not randomness, is the trick. Stalberg proved the vertex-data idea in his earlier toy Brick Block, refined it here on a sphere, and rode it all the way to Townscaper.
Where the path starts
Boris's teardown above is the map to this exact machine. Stalberg's later fame runs through constraint solving, his island game Bad North generates its levels with Wave Function Collapse, and the gentlest introduction to that family I have found is the same author's Wave Function Collapse explainer, which starts at Sudoku and ends at level generation.
More worlds a system grows on its own: cellular automata that hatch swimming creatures.

Next up
The art is an algorithm someone left running