# Game of Life & Cellular Automata Lab > Run Life-like rules with RLE patterns, find periods and spaceships, or draw elementary rules. 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. Part of usefulweb.app (https://usefulweb.app/). Part of [Proofline](https://proofline.usefulweb.app/) (ownerApp: proofline). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://prooflinecellularautomata.usefulweb.app/ (interactive tool at https://prooflinecellularautomata.usefulweb.app/tool) - JSON API: POST https://prooflinecellularautomata.usefulweb.app/api/v1/calculate with a JSON object of inputs (schema: https://prooflinecellularautomata.usefulweb.app/api/v1/tool) - OpenAPI: https://prooflinecellularautomata.usefulweb.app/openapi.json - MCP (Streamable HTTP): https://prooflinecellularautomata.usefulweb.app/mcp - tool `proofline_cellular_automata` ## Inputs - mode (select): Automaton - preset (select): Starting pattern (Life) - pattern (textarea): Pattern (RLE or plaintext) - 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”. - rule (text): Rule (Life) - Empty: the pattern’s own rule or Conway’s B3/S23. Examples: B36/S23 HighLife, B3678/S34678 Day & Night. - boundary (select): World (Life) - gridWidth (integer): Grid width (torus, bounded, random) - gridHeight (integer): Grid height (torus, bounded, random) - generations (integer): Generations (Life) - density (number): Random density - seed (integer): Random seed - ruleNumber (integer): Rule number (elementary) - cells (integer): Cells per row (elementary) - steps (integer): Steps (elementary) - start (select): First row (elementary) - startRow (text): My first row (0 and 1) - wrap (boolean): Row wraps around (elementary) ## Method - 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. ## Limits - 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.