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.
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.
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):
A live cell with two or three live neighbors stays alive (survival):
In all other cases, a cell dies or remains dead (overcrowding or loneliness).
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.
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.
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: