Cellular Automata 2D

Explore binary Moore-neighbourhood B/S rules: paint cells, compare patterns, step or run.

About this tool

Explore binary cellular automata with eight Moore neighbours. The standard rule is Conway’s Life, B3/S23: a dead cell is born with three live neighbours; a live cell survives with two or three. All cells update simultaneously, and the centre is excluded from its neighbour count. This tool supports B/S rules; it does not provide arbitrary 512-entry Moore or 32-entry von Neumann tables.

Try a pattern. The default blinker alternates between three horizontal and three vertical cells in Life. The block remains still; the glider moves one cell diagonally every four generations when far from boundaries. These properties depend on the selected rule. Other presets use their displayed B/S rule; Coral is B3/S45678. A random start uses the displayed integer seed and live-cell percentage. Restarting with the same dimensions, seed and percentage reproduces the same field.

Steps and boundaries. One generation performs exactly one simultaneous update and pauses playback. Restart pattern restores generation zero; Clear field creates an empty generation-zero field but keeps the selected restart pattern. Wrapped edges form a finite torus. With a dead exterior, cells outside the rectangle are permanently dead; cells on its edge still evolve. A small finite field can change familiar infinite-grid patterns. Empty fields stay empty only if the rule does not contain B0.

Rules and editing. B and S accept any combination of 0–8, including an empty list. Letter case and repeated digits are normalized. Rule edits pause playback; Apply rule, Run or One generation validates and applies them to the current field. The output always identifies the active rule. Preset and boundary changes also pause and preserve the field. Changing dimensions or starting parameters requires a fresh field. Painting pauses playback without advancing the generation counter; choose alive or dead, use Shift/right-click to erase, or set a cell by its zero-based coordinates. Manual edits clear the last-generation birth/death statistics.

View and playback. The whole grid fits its container; its numerical dimensions are independent of screen resolution. Grid lines appear only when cells are large enough. For precise edits on large grids, use the coordinate controls. Mouse-wheel and touch gestures scroll normally until painting is explicitly enabled. Hidden tabs or hidden tool views suspend updates. With reduced motion enabled, Run first prepares a paused field. Requested generations per second use elapsed time, with slower playback under load. Rules containing B0 run at no more than two generations per second to keep full-background transitions slow.

Reference. Golly’s B/S and Moore-neighbourhood rule documentation; David Eppstein’s cellular-automaton rule studies.