Apps Part of Proofline

Game of Life & Cellular Automata Lab

Run Life-like rules with RLE patterns, find periods and spaceships, or draw elementary rules.

More options

RLE as used by Golly and LifeWiki (b dead, o alive, $ new row, ! end; a number repeats), or rows of . and O. Used with “My pattern”.

Empty: the pattern’s own rule or Conway’s B3/S23. Examples: B36/S23 HighLife, B3678/S34678 Day & Night.

Try an example: · · · · · ·

More about this tool

How it works

Run Conway’s Game of Life or any Life-like rule in B/S notation (HighLife, Day & Night, Seeds …) on an unbounded plane, a torus or a bounded grid. Start from classic patterns (glider, spaceship, pulsar, Gosper gun, R-pentomino, acorn), a seeded random soup, or paste a pattern in RLE or plaintext. The result shows the final generation, the population curve, whether the pattern is a still life, oscillator or spaceship (with period and speed) and the final pattern as RLE. The second mode draws Wolfram’s elementary rules 0–255 as a space-time diagram. Part of the Proofline math notebook.

  • Life-like rules: a dead cell with a neighbour count listed after B is born, a live cell with a count listed after S survives, all others die; the eight Moore neighbours are counted and every cell updates at once. The unbounded plane stores only live cells (a hash set), so gliders can fly away freely.
  • Behaviour: the live cells of every generation, relative to their bounding box (absolute on a torus), are hashed; the first repeat gives the period, and a shift of the bounding box between the two repeats makes the pattern a spaceship with that displacement per period.
  • Elementary rules: the new state of a cell is bit (4·left + 2·centre + right) of the rule number (Wolfram’s numbering).
  • Verified: glider period 4 moving (1, 1); lightweight spaceship period 4 moving 2 cells; Gosper gun gains 5 cells (one glider) every 30 generations; R-pentomino ends with 116 cells at generation 1103 and acorn with 633 after 5206; diehard vanishes at 130; rule 90 rows follow Gould’s sequence; rule 30’s centre column matches OEIS A051023.

Runs stop at 10,000 generations or when the pattern grows too large for one calculation. Bounded grids treat cells beyond the edge as dead, which changes how patterns behave there.

Sources

Part of Proofline

Related tools

Run the Game of Life, Life-like rules and elementary automata

Simulate Conway's Game of Life or any B/S rule from RLE patterns, detect still lifes, oscillators and spaceships, or draw Wolfram's elementary rules 0–255.

What it is for

A cellular automaton updates a grid of cells by a simple local rule, and simple rules can produce gliders, guns, chaos and fractals. This tool runs two kinds.

Life-like automata live on a square grid. A dead cell is born with the neighbour counts after B, and a live cell survives with the counts after S. Conway's Game of Life is B3/S23, HighLife is B36/S23 and Day & Night is B3678/S34678. The world can be an unbounded plane, a torus whose edges wrap around, or a bounded grid. You start from a classic pattern, a seeded random soup or your own pattern in RLE or plaintext, the formats used by Golly and LifeWiki.

Elementary automata are one-dimensional with rules numbered 0–255 after Wolfram. The result is a space-time diagram, one row per step.

The same engine powers the Life playground in the Sim Gallery of Proofline, where you draw cells with the mouse or keyboard and import RLE files.

Worked example

Take the glider for 40 generations. The tool reports a spaceship with period 4 that moves (1, 1) per period, with 5 live cells throughout. The lightweight spaceship moves (−2, 0) every 4 generations, and the pulsar is an oscillator with period 3 and 48 cells.

The R-pentomino starts with 5 cells. Run it for 1103 generations, the point where it is known to settle, and you get exactly 116 live cells, the published final population. The tool still says "no repetition found": six of the remaining objects are gliders flying away, so the whole pattern never repeats. Diehard disappears completely: every cell has died by generation 130.

On a 64 × 48 torus, a random soup with density 0.3 and seed 7 starts with 906 cells and from generation 407 repeats with period 2, with 103 cells left after 500 generations.

In elementary mode, rule 30 from one live cell on 201 cells has 103 live cells in the 100th row, a density of 0.512. Its centre column is the sequence OEIS A051023. Rule 90 draws the Sierpiński triangle: after 128 steps only 2 cells are alive, as Gould's sequence predicts.

How to read the result

Behaviour is one of dies out, still life, oscillator (with Period), spaceship (with Displacement per period) or no repetition found. A repeat is detected when a generation equals an earlier one, shifted on the plane or exactly on a torus or bounded grid. The population chart shows the live cells per generation, and the final pattern comes as RLE text you can download or paste into Golly.

Tips and common mistakes

  • In RLE, b is dead, o is alive, $ ends a row, ! ends the pattern and a number repeats the next symbol. The header line x = …, y = …, rule = … is optional.
  • Leave Rule (Life) empty to use the rule written in the pattern, or B3/S23.
  • Guns and methuselahs that emit gliders never repeat on the unbounded plane; use a torus to see them crash.
  • On a bounded grid, cells outside count as dead, which can change the behaviour near the edges.
  • For elementary rules, Row wraps around (elementary) joins the left and right ends.

FAQ

How large can a pattern get?

Up to 10,000 generations, imported patterns with up to 200,000 live cells, and torus or bounded grids up to 1000 × 1000 cells. On the unbounded plane the pattern may grow freely.

Which rules are supported?

All Life-like rules in B/S notation except those with birth on 0 neighbours (B0). Generations, Larger than Life and hexagonal rules are not included.

Why does rule 110 matter?

Matthew Cook proved that rule 110 is Turing complete, so this simple one-dimensional rule can in principle compute anything.

Can I continue a run in Proofline?

Yes. In a notebook cell, "Continue from the final pattern" adds a new cell that starts where the last one ended.

Guide last updated:

For scripts and AI agents

  • JSON API: POST https://prooflinecellularautomata.usefulweb.app/api/v1/calculate (same calculation as this page)
  • Interface description: OpenAPI 3.1 · AI guide: llms.txt
  • MCP server (Streamable HTTP): https://prooflinecellularautomata.usefulweb.app/mcp · tool name proofline_cellular_automata
Example request
curl -s -X POST https://prooflinecellularautomata.usefulweb.app/api/v1/calculate \
  -H 'content-type: application/json' \
  -d '{"preset":"glider","generations":40}'
Feedback · ideas & bug reports welcome