This Artifical Life program simulates the evolution of a population of abstract creatures ('agents'). The 'genetic make-up' of each agent is defined by its speed and vision abilities, which determine how fast it can move and how far it can see. The colour of an agent reflects its genetics- the greener the agent, the better its vision is; the redder an agent is, the faster it can move. When the program starts, all agents have speed and vision scores of 1, and appear as khaki-green blobs.

In order to survive, agents must eat food, and on each move ('epoch') an agent will move towards the greatest source of food that is within its vision range. Food is depicted by grey blobs: light grey indiciates a strong food source, while dark grey indicates a weak food source.

Healthy agents may reproduce. In most cases, an agent's offspring will be identical to it; occasionally, a newly born agent may have either its speed or its vision abilities increased or decreased ('mutated').

Before running the program, you can decide the number of food deposits, the size of each deposit, the speed at which food replenishes after being eaten, and the number of agents.

This program was inspired by Sugarscape as described by Giles Wright in New Scientist, 4 Oct 1997, and motivated by my wish to learn Java. I have written more advanced versions in Visual Basic, incorporating disease and the ability to resist it, variable mutation rates, and speed of reproduction as an ability.

See also Artificial Anasazi

© Sam Redfern 1998

Java source code:

life application class
agent class
arena class

Some example avi movie files:

Conquest - in this example, the effect of population pool size is evident as several separate populations develop on the 'islands' of food, and the agents from the larger islands eventually discover and conquer the less advanced agents from the other islands.

Extinction - in this example, slow-growing food leads to cycles of population explosion, famine, and mass migration. Eventually, the instability of this model becomes evident as total extinction occurs.

Last update: