gizmobench
BrowseDaily

Game of Life Lab

Draw live cells, stamp a pattern and run Conway’s Game of Life one generation at a time or in the background. Choose finite or wrapped edges, watch the population, and save your grid as RLE or a project.

Generation0
Population5
Grid40 × 30

Finite edges · B3/S23 · Target 8 generations / second

Use the coordinate controls to edit cells if the canvas is not available.
Simulation settings

B3/S23: a dead cell is born with exactly three live neighbors; a live cell survives with two or three. Speed is a target and may be lower on large grids. Pause to edit.

Drawing and keyboard help

Click or drag to draw; stamps apply once per click. Keyboard: focus the canvas, move the orange cursor with arrow keys, then press Space or Enter to apply the selected tool. Coordinates below offer precise access to every cell. Scroll the frame for larger grids.

Cell 19, 14: dead.

Resize and clear grid

Resizing replaces the current grid with dead cells and resets the generation count. Export a project first to keep your work.

Import RLE or project

Import replaces the current grid and pauses simulation. RLE preserves its declared dimensions and starts at generation zero with your current boundary. Projects also restore boundary and generation. Limit: 1 MiB.

Pause to export the exact displayed generation. PNG exports cell colors without the cursor or grid lines. Editing cells starts a new generation-zero grid.

Exact cellular rules for the chosen boundary; no imported third-party pattern collection. All processing stays in this browser. Grids are not automatically saved; download a project before leaving or reloading.

Common questions

What is Conway’s Game of Life?
It is a two-dimensional cellular automaton associated with John Horton Conway. You choose the starting live cells, then the same birth and survival rules update the whole grid. There are no player turns after that setup; this lab lets you pause, edit and inspect the generations.
What are the Game of Life rules?
This lab uses B3/S23. A dead cell becomes alive with exactly three live neighbors. A live cell survives with two or three live neighbors and otherwise dies. All cells update simultaneously, counting eight neighboring positions.
What is the difference between finite and wrapped boundaries?
Finite mode treats positions outside the grid as dead. Wrapped mode connects opposite edges to form a torus. On grids narrower or shorter than three cells, multiple neighboring positions may map to the same cell; each position is counted separately.
How can I draw patterns without a mouse?
Focus the canvas, move the orange cursor with the arrow keys, and press Space or Enter to apply the selected paint, erase or stamp tool. You can also enter a one-based row and column and choose Apply tool at cursor. Pause the simulation before editing.
Which patterns are included?
The lab includes directly specified block, blinker, glider and Gosper glider gun arrangements. A block stays fixed, a blinker repeats after two generations, and a glider shifts diagonally after four when boundaries do not interfere. The gun starts with 36 live cells in a 36 by 9 area and emits a glider every 30 generations in empty surroundings. Choose its stamp, set the cursor near the top left so the whole pattern fits, then Apply tool at cursor. Finite edges can destroy outgoing gliders; wrapped edges can bring them back into the gun. No third-party pattern collection is bundled.
What RLE files can I import?
Use a standard x/y header with optional B3/S23 or 23/3 rule, followed by b, o, dollar-sign row breaks and an exclamation-mark terminator. Runs use positive integer counts. Comment lines are ignored, including position metadata. Other rules, malformed runs and cells outside the declared dimensions are rejected. Maximum dimensions are 512 by 512 and the file limit is 1 MiB.
What do the export formats preserve?
RLE preserves the current live cells and full grid dimensions, but not boundary or generation. A JSON project preserves those settings too and can be imported here. PNG captures cell colors without grid lines or the cursor. Pause before exporting so the file matches the displayed generation.
Does the simulation save itself or run at an exact speed?
No automatic save is made. Download a project before leaving or reloading. Simulation runs in a local background worker; speed is a target and can be lower on large grids. Canvas dimensions are capped at 2,048 pixels per side, reducing cell size when necessary. Editing, resizing or changing the boundary resets the generation count.

Exact cellular rules for the chosen boundary; no imported third-party pattern collection.