Original post date: January 9, 2026
Self-Evolving Cellular Automata
The main idea is to first make a linear system, where energy spreads over time in a very intuitive way. Then, by introducing nonlinearities and randomness, complexity starts to arise seemingly from nowhere.
Step 1
Mechanism spreading energy
Step 2
Bringing in randomness
Step 3
Adding nonlinearities
Step 4
More nonlinear features
The slider controls where the randomness is applied. You'll notice that new mechanisms primarily form where randomness is introduced, and quickly spread out to the area where there is no randomness.
When the mechanisms spread, they automatically start "competing" with each other with time, since the mechanisms that effectively gather the most energy to occupy the cells will remain and replace the ones that are less effective. Every now and then, these mechanisms can be quite complex.