What's New
Game of Life has been one of the most popular simulations here since day one. The flat 2D grid version is great, but it has always felt a bit constrained. With this update, cells can now live on the surface of a sphere.
Spherical Game of Life works by tessellating the sphere into a geodesic grid (similar to a Goldberg polyhedron) where every cell has approximately 6 neighbours. The resulting patterns behave differently than the flat grid version — gliders curve around the sphere, and patterns that would normally escape off the edge wrap around.
Building the sphere mode meant solving a problem the original game never has to deal with: a flat grid gives every cell a clean set of 8 neighbours, but a sphere cannot be tiled with a perfectly regular grid — you always end up with a handful of cells that have 5 neighbours instead of 6, the same way a football is stitched from both hexagons and pentagons. We placed these 12 unavoidable five-neighbour cells as far apart as possible, at the vertices of an icosahedron, so no single region of the sphere looks visibly distorted compared to the rest.
The practical effect is that classic patterns behave in unexpected ways once they wrap around the curvature. A glider that would travel in a perfectly straight diagonal line forever on a flat torus will, on a sphere, drift very slightly off its heading every time it crosses one of those five-neighbour cells — over enough generations it traces out a lazy spiral rather than a straight path. Oscillators near the poles, where the grid is most compressed, sometimes destabilise into new patterns nobody has named yet, which is one of our favourite things to watch during testing.
New Rulesets
Conway B3/S23
The original. Born with 3 neighbours, survives with 2 or 3.
Highlife B36/S23
Like Conway but cells also born with 6 neighbours. Produces replicators.
Day & Night B3678/S34678
Dense and sparse regions are symmetric. Looks like lace.
Custom
Toggle any birth/survival count to create your own rule.
Colour-Coded Cell Age
Cells now fade through a gradient based on how long they've been alive. Newly born cells are bright white. Older stable cells are deep blue. This makes it easy to spot active growth fronts and long-lived still lifes at a glance.
The age gradient turned out to be more useful as a diagnostic tool than we expected. Watching a random soup settle, you can now see at a glance which regions have already reached a stable configuration (uniformly deep blue) and which are still churning through transient chaos (a mix of bright and mid-tone cells). Long-running methuselahs — patterns that take hundreds of generations to settle — show up as a visible wavefront of colour spreading outward from the original seed, which makes them much easier to spot in a large grid than scanning for shape alone.
Performance Notes
Supporting three grid topologies (flat torus, bounded flat, and sphere) plus arbitrary custom rulesets meant rewriting the simulation's inner loop. It now uses a typed-array neighbour lookup table computed once per topology change, instead of recalculating neighbour offsets every generation. On a mid-range laptop the grid comfortably runs at 200x200 cells with 60 generations per second, and the sphere mode — despite the extra geometry math for rendering — keeps pace within a few percent of the flat grid.
Play with it at /game-of-life/. Switch to Highlife mode and wait a few hundred generations for the replicators to appear.