John Conway's Game of Life


The game of 'Life' was created in 1970 by Dr. John Horton Conway, a professor of Finite Mathematics at Princeton University.

'Life' is an example of 'Celular Automata', an area of Mathematics where a large number of units or cells are given some simple rules to follow. Each cell obeys its rules with no global awareness of what is happening to all of the cells overall.

In the early fifties, Stanislaw Ulam, a mathematician at Los Alamos used the first digital computers to play with patterns that evolved with time. He called them 'recursively defined geometry'.

A close friend of his, Johnny von Neumann is probably the inventor of the first true CA's. Ulam suggested that Von Neuman construct rule based machines in an atrificial world that would help model self-reproduction. He chose a chessboard universe in which each square represented a cell that could obey a set of rules.

In 1970, John Horton Conway, a Cambridge mathematician, devised the game of 'Life'. It was first presented to the public in an article by Martin Gardner, in the October 1970 issue of Scientific American. This page on Alan Hensels website contains the original text.

Also here is a recent profile of John Conway in Scientific American magazine.


My Life Programs

I have written 2 programs to run Life. The first is a standalone Visual Basic 6 application and the second is a Java applet. Source code for both applications is freely available.


The Rules

Life is played on a grid of square cells, with the grid extending to infinitely in every direction. Each cell can be either alive or dead, with a live cell being shown by a marker on its square and a dead cell by being left empty.

Each cell in the grid has a total of eight neighbouring cells (including the diagonals), and the number of live neighbouring cells determines the cells state in the next step (or generation) of the game.

  • A dead cell with exactly three live neighbours becomes a live cell (birth):

    Generation of a new live cell   Generation of a new live cell

  • A live cell with two or three live neighbors stays alive (survival):

    Survival of a live cell   Survival of a live cell

  • In all other cases, a cell dies or remains dead (overcrowding or loneliness).

    Death of a live cell   Death of a live cell   Cell remains dead   Cell remains dead

Note: These rules are applied all cells at the same time, before applying the changes they make. In other words, we must first find all of the cells that change before changing any of them.


Life Patterns

Still Life

There are many common objects in Life which remain the same from one genertion to the next. No live cells die and no new cells are born. Conway called this kind of object a still life. For an object to be a still life, every live cell must have 2 or 3 live neighbours, and every dead cell must not have 3 live neighbours.

  • Block:Block
  • Beehive:Beehive
  • Loaf:Loaf
  • Boat:Boat
  • Ship:Ship

Oscillators

Patterns that change from step to step, but repeat themselves are called Oscillators. The simplest kind are period-2 oscillators, or those that repeat themselves after two steps. The most common is the blinker, which consists of three cells:


Gliders



Life Links

© Copyright  Piers Pettman - This page last updated 21 July 2013
Accessibility |  Test HTML |  Test CSS |  Home |  Site Map

W3C CSS Compliancy Logo W3C HTML 4.01 (Strict) Compliancy Logo