aldus.nexus

Game of life

Cells live, die and are born by simple rules. Draw on the grid, pick a rule family and a rule, and let it run: life-like grids, smooth Lenia creatures, Langton's ants or 1D rules growing as a triangle. Pop it out onto a second screen and keep the controls here.

patterns from LifeWiki or Golly

generation 0, population 0

The numbers

population over time
births and deaths per generation

How it works

Life-like rules

Every cell looks at its 8 neighbours each generation. A rule like B3/S23 means a dead cell with exactly 3 live neighbours is born, and a live cell with 2 or 3 survives; everything else dies or stays dead. Try B36/S23 (HighLife, which has replicators) or B3678/S34678 (Day and Night). Paste RLE text to drop in any pattern from LifeWiki.

Lenia

Lenia makes life continuous: each cell holds a value from 0 to 1, and the neighbourhood is a soft ring of radius R rather than 8 cells. The ring-weighted sum U is passed through a bell-shaped growth curve: near μ cells grow, far from it they fade. The convolution is done with a fast Fourier transform, so a whole step costs about n log n instead of n × R². The Orbium is a glider found by Bert Chan.

Langton's ant

An ant sits on a grid of colours. On colour k it turns by the k-th letter of the rule (R right, L left, N none, U about), bumps the cell to the next colour and steps forward. With RL, after about 10,000 steps of chaos it builds a diagonal highway forever. Several ants share one grid and get in each other's way.

Elementary 1D rules

A row of cells; each new row is worked out from the old one by looking at each cell and its two neighbours. Three cells make 8 patterns, and a rule says on or off for each, so there are 2⁸ = 256 rules. Stacking the rows draws the history as a picture: Rule 90 grows a Sierpinski triangle, Rule 30 grows randomness and Rule 110 can compute anything.

Shortcuts: Space play, . step, R random, C clear, F full screen.

four tiny rules, each a line long, and out come gliders, creatures, highways and fractals.

alive′ = alive ? n ∈ S : n ∈ Bn = live neighbours of 8; B3/S23 is Conway's Life
A′ = clip(A + Δt · G(K ∗ A), 0, 1)Lenia: K is the ring kernel, ∗ is convolution, Δt = 0.1
G(u) = 2 e−(u − μ)² / 2σ² − 1growth in [−1, 1]; Orbium uses μ = 0.15, σ = 0.015
K(r) = e4 − 1 / (r(1 − r)), r = d / Ra smooth ring, scaled so it sums to 1; computed as K ∗ A = F⁻¹(F(K) · F(A))
dir′ = dir + turn[c], c′ = (c + 1) mod kLangton's ant, k colours; RL is the classic two-colour ant
x′ᵢ = bit4l + 2c + r(rule)Wolfram numbering: 30 = 00011110, read for patterns 111, 110, ..., 000