Rules of the Grid
Cellular automata consist of a grid of cells, each in one of a finite number of states. At each time step, every cell updates simultaneously based on a rule that considers the cell's current state and its immediate neighbors.
function step(grid: boolean[][]) {
const next = grid.map(row => [...row]);
for (let y = 0; y < H; y++)
for (let x = 0; x < W; x++) {
const n = countNeighbors(grid, x, y);
next[y][x] = n === 3 || (grid[y][x] && n === 2);
}
return next;
}Emergent Complexity
From these minimal rules emerge gliders (patterns that translate across the grid), oscillators (patterns that cycle through states), and even self-replicating structures. Conway's Game of Life is actually Turing-complete — capable of universal computation.
Beyond Life
Many rule variants exist beyond B3/S23. Wolfram's elementary automata are 1D systems with 256 possible rules — Rule 30 generates chaos from order, while Rule 110 is Turing-complete. In algorithmic art, custom rule sets are designed to produce specific visual textures and patterns.
