Back in 2013, a Stack Exchange user posted a challenge to build a working Tetris game in Conway’s Game of Life (since Conway’s Game of Life is Turing Complete, this is possible in principle).
And four years later, a group posted what has to be one of the geekiest things I have ever come across in which they describe implementing a Tetris Processor in the Game of Life, and then writing code for that processor to play Tetris.
The underlying idea of this project is abstraction. Rather than develop a Tetris game in Life directly, we slowly ratcheted up the abstraction in a series of steps. At each layer, we get further away from the difficulties of Life and closer to the construction of a computer that is as easy to program as any other.
The game uses cellular automation to simulate its world. Liquids flow, gases spread, boulders roll, fires spread, plants grow and walls crack and crumble. Other games, notably three that involve exploring underground caverns, use CA techniques: the classic Atari 800 puzzle game Boulder Dash (which directly inspired the behavior of the boulders here), and the recent indie hits Dwarf Fortress and Minecraft. Another game that bears some similarity, at least in the operation of its engine, is the “Falling Sand” Java game. However, In Profundis’ CA system will be rather more complex than most of these (except maybe for Dwarf Fortress — Tarn Adams is a genius). The fact that it’s 2D helps in this regard; it greatly decreases the amount of calculation needed for each frame.
The developer posted a YouTube video demonstrating his vision for the game:
Unlike other life simulators I downloaded, this one is still being actively developed, and the look and user interface were what I expected from a contemporary application. I especially love the fact that the size of universe is only limited by available memory.
Quite simply, everything that should be in a Game of Life simulator is in there.