HomeArticlesMathematics

3D Cellular Automata: Voxel Life and Volumetric Rules

Conway's Game of Life lives on a flat grid, but nothing in the mathematics restricts cellular automata to two dimensions. Replace pixels with voxels and the same birth/survival logic produces coral-like growths and slowly breathing spheres of light.

mysimulator teamUpdated July 2026≈ 9 min read▶ Open the simulation

The cubic lattice and 3D neighbourhoods

A 3D cellular automaton replaces the 2D grid with a cubic lattice of voxels, each holding a binary state. Every voxel updates simultaneously based on the states of the voxels surrounding it — the same local-rule principle as 2D, with one more axis of neighbours. The Von Neumann neighbourhood (3D) is the 6 face-adjacent voxels; the Moore neighbourhood (3D) is all 26 surrounding voxels in the 3×3×3 cube minus the centre (3³ − 1 = 26), the direct analogue of 2D Life's 8-neighbour Moore neighbourhood and the one used by almost all popular "3D Life" rules.

N(x,y,z) = {(x+dx,y+dy,z+dz) : dx,dy,dz ∈ {-1,0,1}, (dx,dy,dz) ≠ (0,0,0)}
|N| = 3³ − 1 = 26 neighbours   // vs. 8 in 2-D Moore

The jump from 8 to 26 neighbours is the single most important fact about 3D CA: rules copied verbatim from 2D, like B3/S23, produce a lattice that is either permanently empty or fills solid almost immediately, because a 3-neighbour birth threshold is far too easy to satisfy in a 26-neighbour space — every 3D rule needs its own re-tuned thresholds.

Rule notation and famous rules

3D rules use the same B/S (birth/survival) convention as 2D Life-like automata, extended to the 0-26 range of possible neighbour counts. 4555 (B5/S45), discovered by Carter Bays in the 1980s, is the most widely cited: a dead voxel is born with exactly 5 live neighbours, a live voxel survives with 4 or 5, and seeded with a small random cluster it grows into stable, coral-like or crystalline formations that stop expanding once they reach equilibrium. Amoeba (B5678/S45678) uses wide birth and survival bands to produce blob-like masses that pulse and extend pseudopod-like protrusions. Pyroclastic uses very wide bands to generate dense, roiling volumes that expand rapidly before settling into cloud-like static structures — demonstrating how, unlike 2D where wide bands almost always mean total death or total fill, the extra dimension gives room for complex internal cavities and shells.

live demo · a voxel colony evolving under birth/survival rules● LIVE

Why 3D rules feel calmer than 2D ones

With 26 possible neighbours instead of 8, the birth/survival thresholds that produce "interesting" 2D behaviour correspond to a vanishingly narrow sliver of 3D rule-space. Most named 3D rules deliberately favour stability over chaos, because unbounded growth in 3D fills volume, not just area — an exploding pattern consumes O(n³) cells per generation instead of O(n²), so runaway rules become computationally and visually overwhelming far faster. Small birth sets and tight survival bands like 4555 tend to produce stable, coral-like structures that stop growing, while wider survival bands tend toward runaway growth and narrower ones toward extinction — the interesting region of rule-space is a thin band, much like Wolfram's edge-of-chaos boundary for elementary CA.

Sparse storage and rendering

A dense 3D boolean array of side N costs O(N³) memory — a modest 256³ grid is already 16.7 million cells, and most 3D CA states are sparse. Two data structures dominate practical implementations: a hash set of live coordinates, packing (x,y,z) triples into a single integer key for O(1) lookup; or a sparse voxel octree, recursively subdividing space and collapsing empty subtrees, the same structure used in ray-traced voxel renderers and Minecraft-style chunk storage. For visuals, Three.js instanced rendering draws thousands of live voxels in a single draw call via InstancedMesh, while the marching cubes algorithm (Lorensen & Cline, 1987) extracts a smooth continuous isosurface from the voxel field for organic, biological-looking shells rather than blocky cubes.

Applications: growth, terrain and art

3D CA are a natural fit for modelling diffusion-limited aggregation, coral and mineral growth, and tumour proliferation — the shape emerges from the local update alone. Voxel game engines commonly seed a 3D grid with random noise and run a few CA passes with a smoothing rule (roughly "solid if ≥13 of 26 neighbours are solid") to erode sharp noise into smooth cave systems and overhangs, a direct 3D extension of the 2D technique long used for roguelike dungeon generation. And because states render naturally as translucent, colour-mapped voxel fields, 3D CA are a popular substrate for generative art and real-time, audio-reactive music visualisation.

Frequently asked questions

Why can't 2D Game of Life rules like B3/S23 just be copied into 3D?

Because the neighbour count space is completely different. A 2D Moore neighbourhood has 8 neighbours, but a 3D Moore neighbourhood has 3³ − 1 = 26. A birth threshold of exactly 3 neighbours, tuned for an 8-neighbour space, is far too easy to satisfy in a 26-neighbour space — copied verbatim, the rule produces a lattice that is either permanently empty or fills solid almost immediately, so 3D rules need their own re-tuned birth/survival thresholds.

What is the 4555 rule and why is it the most cited 3D cellular automaton?

4555 (B5/S45) was discovered by Carter Bays in the 1980s during a systematic search for 3D analogues of Life: a dead voxel is born with exactly 5 live neighbours, and a live voxel survives with 4 or 5. Seeded with a small random cluster, it reliably grows into stable, coral-like or crystalline formations that stop expanding once they reach equilibrium, making it the most predictable and widely studied 3D CA rule.

Why do 3D cellular automata favour stability over the chaotic behaviour common in 2D?

With 26 possible neighbours instead of 8, the narrow slice of birth/survival thresholds that produces "interesting" 2D behaviour corresponds to a vanishingly small sliver of 3D rule-space, so most named 3D rules deliberately favour stability. It also matters computationally: unbounded growth in 3D fills volume rather than area, consuming O(n³) cells per generation instead of O(n²), so a runaway rule becomes overwhelming far faster than in 2D.

Try it live

Everything above runs in your browser — open 3D Cellular Automaton and pick a rule preset like Cloud, Crystal Growth, Amoeba or Pyroclastic to watch voxel colonies grow, stabilise and pulse in real time, rendered with Three.js. Nothing is installed, nothing is uploaded.

▶ Open 3D Cellular Automaton simulation

What did you find?

Add reproduction steps (optional)