(Mac Classic mode only - completely free)

Bird of Paradise

The reader is referred to Dawkins' fascinating book, especially Chapter 3 where the program is described, but meanwhile there follows a rough description of my own interpretation.

NB Evolution is now quite elderly and not compatible with Mac OSX. It should run in Classic mode if available.

Twin-speared warrior

When the program starts, the large parent figure (or 'biomorph') in the middle is a simple tree where each branch divides into two according to simple geometric principles. The recipe for this branching is stored as a set of numbers, symbolising the genes which would be responsible for cell division in a living organism. For example one gene might determine how far horizontally the new branch should extend, and have the value 10 (pixels). Each child round the edge of the window has one of the nine genes mutated, ie the gene value has the number one added or subtracted.

Alien welcome

By clicking on a child, it becomes the new parent and its 18 mutated children for the next generation are displayed. By repeated selection fascinating shapes soon emerge, and due to the imposed symmetry they are often very animal-like. Thus by endless repetition, complexity is seen to grow out of simplicity, and life itself can be understood to emerge from countless iterations of simple rules.

Tree-o-morph

Dawkins does not describe exactly what his nine original genes did, and I have not seen any of the source code, so I guessed that eight affect horizontal and vertical shifts for each of the four diagonal directions (NE, SE etc) and that the ninth controls the number of branching stages (panels 17 and 18, the last two). In order to make everything a bit prettier, I've borrowed one of the first eight to determine the degrees of hue added to the colour used when drawing subsequent branches (panels 15 and 16; to understand 'degrees of hue' look at the Apple Colour Wheel, usually accessible in a program where you want to change a colour setting. The saturation and lightness are set at 100% and 50% respectively, and the trunk is always brown).

 

Straw doll

HOT KEYS

  • 'I' - Initialize
  • 'R' - Make a parent from a Random set of gene values
  • 'A' - Automate the selection process randomly (press any key apart from 'I' and 'R' to stop)

First attempt

I imagine many programmers who have read Dawkins' book have had a go at this program themselves. I might improve it if I have the spare time. As well as obvious things like displaying gene values, storing and saving sequences, resizing and so on, it would be nice to have a large pool of genes, all with different effects and default settings, which the user could choose from before starting to evolve. Even better, have gene plug-ins which developers could contribute! Please email me with your comments and suggestions, and feel free to pass it on however you please (please include this file). You are welcome to see the source code too (a couple of PowerPlant classes and a ppob resource, in C++).

What do you think?

Greg Chapman Feb 1999
Number of visits since May 18 2005: 2480