Last updated 21 November 2004

To experiment you need first a starting pattern.You can draw a pattern by clicking the board with the left mouse button. Initially every cell is dead (white), the state of a cell changes when clicked. Alternatively you may click "Random"-button which gives you a random seed to start with. There are also several patterns in "Seeds" dropdown list.
Clicking "Step" button creates next generation and "Start" creates continously new generations.A running game is stopped by clicking "Stop" button. Clicking "Clear" kills every cell.
"Save Buffer" stores your current configuration. This is handy when you are experimenting with a complex pattern. Store some basic pattern into the buffer, alter the pattern and run it to check if something interesting appears. Since the basic pattern is stored you don't need to create it every time by hand. When you store a pattern into the buffer the contents of the buffer is first stored into another buffer and you can load it onto the board by clicking "Previous Buffer".
"Bbc transforms the current pattern of the board to its bounding box complement. Bounding box is the smallest rectangle containing the pattern and taking complement means that the state of every cell is flipped.

To resize the board enter first new sizes for rows and columns into the the textfields. Here size refers to the number of cells in a row or a column and it may vary from 16 to 400. For example,if you choose 60 for rows and 40 for columns then every row will be 40 cells wide and every column 60 cells high. You should also note that when I speak of a board of nxm pixels then n refers to the number rows and m to the number of columns. Clicking "Resize" finishes resizing.
The preferred size of the board is 400x400 pixels. To understand how the true size of a new board is defined some pixel counting can't be evaded. Let's assume that we want the new board to have 200x200 cells. Since 2*200 equals 400, every single cell can occupy a square of 2x2 pixels. The match is perfect and the true size of the board equals the preferred size of 400x400 pixels. But if we want to have a new board of, say 201x201 cells, the situation is totally different. Since 2*201 is greater than 400, height and width of a single cell must be lesser than 2 pixels, or exactly one pixel. Hence the true physical size of this board is 201x201 pixels or about a fourth of the preferred size.

In "Seeds" you find several predefined patterns to experiment with. Multum in parvo, Acorn, R-pentomino and Rabbits are simple seeds I've used for experimenting. They are also examples of so colled methuselahs or long living patterns. Rabbits runs 17331 generations in an infinite grid before stabilization. On our torus board I have found that acorn runs 12212 generations on 200x200 cells, rabbits runs 15219 generations on 188x188 cells. R-pentomino and Game of Life is an often used example of how complexity can emerge when few simple rules are applied to a simple seed.
Diagonally moving glider is among the most usual patterns in the Game of Life. It's one of the four standard spaceships, the others move orthogonally. All of them were known as early as 1970. Orthogonally moving spaceships are LWSS or Light weight spaceship, MWSS or Middle weight spaceship, and HWSS or Heavy weight spaceship. LWSS is rare but appears naturally now and then. Run rabbits on 193x193 cells and you will find a LWSS to appear at time 958. It lives over 350 generations. MWSS appears more seldom but I luckily found one when running rabbits on 221x221 cells. It is born at time 3528 near the centre of the board and lives only about 40 generations. Perhaps you had better stop the game at the time 3520 and step till you can see it. It moves downwards. This MWSS taught me that with a pixelated board even a simple zooming feature is handy.
There are also other diagonal spaceships than glider, but they are more complex and appear hardly ever naturally. Our small diagonal spaceship was found by Jason Summers in 2000 and it's with its 25 cells the smallest diagonal spaceship known so far. If a diagonal spaceship is loaded in PPP the spaceship is centered on the board and consequently,it moves along the diagonal and breaks down in the corner. You can overcome this by the following trick: load the spaceship and click some cell near the bottom row and buffer this pattern and then load it again. Some future version should contain a better cure for this problem.
Many Life enthusiasts regard Turtle as the most elegant spaceship.
Next item presents a glider gun and two eaters. The eater prevents returning gliders from destroying the gun. Remove the lower eater and see what happens when you run the game in Klein bottle or in PPP. It might be a good exercise to try positioning an eater to prevent gliders from destroying the gun when the surface is Klein bottle. This eater works only if a glider approaches it in a correct angle and phase. In PPP no eaters are needed since gliders get destroyed in the corners. To see another interesting phenomenon in PPP move the gun so that the generated gliders don't go near main diagonals; for example, click the cell in the left bottom corner of the board, then do 'Save buffer', 'Clear', 'Load buffer' and 'Start'.
The last examples deal with "diehards". They are long living patterns that vanish eventually. This is quite a broad definition, originally the concept might have been reserved only for small compact patterns. The number in the end of the name of a diehard shows its lifetime. The first is a well-known diehard running 130 generations before vanishing. That is said to be the longest running diehard consisting of at most 7 cells. In an infinite grid one can easily build a diehard consisting of 8 cells and running arbitrarily long. Simply put a distant blinker in the path of a glider. "Glider and blinker" shows a modification of that in our finite grid. The extra cell is just for placing the pattern properly, both PPP and Klein bottle are sensitive to the initial location of the pattern. When the grid size is 80x80 cells "Glider and blinker" lives 314 generations on a torus and 634 generations both in PPP and on a Klein bottle (if properly placed).
Both dh219 and dh241 run unmodified in an infinite grid. The minimum size for dh219 to run unmodified is 47x47 both in a torus and in a Klein bottle; in a PPP the size is 46x46. For dh241 the size is 40x40 in a torus, 44x44 in a Klein bottle and 41x45 in PPP. These sizes are important since on smaller boards outer skirts of the evolving pattern interact resulting (usually) in a different final pattern. In the 34x34 torus dh219 runs, however, 76 generations and then vanishes. So there are two different kinds of diehards in finite grids, those that run unmodified in the infinite grid and those that don't.
"Some reactions" presents several reactions of a glider with boats and longboats. "Artificial" diehards can be built using these reactions. dh7281 needs 80x80 cells to run and it runs also in infinite grid but it is by no means optimal, I just sat down and wrote it. It took about 30 hours using qlife-0.8 and its more advanced features, with this applet such jobs are impossible. An obvious way to increase the lifetime of dh7281 is to replace some (or all) longboats, that turn the glider 90 degrees, with boats. Unfortunately, there seems to be no glider plus boat reaction producing 180 degree's reflection. I found these reactions to be interesting when I was trying to solve a construction problem where a glider had to be stored for a lengthy time inside the "scene". This topic is treated more thoroughly in qlife and jlife, its Swing clone.

Stephen Silver's Life Lexicon is a good source of more information on Life terms and vocabulary