The A-Z of geek: G is for Game of Life

From simple rules can arise incredible complexity.

There are those who have spent entire careers exploring it. All programmers should be familiar with it. I once spent an entire night coding it on a BBC microcomputer. It is, of course, recreation mathematics time, because....

G is for Game of Life

Conway's Game of Life has been described as a 'zero-player game'. In Game of Life cells exist on a two-dimensional game board who live or die based on four simple rules:
  1. Any live cell with fewer than two live neighbours dies, as if caused by under-population.
  2. Any live cell with two or three live neighbours lives on to the next generation.
  3. Any live cell with more than three live neighbours dies, as if by over-population.
  4. Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.

The resulting effect is something that resembles life in a petri dish. Some patterns repeat themselves, as though moving across the canvas like spacecraft. Others reach stable or oscillating states, and other configurations complete vanish after a few generations. It is also possible to build logic gates and thus create a Turing Machine using the rules of Game of Life, that is you can actually perform calculations within Game Of Life that could be performed on any other computer.

Game of Life sims you can play right now:

Bitstorm JavaScript Game of Life
Emergent Universe
Open source Life

Video time:

Mind-blowing Game of Life video

Conway on Conway's Game of Life (Numberphile)