Game of Life
Better known as John Convey's Game of Life is a game that was created by "John Convey" which he called a 0 player game.
Github Link
Rules
The game consists of an infinite grid of cells that can either be dead or alive.
The rules of the game are simple.
- Any live cell with fewer than two live neighbors dies, as if by underpopulation.
- Any live cell with two or three live neighbors lives on to the next generation.
- Any live cell with more than three live neighbors dies, as if by overpopulation.
- Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.
Here's an example of an initial condition and its generation:
Here's an example of something called the Gosper's glider gun which shoots gliders:
Mathematical details
Convery's game of life is something that is Turing complete. This means that it can simulate a universal constructor or any other Turing machine. Life is an example of something that is undecidable (hence Turing complete), there is no algorithm that can take a look at the initial condition and conclusively determine whether it's going to die or go on forever for every initial state.