2008
08.11

## Conway’s Life Game

As happened with other topics, long ago I wanted to write about this one: Artificial life and John Conway‘s Life Game.

If you already happen to know about it or have just searched the internet, I’m afraid I’m not going to tell you something new, or maybe I am: John Horton Conway is a mathematician born in Liverpool, United Kingdom in 1937. One of his most known (and he has worked many) field are mathematic games, like Sprouts Game, or the Game of Life I’m going to explain here.

Life game is played on a reticulated board or grid that is supposed to be infinite in extension. Obviously, this cannot exist in practice, but is ok to use one large enough. Each cell of this grid is in one of two states: live or dead, represented with different colors (here white and black respectively).

This “game” is a zero-player game, meaning that its evolution is determined by its initial state, needing no input from human players.

The game is turn-based. At each step (also called generation) every cell in the board is examined and its new state calculated. Finally, when all the new states are known, the board is updated.

The cell next state is calculated following 3 rules that although really simple (as it happen on most Conway’s games) can lead to surprisingly complex configurations:

1. If a cell is alive and the number of alive neighbours is less than 2, it will die by isolation and will be removed from the board in the next turn.
2. If a cell is alive and the number of alive neighbours is greater than 3 it will die by overcrowding (it will be removed from the board the next turn).
3. A free (dead) cell which happens to have 3 (and only 3) alive neighbours will came into life the next turn.

These three simple rules creates a chaotic system: changing just one cell state in a configuration can lead to dramatically different results which ranges from total extinction (empty board) to stable oscillating population or even more interesting life forms.

I’ve developed a simulator for the game of life. It uses the HTML5 canvas, and it should work ok on every browser (Firefox, Safari, Opera…) except Internet Explorer (it’s supposed Internet Explorer 9 will support it). If you’re using IE, please download Google Chrome Frame (it will work flawlessly!) or switch to another browser. Anyway, here you are:

Now I’m going to show some of the most known configurations. Click on any of them to put a copy on the simulation board:

• Still Life: It’s a pattern that does not change from one generation to another. You can click on them, but you won’t notice any change on the simulator.
 The block The boat The loaf
• Oscillators are a patterns that return to their original state, in the same orientation and position, after a finite number of generations.