A dedicated exhibit

Conway's Game of Life, full page, yours to draw in.

The classic B3/S23 rule — the one our own automaton descends from — given its own room to draw in. The living background all over this site runs our own rule, B37/S2378, which we found by searching every life-like rule for one that never stops working; here is the ancestor it grew out of, so you can compare. Click or drag to toggle cells, drop a classic pattern, press play, and watch it actually evolve at whatever speed you set. Real computation, running in your browser right now — not a recording, not a GIF.

In the spirit of copy.sh/life, one of the best-known Game of Life playgrounds on the web — this is our own version, built from scratch for this site, not a copy of its code.

Controls

Generation 0 Population 0
Patterns — select one, then click the canvas to place it:
What the grid has settled into measured live, in this browser — every claim below states how many generations it was legitimate to watch for, and why

Nothing measurable yet. Objects only count once they are far enough from everything else that their behaviour is their own — press Play and let the grid settle.

    The shared catalogue

    Every measurement below was taken on the server: a browser sends the pattern it found, never the number it computed, and the server re-runs the automaton itself. So each row can be reproduced by anyone from the pattern alone — and none of it records who found it, or when, or from where. The cloud holds what was found; your browser holds that you saw it.

    “Under review” means one thing only: the measurement is not in our reference table of 16 objects (and extinction). It does not mean it is unknown. Conway’s Life has been catalogued for more than half a century and almost anything small has a name already — we would rather you told us which one than have us claim a discovery. If you recognise something here, tell us and it goes into the table.

    Loading…

    Click or drag on the grid to toggle cells by hand, or tab to it and use the arrow keys plus Enter/Space. Select a pattern above, then click (or press Enter/Space) to stamp it at that spot. Edges wrap around (a torus) — nothing dies just for reaching the border. Starts paused with a Gosper glider gun already placed; press Play to watch it fire.

    ?

    Math: B3/S23 — a dead cell with exactly 3 live neighbours becomes alive, a live cell with 2 or 3 live neighbours survives, everything else dies or stays dead. That single rule, applied to every cell every generation, is the entire system; nothing else is going on. Dev: a step function verified against the classic glider, blinker, toad, beacon, and a period-3 pulsar returning exactly to itself; the passive background texture elsewhere on this site runs our own rule B37/S2378 instead, which this classic is the ancestor of. Given a real UI: draw, step, play, and a small library of named patterns whose behaviour (oscillation period, glider translation, the gun's glider output) was checked in isolated Node before this page shipped, not assumed from memory.

    Measured, not decorated

    Two rules, one soup: the census behind the site’s automaton

    The rule that runs in this site’s background, B37/S2378, was picked by exhaustive search; nobody had taken its census. So we did, with one script and Conway’s B3/S23 as the control: every one of the 51,472 seeds whose bounding box is exactly 4×4 (the other 14,063 non-empty patterns of the box are translates of smaller seeds), evolved alone on the plane for 100 generations and classified by recurrence up to translation, and the seeds that had not settled were followed much further. The figure re-runs the soup part here, in your browser, from one random soup shared by both rules.

    Same 128×128 torus, same soup at density 0.30, the two rules stepped side by side. The dashed lines are the census asymptotes over 40 soups (mean of generations 500–600): 0.122 for B37/S2378 against 0.052 for Conway. The house rule sustains 2.3× the population from the same start; the readout says how far this one soup lands from those means.

    The 4×4 census, one script, two rules
    B37/S2378 (this site)B3/S23 (Conway)
    Distinct objects reached9681
    Oscillator periods present2, 3, 10, 322, 3
    Seeds that die out15,33515,492
    Seeds unsettled at 100 generations11,7609,284
    Of a regular sample of those, still growing at 1,000 / 1,500 generations338 of 4716 of 465
    Followed to 5,000 / 20,000 generations, escaping gliders removed8 of 10 still growing (2 bounded); population ∝ tα, α from 1.73 to 2.12, median 1.856 of 6 settle (the last by generation 4,100)
    Soup density, asymptote0.1220.052

    The two objects that separate the rules, running. Each is drawn from its own cells (in the accent colour) with a ring on every cell where B37/S2378 and B3/S23 disagree about the next generation, and with what Conway’s rule makes of the same starting pattern drifting faintly behind. Both periods are also proved in Lean 4 by evaluation in the kernel, with no assumptions: this figure is that statement, moving.

    Read together: the oscillators of periods 10 and 32 that only the house rule has (its 7- and 8-neighbour clauses are used during their cycles) do not come out of a Conway census either; under Conway every unsettled 4×4 seed was a methuselah that settled, while under B37/S2378 most of them grow as an area — a chaotic disc that expands at a fixed fraction of the speed of light and whose interior density is the soup asymptote above. The scripts, the JSON they wrote and the findings are in the research registry, problem automaton.