Let's start with the most famous cellular automation: the life-likes. Life-like cellular automaton are simulations with a distinct rulesets, leaning on Conway's Game of Life. The one shown below is EightLife. There are basically two rules in each ruleset. How many neighboring cells a dead cell needs to be born (B) and how many neighboring cells an alive cell needs to survive (S), in the next iteration of the simulation. All other cells will stay dead or turn so.
In Eightlife a dead cell needs three living neighbors to be born and an alive cell needs two, three, or eight to stay alive. These are expressed in a rulestring: B3/S2,3,8 The WebGL implementation of the simulation below can be found here.
You can try out different rulestrings here: e.g. B3/S4,5, B3,4/S8; Conway's: B3/S0,2,3
Things get more interesting when not just the direct neighbors influence a cells next state, but
those two, three or more spaces away aswell.
The multicellular javascript code is here.
Radius | Rulestring | Behaviour |
---|---|---|
2 | B6,7/S5 | |
2 | B6,7/S7,8,9 | |
3 | B9,7/S9 | |
4 | B15,10/S11,10,5 | |
7 | B18,22,21/S23,43,49 | slowly degenerative |
10 | B38,50,70,45,61,91,90/S43,49,61 | degenerative |
10 | B60,38,50,70,45,61,91,90/S43,49,61 | degenerative |
10 | B60,38,46,50,70,61,91,90/S40,49,61,65,78,81,99 | very slowly degenerative |
20 | B60,38/S81,99 | stable |
Try out rulestrings: And set the radius:
The app was writting in javascript and the help of additional 3D WebGL code.
In three dimensions more complex structures can emerge. The top inner surface is connected to the
bottom surface.
The same is true for all other sides. The cube is interconnected with itself. (Email me if you know
how to express this correctly).
You can explore this demo by clicking inside the canvas.
Look around with your mouse, use W,S,A
and D for surface movement, E to go up and Q to go down.
Try out rulestrings: