Games of Life in Colour

Introduction


These pages contain two Javascript implementations of Conway's Game of Life.
Both make use of colours in order to distinguish between the living cells.
The following discussions presuppose some knowledge of the standard Game of Life.
Here is a Reminder.

Black&White Game of Life   

The first game, here called Black&White Game of Life , uses only two colours and can be used as a two person game where each player forms an initial pattern (black and white respectively) hopefully strong enough to survive attacks from the opposing pattern. Of course, the surviving faction wins.

The simple colour-forming rule is:
A newborn cell gets the colour that is in majority among the three parent cells.
lifelogo  lifelogo
This game is also known as the Immigration Game and is mentioned in several numbers of the newsletter Lifeline 1971-73.
A Game Guide and a set of Suggested Rules are available.

Apart from the gaming facility the Black&White Game can also be used as a laboratory for exploring twocolour cyclic patterns.
E.g. the black&white glider above is cyclic. (This was probably first discovered by Torben Mogensen.)
For another cyclic black&white pattern, see the Seagull!

There are also several discoveries to be made in the field of game theory for this game.
This and some some further topics are treated in Black&White discussions.

The other game, Rainbow Game of Life, starts as the B&W Game but proceeds according to another colour rule:

Each newborn cell gets a colour that is the arithmetic mean, in the RGB system, of the colours of the three parent cells. lifelogolifelogo
This game, or rather Life-viewer, has several interesting features some of which (e.g. aesthetic aspects and segregation tendencies) are treated in Rainbow Game Discussions.

The most striking use of the game is however the examination of 'genetic' properties of the patterns. To study the impact of a particular cell on a Life pattern it is illustrative to inject black colour into that cell (i.e. to let the cell be black from start). Then one can follow the stream of genes from the cell by watching the spreading of grayness in the pattern. This approach can of course be made quantitative by extracting the numeric colour indices (rationals between 0 and 1, if white and black are set to 0 and 1 respectively) from the underlying program.

It turns out that the spreading of genes follows strict linear algebraic rules that can be described by so called transition matrices. By studying these matrices it is e.g. possible to compute the asymptotic colour indices of cells in cyclic patterns, i.e. the colours to which the various cell colours tend as the game proceeds indefinitely.

Two types of asymptotic behaviour will show immediately after some experimenting with the most common cyclic patterns. First there is the homogenization of colours shown e.g. in the glider and the three spaceships. It turns out that the black cells in these cases will spread their genes evenly among the other cells such that the whole pattern after not so many generations will attain almost homogeneous gray hues. After only 8 generations the black&white glider above has the following appearance:

lifelogo

In contrast, the toad (or the clock which behaves similarly) shows a beautiful palette of different gray shades, if the initial black cell is one of the static cells.
The following two pictures of the toad show an initial pattern and its state after 8 generations:

lifelogo        lifelogo
Here the colours never get homogenized. Instead the four intermediate cells get four different asymptotic gray shades.

Explanations of these different behaviours can be find in the Genetic Aspects section.
One novelty in these considerations is the distinction between two types of rotor cells, the primary and the secondary rotor cells.
(The traditional distinction between stator and rotor cells is also discussed there.)


I am indebted to Mark D. Niemiec for informing me on various subjects in the Game of Life culture.
/Gunnar Johnsson.
Updated April 23 1999.

Valid HTML 4.0!