Neural Cellular Automata Simulator
Explore dynamic models in real-time!
⚠️ Warning: This website contains content that may flash at high frequencies. Please use discretion when selecting frame rates if sensitive to flashing visuals.
Cellular Automata Models
Neural Cellular Automata (NCA)
Neural Cellular Automata (NCA) are a category of cellular automata that involve using a neural network as the cell’s update rule. The neural network can be trained to determine how to update the cell’s value in coordination with other cells, operating on the same rule to produce a target behavior.
From a deep learning perspective, NCA can be characterized as a Recurrent Convolutional Neural Network. Learn more about this here.
Growing NCA
Explore G-NCAOne of the best examples of NCA is Growing Neural Cellular Automata (A. Mordvintsev et al., 2020), where they trained NCA to ‘grow’ target images from a single seed cell.
The Growing-NCA model emphasises that the perception of only neighbouring cells bears parallels with how natural cells communicate within living organisms. Interestingly, this results in Growing Neural Cellular Automata (and other NCA) also showing natural regenerative properties when the image is disturbed during generation.
Designed to cut the model back to as simple and small a system as possible, Growing NCA is designed as a demonstration of how exceedingly simple systems can robustly self-organise into a very complex system without a large amount of information and very simple instructions.
Understanding this model is a good foundation for Neural Cellular Automata, as a large portion of NCA use a very similar base structure, with varying objective functions. They incorporate relevant optimisations and recombination.
Texture NCA
Explore TexturesTexture NCA is based off the paper Self Organising Textures (A. Mordvintsev et al., 2021), where they trained NCA to ‘grow’ target images from a single seed cell.
The main difference between Texture NCA and Growing NCA is that it aims to replicate image features on a small scale - an application that takes advantage of the short-range communication and organisational capabilities of NCA.
It shares properties of regeneration, as well as independence of grid location, resulting in textures that can be smoothly and cohesively replicated over grids of any size and shape - or even onto 3D graphs, as the paper Mesh Neural Cellular Automata (E. Pajouheshgar et al., 2024) expands.
John Conway’s Game of Life
Explore Conway's LifeThis is probably the most famous example of cellular automata. The Game of Life operates on these simple rules:
- All cells are either alive or dead (1 or 0).
- A living cell with 2 or 3 neighbors survives.
- A dead cell with exactly 3 neighbors becomes alive.
- In all other cases, the cell dies or remains dead.
Even with such simple rules, complex behaviors can emerge. Many self-sustaining patterns have been discovered. A more sophisticated version can be found here.

The neighbourhood of each cell consists of the cells in contact with it.
Life Like Cellular Automata
Explore Life-LikeLife like CA operate very similarly to the Game of Life in that all cells are either alive or dead. However, Life Like gives you the freedom to choose how many cells must be alive in the neighbourhood to either survive or be born. This is specified by a rule string.
The rule string format we have used is survival/birth notation. In this notation, the original Game of Life would be expressed as 23/3 (we don’t worry about spacing between numbers because they can only be the numbers 0-8), where 2 or 3 cells in the neighbourhood are required for survival of a living cell, and 3 cells in the neighbourhood are required for a dead cell to come to life/be born.
Larger than Life
Explore LargerLarger than Life builds on Life Like CA by introducing even more flexibility. This means the following are now specifiable in the rule string:
- The neighbourhood radius to encompass cells that are further than one cell away.
- Neighbourhood shape.
- Minimum lifespan of living cells (basically living cells have HP that is deducted from every time it’s exposed to death conditions)

Neighbourhood of a target cell in Larger than Life when the neighbourhood radius is set to 2 cells

Different neighbourhood shapes/different ways of determining a cell's distance from the target cell
Continuous Cellular Automata
Explore Continuous CAContinuous CA also builds on Life Like CA. The main difference is that instead of using the binary dead or alive as states, we use a continuous range of values. The new cell state value is calculated in by multiplying each neighbour by a weight, adding this together and applying a basic mathematical function to it. Continuous CA can display behaviours similar to basic organisms and population level behaviours of bacteria etc. that have simple behavioural patterns.