MacTierra logo

Document overview

Starting off

Double-click the MacTierra program to start it. Choose New on the File menu to create a new soup, which is automatically seeded with an ancestor creature (which is Tom Ray's original 80 instruction ancestor), if the preferences are so set. Click the Continue button (or choose Start from the Control menu) to start the run. You should see the soup rapidly fill up with offspring of the ancestor creature, some of which will differ slightly because of mutation and copying errors. The soup will fill up until it is about 65% full, at which point the Reaper kicks in (see the Preferences document for how to set the reaper level); the soup will stay about 65% full for the rest of the run.

You can specify the rate at which the display is updated on the Special menu, on the Updates submenu. More frequent updates slow the program down. The Load item specifies how much CPU time is taken by MacTierra when it is running in the background. Leave this on Heavy unless your foreground application slows down unacceptably. MacTierra can be left running in the background.

Five items on the Special menu allow you to overlay the soup image with graphics which show various information. The basic soup view (Figure 1, top right) is simply a graphical representation of the bytes in the soup, with each of the 32 bytes assigned a different colour. Selecting Show adults from the Special menu overlays this view with blue lines, each of which shows the position of an 'adult' (a Tierra creature which is currently alive and executing instructions). Show embryos overlays with grey those creatures that have been allocated space, but not yet separated from their parent creature. Show fecundity reveals which creatures are currently producing offspring. This only takes into account offspring which have bred true, and are thus identical to their parent. Show Instruction Pointers reveals the positions of each instruction pointer in the soup, with small boxes. Those boxes coloured red show IPs that are inside the body of the owner, and yellow ones those IPs which have strayed outside their owner. Yellow IPs are a good indicator that some sort of parasitism is taking place.

Figure 1. A composite view of the soup window, showing four different soup visualization settings:
Soup contents only.
Soup with 'Show adults' and 'Show embryos' selected.
Soup as top right, but with one genotype highlighted.
As above, but showing instruction pointers.

Monitoring creatures in the soup

(This section assumes that you have the Drag Manager installed. See Installation for details. MacTierra will warn you on startup if it is not present.)

Two observation windows exist to enable you to closely monitor the activities of creatures in the soup. They are the 'Observe' and 'Genotype' windows, both accessed via the Windows menu:

The Observe (left) and Genotype (right) windows, each showing details for the original 80-instruction ancestor 80aaa.

Choose Show observe window, and pause the run by clicking on the Pause button, or choosing Pause from the Control menu - this is not necessary, but makes creature selection easier. It is also easier to select a creature if you have adults showing. Move the pointer over the soup window, and it changes to an arrow tipped with a cross. Place this cross over one of the creatures, click and hold to drag the creature out of the soup, and drop it into the 'well' at the top of the observe window. Only 'adult' creatures can be selected in this way.

Dragging a
Dragging a creature from the soup into the Observe window.

The observe window
Once loaded into the observe window, you can click the 'Continue' button and watch the internal workings of the creature as it reproduces. Clicking the 'Step' button in the Observe window advances the CPU one instruction at a time, so you can see exactly what is going on. CPU execution is described briefly in the How it works document.

The panel labelled 'Soup' at the bottom of the Observe window contains a hex view of the soup, with the current position of the instruction pointer in the highlighted square.

The genotype window
Choose 'Show genotype window', then drag from the observe window well across into that in the genotype window. This loads the same creature into that window, where you can examine its genotype (represented as a list of machine instructions) and its number and type of offspring. In MacTierra 1.8, the position of the instruction pointer in the genome is indicated by a bullet next to that instruction.

The Menagerie

A library of creatures can be created by showing the 'Menagerie' window (accessed via the Windows menu), which reads in the Menagerie file (which must be in the same folder as MacTierra, is created if none is present, and can be an alias to a Menagerie file elsewhere). You can drag creatures from this Menagerie window into a soup and vice versa.

Double-click an item in the Menagerie window to see information about when it was created, its genotype, and any other comments which you wish to add.

The Inventory window

A detailed phylogeny of creatures in the soup is available in the genebank window, available from the Windows menu.

The inventory window, near the beginning of a run.

This window shows which genotypes are currently alive in the soup. If you are saving genotypes to the Genebank file, then, as in the picture above, the genotypes are drawn in different colors. Those in blue are genotypes which have been found in a previous run, and are already in the Genebank file the first time this soup looks them up. Pink genotypes are those which are new in this run. Black ones are those which have not yet reached a sufficient population size to be entered in the genebank.

You can use the text panels at the top of this window to resize the columns, and to sort the list. Click and hold the button on one of these panels, then drag sideways to resize the column. Click once to sort the inventory by that column, in descending order, and option-click to sort in ascending order.

Option-clicking on an extant entry in the inventory highlights creatures of that genotype in the soup with a yellow colour. This is a useful way of tracing which creatures are where in the soup.

When more than one soup is open, the inventory window applies to the frontmost soup window. If you select the rear soup window, the inventory list is then rebuilt to contain the inventory of the selected soup. This can also take some time, with long-running soups.

The Genebank file

When MacTierra starts up, it creates a file called 'Genebank' on your hard disk, in the same folder as the application (if it doesn't already exist). This file is used to store information about all the genotypes that evolve in MacTierra runs. Unlike previous versions of MacTierra, which kept all past genotypes in memory during the run, version 1.8 writes them out to this file.

When a new genotype arises, MacTierra looks it up in the genebank to see if it already exists. If so, then it used the name from the genebank for this genotype. Otherwise, it assigns a new name, and enters the genotype. At present, no tools exist to examine the contents of the Genebank, but these are in development.

It is not essential that you keep this file lying around; MacTierra will always create a new one when it starts up if necessary. However, if the program crashes, this file can get corrupted. MacTierra 1.8.5 will check this integrity of this file on startup, and refuse to run if it finds it to be corrupted. In this case, simply drag this file to the trash and run MacTierra again. It will create a new, empty Genebank file.

Saving the soup

MacTierra uses the standard Macintosh document interface, and supports the saving and opening of soups in mid run. If you attempt to close a soup which has changed since the last save, you will be warned and allowed to save those changes.

Saving the soup mid-run allows you to do some neat things, notably to start two soups from the exact same situation, and then see how they diverge over time. This is the sort of experiment that is impossible with real systems!

All soup settings are saved between sessions, with the exception of any statistics that are being collected. If you wish to save the statistics for a run, you must do so before you close the soup. When the soup is next opened, statistics collection will start again from scratch. To reconstruct a continuous series from a soup that has been saved and restarted several times, use a spreadsheet application to piece together the separate statistics files. This will improve in later versions. More information about statistics collecting is presented in the Statistics document.

MacTierra checks the version of saved soup files on opening. If they were created by a different version of the program, you will be warned that opening such a file is very likely to cause a crash. Take heed!.

The Graph window

The graph window, available from the Windows menu when a soup is open, plots line graphs of statistics that are being collected, as well as some frequency plots.

The graph window, showing the population sizes of two genotypes through a run.

A bar chart showing a frequency distribution of genotypes in the soup.

Several types of graph are available:

Frequency distributions
Creature size
Instruction use
Line graphs
Total population size
Number of species (genotypes) in soup
Mean number of offspring
Fitness of most abundant genotype
Genotype diversity
Scatter plot
Creature sizes (each new genotype is plotted as a dot)
Twin line graph
Speciation (blue) - extinction (red)
Two genotypes
XY plot
Two genotypes
The frequency distributions can be displayed at any time -- the data are collected on the fly. Other graph types require that you have specified that particular data are colleted, in the 'Collect statistics' dialog; otherwise, they will be disabled in the popup menu in the graph window.

The graph window plots the stats for the foremost soup window. If more than one soup is open, the graph window will update to show data for the soup in the front window.

To plot the populations sizes of two genotypes, first start collecting 'Two genotype' stats, in the 'Collect statistics' dialog. Then drag creatures from the soup, or from the observe or genotype windows, into the two wells in the graph window. The genotype names will appear beside these wells (as in the picture above).

Click the 'Settings...' button to show a dialog box in which you can choose to plot the current graph on a log scale (if applicable), and change the number of categories used for frequency plots.

Table of contents Installation Running Soup settings Preferences Statistics
Assembling Interface How it works c.f. Tierra Bugs and features Legal stuff