So, I thought I would implement 3d cellular automata (CA) in the game and see where that goes. Interestingly, although a huge amount of research has been done on 2d CA, e.g., Conway's Game of Life and that book by Stephen Wolfram, fewer things seem to be known about 3d automata. To get started, I implemented a couple of the rules in this paper by Carter Bays in the journal Complex Systems. The paper discusses totalistic CA, where the state of one cell depends on how many of the adjacent 26 cells are occupied. Bays uses a notation E1, E2, ... / F1, F2, ... where the En indicate the sums which lead to an extant cell continuing to be occupied, and the Fn indicate which sums cause an empty cell to become occupied. I tried out the 6,7,8/5 and 2,3/5 rules.
The video below shows the result of the 2,3/5 rule. Note that this isn't really "proper" because I'm not stepping everything forward at once. I am depending on the block-wise updates that Minecraft already implemented. I've appropriated the mossy cobblestone block. I've also set it up so that it cannot evict any cell other than air. So it cannot grow into the ground and other objects in the world. It basically takes over the game to such an extent that it becomes unplayable.
Here's a rendering of another 2,3/5 run:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYIIqQkoGZalRYdqN-sRmg84xPCEnQT96Q9th7J907zX2ND4tBrIqmg7bp58phZCemkZQlx1fyloLQXzrXKklGP-TU2RL7oH8KGqte09dJRtavc3HVVvUVmfZGusYdvqm2JWSrJpKg0Ac/s400/Screenshot.png)
Next up: 1) making the CA update in lockstep to allow gliders, 2) enabling interaction with other blocks in the environment.