Game of Life

John Conway's Game of Life is an example of cellular automata. It's not a game in the sense of multiple players competing with each other, but rather an example of simple rules leading to complex behavior.

In this game, each cell of a grid can be either on or off, or as some like to call them, "alive" and "dead". A "neighbor" is any cell that is adjacent, including the diagonals. (So each cell has 8 neighbors.)

The Game of Life has exactly four rules:

  1. An alive cell with fewer than two alive neighbours dies of loneliness (or under-population).
  2. An alive cell with exactdly two or three alive neighbours, and no more, is a happy cell lives on to the next generation.
  3. An alive cell with more than three alive neighbours dies from over-crowding.
  4. Any dead cell with exactly three alive neighbours turns into an alive cell.

On each turn these rules are applied in parallel across every cell. This can make it tricky to see what happens, because you have to figure out what every cell is going to be on the next turn before you change any of them. When John Conway first started playing this game in the late 60's computer graphics were almost unheard of, so he had to play it manually, on tables with paper grids and little tokens.

What Conway discovered, after some trial and error, is that with these specific rules some complex and interesting behavior would emerge, depending on the initial configuration.