Lenia
Continuous cellular automata — organic patterns from smooth kernels
Conway's Game of Life uses discrete cells and binary states. Lenia generalizes it to continuous space: cells hold real values, kernels use smooth rings of influence, and growth functions respond continuously. The result is soft, organic-looking structures that can pulse, stabilize, and reorganize over time.
Gaussian Ring Kernel
K(r) = exp(-((r/S - m)²) / (2b²)) × (1 - (r/R)⁴)
Concentric ring of influence with smooth falloff
From Discrete to Continuous
Conway's Game of Life has three rules: a cell is born with 3 neighbors, survives with 2-3 neighbors, dies otherwise. Lenia replaces this with continuous mathematics:
A'(x,y) = clamp(A(x,y) + Δt · G(K ∗ A), 0, 1)
G(u) = 2·exp(-((u - μ)²) / (2σ²)) - 1
K(r) = exp(-((r/S - m)²) / (2b²)) · (1 - (r/R)⁴)
The convolution K ∗ A sums the weighted values of neighbors in a ring pattern. The growth function G responds smoothly: values near μ grow, values far from μ shrink. The kernel K is a Gaussian ring — a donut of influence — rather than a discrete neighborhood count.
The Kernel Shape
In Conway's Life, the neighborhood is the 8 cells around a center. In Lenia, the kernel is a continuous function of distance. The standard form uses a Gaussian ring:
K(r) = exp(-((r/R - 0.5)²) / 0.08) × (1 - (r/R)⁴)
The first term creates a Gaussian peak at half the radius — a ring of influence. The second term smoothly suppresses the center and edges. The result is a donut-shaped kernel that sums the values around a cell at increasing distances.
When R = 13, the kernel spans 27 cells. Each cell's influence on its neighbors is weighted by how far they are from the center, with the peak at distance 6.5. This is why patterns in Lenia "feel" organic — everything is soft gradients, not hard edges.
Growth Function
After convolution, the result feeds into a growth function. Conway's Life would be: grow if sum ≈ 3, shrink if sum ≈ 1 or sum ≈ 4. Lenia's continuous version:
G(u) = 2·exp(-((u - μ)²) / (2σ²)) - 1
This is a Gaussian centered at μ, scaled to range from -1 to +1. When the convolution result is close to μ, the growth is positive. When far from μ, growth is negative. The parameter σ controls how tight the growth region is — small values make lenia picky about exact concentrations, larger values allow more variance.
For very small σ, the convolution result must be extremely close to μ for cells to grow. That narrow band creates stability — the pattern finds a local equilibrium that doesn't collapse or explode. This demo uses slightly broader defaults so the field stays more active and less eager to freeze.
Orbium: The Glider
Orbium is Lenia's most famous pattern. In the full Lenia literature it is known for sustained locomotion, but symmetric seeds often collapse into a stationary breathing blob. This demo deliberately breaks that symmetry so the pattern is more likely to crawl, wobble, split, and keep changing shape.
The mechanism here is local self-regulation rather than locomotion. Cells near the edge grow when the surrounding ring has the right concentration; cells outside that band shrink away. The result is a smooth equilibrium shape: not a Game of Life-style glider, but a continuous pattern that finds and maintains a stable envelope through feedback.
Geminium and Beyond
Geminium uses two seeds placed close together. The pattern divides and the two halves drift apart, then each stabilizes into its own Orbium-like glider. This is a simple form of self-replication — one pattern becomes two, each continuing independently.
The parameter space is vast. Different R, μ, and σ values produce rotating patterns, stationary pulsing forms, chaotic noise, and everything in between. The presets just scratch the surface. The sliders let you explore the full continuum between order and chaos.