Emergence and simple rules
A tiny rule can build a pattern that feels unexpectedly alive.
This project is a web version of a cellular automata program I made in C#. It explores elementary cellular automata: each cell looks at the three cells above it, then a rule number decides whether the new cell becomes alive or empty.
The joy is in experimenting. Change the rule, starting point, colours or grid size, then ask how something so simple can produce structure, symmetry, randomness and surprise.
Elementary cellular automata
Rule 30
Each row is created from the row above. A cell looks at its left, centre and right neighbours, then the rule decides whether the next cell should be alive or empty.
Rule gallery
Start with these rules. Each one gives students something different to notice before they start hunting through all 256 possibilities.
Starting condition
Rule table
111
0
110
0
101
0
100
1
011
1
010
1
001
1
000
0
Console
> Rule: 30
> Binary: 00011110
> Start mode: centre
> Live-cell density: 39%
> Boundaries: empty outside the grid
Joy in the process
The point is not just to finish. It is to notice, test and return.
These tools are invitations to explore. A good mistake, a surprising pattern or a question you cannot yet answer is part of the work, not a failure of it.
The challenge is deliberate: the site should support thinking, not remove the need for it.
Guided exploration
Use the rules as experiments, not just outputs.
Future extensions