 |
 |
|
Overview |
 |
|
Game of Life |
 |
|
TV episodes |
 |
|
Foxy :-) |
 |
|
Links |
|
 |
 |
 |
 |
Conway’s Game of Life
An Illustrated Guide
The database contains 413 images, 306 patterns, 73 pattern types, 26 terms,
42 people, 21 interactions and 9 extensible families. Try
jumping to a random pattern! If you spot any errors, please let me know.
“LIFE is a classic computer game. It was invented
by John H. Conway in 1970, and has entertained many hackers and wasted many years of computer time ever since. If you’re smart and
creative, it can be very intellectually stimulating. It’s a simulation game which can generate strange and beautiful patterns, sometimes in complex and interesting ways.”
Opening paragraph of Alan Hensel’s ReadMe on the Game of Life
The Game of Life (also known as Life, or GoL) is played on an infinite grid of square cells, each of which can be “alive” or “dead”. Each
cell interacts with the eight neighbouring cells surrounding it, using the following simple rules:
- A live cell stays alive if it has 2 or 3 live neighbours, otherwise it dies.
- A dead cell comes to life if it has 3 live neighbours, otherwise it stays dead.
With rules as simple as these, you might not expect to see anything interesting happen to the cells, but you’d be wrong! Useful little machines (such as
the Glider) often create themselves out of a random collection of cells, and if a pattern is carefully constructed, it can be made to perform complex tasks,
such as calculating prime numbers,
or printing out a “ticker tape” message! For a more detailed introduction, check out the
Wikipedia article on GoL.
If you’ve ever played with Lego Technic or Meccano,
you’ll know how much fun you can have by constructing machines from simple components. A great example of a GoL machine is Gosper's Breeder. To help
explain how it works, I’ve created a colour-coded diagram – click on the image below for the full-size version:

Many thousands of GoL patterns have been discovered, and a classic collection of
Oscillators is shown below (compiled by Dean Hickerson):

There is such a vast amount of information available on GoL that I couldn’t hope to make it all available here. Therefore, I have documented only the most common and important
patterns, plus some interesting interactions between patterns.
An RLE encoding is provided for every pattern in the database (more information on this format is available
here). These can be copied & pasted directly into many GoL applications, such as
Golly.
Many GoL patterns have not been given official names. In the database, these patterns are referred to as “Unnamed [pattern type] #”. For example, see
Unnamed Puffer 1.
The information in the database has been adapted from the following sources:
The database includes documentation on the 50 most common objects found in Ash, and the 25 most common Oscillators found
in Ash, as listed here by Achim Flammenkamp.
Introductions
Software
Pattern catalogues and glossaries
Miscellaneous
The animated GIFs in the database were created using the following programs:
I have also created a small Java program to help generate animated GIFs
of Spaceships (or Puffers, Rakes, etc). Here’s how it works:
- First, create an animated GIF using the “giffer.pl” Perl script
in Golly.
- Scale the GIF to the appropriate size (eg. 400%) using GraphicConverter.
- Load the GIF into the Java program, and specify the speed and direction of the Spaceship.
- The program will then apply a panning camera effect, so that the view remains centred on the Spaceship as it
travels.
- The program will automatically crop the animation, so that the edges of the frame just touch the edges of the
Spaceship. Alternatively, a custom crop can be specified.
- The program will then save the panned and cropped animation frames as PNG images, which can then be
assembled into the finished animated GIF using the “Convert & Modify” feature of GraphicConverter.
An example of a processed animated GIF can be seen in the entry for the Space Rake. The camera is panning right to keep the LWSSs centred,
so that they appear to be stationary. The Block which temporarily appears in the debris appears to be slowly moving left (in fact, the Block is stationary and the
camera is panning right).
|
 |
 |
 |
 |
|