MacroLife is a versatile desktop version of Life.

To fetch the program now, click here.

This document explains what Life is all about, and serves as a brief introduction to some of the features of the program.

Contents

  1. Introduction
  2. What is Life?
  3. How to use the program

Introduction

MacroLife is a desktop version of the famous game of Life, invented by the British mathematician John Horton Conway in 1970.

It displays a scrollable window onto a Life plane, or grid, onto which you can place patterns of cells and watch how they evolve.

Besides running on the desktop, MacroLife offers a very large Life plane. It is 65,536 cells on a side, over 4 billion cells in total. Facilities are provided to assist with navigating around the plane, but they are only needed if you want to generate really large patterns.

Other features include:

What is Life?

Life is a fascinating 'game' in which patterns of cells on a two-dimensional plane evolve according to a simple rule.

Despite its simplicity, Life patterns can behave like living organisms, moving, growing and even - theoretically, at least - reproducing and evolving.

Each cell on the Life plane may be in one of two states, 'Alive' or 'Dead'. Time is measured in generations, each generation being produced by applying a calculation to each cell on the grid. This rule of Life is as follows:

A cell will be alive in the next generation if it has exactly three living neighbours. If it has two live neighbours, it will preserve its state. If it has any other number, it will be dead. Each cell has eight neighbours, including the diagonally adjacent cells.

The smallest object in Life is the 'blinker'; three cells in a row. The rules of Life switch the blinker between horizontal and vertical every generation:

         ...   .o.   ...
         ooo   .o.   ooo
         ...   .o.   ...
The pattern on the icon bar, the glider, is the simplest of many Life 'spaceships', patterns which move. The glider moves diagonally:
    .o..   ....   ....    ....    ....
    ..o.   o.o.   ..o.    .o..    ..o.
    ooo.   .oo.   o.o.    ..oo    ...o
    ....   .o..   .oo.    .oo.    .ooo
The other Life pattern which MacroLife uses as a symbol is called the 'r pentomino', since with imagination it looks a little like a lower case 'r':
              oo.
              .oo
              .o.
The word 'pentomino' is simply an extension of 'domino': a domino has two sections, and a pentomino has five. Putting an 'r' pentomino on the Life plane and selecting Run results in an explosion of growth and activity.

There are many approaches to exploring Life, you can place large random patterns and watch them 'evolve', design new Lifeforms, or simply have fun crashing Life spaceships and other patterns into each other to see what happens.

The Draw file Patterns in the MacroLife Docs directory contains a catalogue of Life patterns (including a prolific but unstable 'Acorn').

Since Life was described by Martin Gardner in his Scientific American column, many enthusiasts have spent countless hours exploring its behaviour. Several books are available which describe these explorations, including The recursive universe by William Poundstone, which among many other things describes how a Life pattern could reproduce itself.

In the last few years, some remarkable discoveries have stimulated a fresh wave of interest in Life. Dean Hickerson, David Bell and others have led the search for new Lifeforms, and many of their creations are available in the library supplied with the registered version of MacroLife.

How to use this program

To start MacroLife, double-click on the application to run it and then click Select over the icon bar icon. This will create a new Life plane. You can add new cells to the plane by clicking with Select. You can also hold down the Select button and drag the mouse around, much like using Paint. Use Adjust to remove cells.

When you have created your pattern, click on the Run button or choose Run from the Edit menu to watch it evolve. If it goes too fast, you can single-step the display using the Step button or menu item.

MacroLife has a collection of Life patterns - 'Lifeforms' - built in; you can call them up via the Add Lifeform entry in the Edit menu.

Once you have selected a Lifeform, a grey pattern with a dashed box surrounding it will appear on the plane. You can move this around with the mouse and then click Select to place it. A good pattern to start with is the Glider gun, in the Guns submenu.

If the Help application is running, it will display additional information about about each Lifeform in the menu.

There are many facilities provided for editing these patterns, and you can combine them to build new ones.

As an example, place a glider gun on the Life plane and run it until the Gen display reaches 61. (It should now look like the pattern in MacroLife's start-up banner.) Now choose Glider mirror from the Others submenu. Move the grey glider until it is superimposed on the leading glider from the gun, and click Select. If you start the program running again, a continuous stream of gliders should bounce off the mirror.

When the generation reaches 106, stop the program and choose Glider mirror again. This time, to match up the gliders you will need to rotate the mirror. Press 'A' on the keyboard to rotate the mirror A)nticlockwise, and you will be able to superimpose the gliders and start running again.

You can also copy blocks of cells around the plane, and you can rotate and reflect these as well.

MacroLife uses two file types: Lifeforms, which can be automatically included in the Add Lifeform menu, and Life planes, which store the whole plane together with settings and window positions.

You can load both types of file by double-clicking on them, but MacroLife can only edit one plane at a time. Double-clicking on a Lifeform file will add it to any existing patterns on the plane. You can also drag Lifeform files onto the plane. They will appear centred on the mouse pointer.

For more detailed information about MacroLife, please read the Help file within the application.


Chris Taylor <chris@sati.demon.co.uk>