Automata, automaton... Is each cell considered an automaton? Or is the whole thing the automaton? I really have no clue.
How it works:
Similarly to a naive implementation of the Game of Life, the program iterates through every cell in the grid one by one every generation.
For each cell, one neighboring cell is selected at random (uniform 1 in 8 chance of picking any given neighbor).
The behavior that will be executed depends on the current cell being considered. In this demo, there's just 4 cell types: white space and the 3 colors.
Each color has 10 different gradient levels. When I click with the mouse, I insert a cell of level 0. If a whitespace picks a colored cell, and that cell's level is < 9, the whitespace gets replaced with the current color + 1, as if the cell was producing a slightly weaker-colored offspring. That means cells grow randomly outwards until the outer "shell" of a given colored blob cannot divide anymore.
The "feeding" rule follows a rock-paper-scissors principle -- red eats blue, green eats red, and blue eats green. A cell is "upgraded" towards level 0 when it eats another cell, and is "downgraded" or killed if it gets eaten. What that means is that mobility is observed when a blob of cells eats another.
The really fun thing, though, is when 3 colors meet -- this begins an endless feedback loop that produces surprisingly stable, ever-growing spiral patterns.
And there you have it.
EDIT: Heh... Usually, when you post a link to reddit, it's your website that dies... Looks like this time around, reddit's the one dying.