The green dots are food. The magenta dots are critters.

The critters eat the food. When a critter eats enough food, it reproduces.

Its child is almost exactly like it except that its genetic movement pattern is just slightly different. Each critter has an "X" gene and a "Y" gene which determine the direction that the critter will move at each time step.

The "Garden of Eden" is an area where the food is continuously replenished. Critters that wander in there tend to spawn descendants which evolve into "twirlies". Twirlies like to run in circles so that they can keep coming back to the food in the Garden of Eden.

Critters outside of the Garden of Eden tend to evolve into "cruisers". Cruisers tend to more or less move in straight lines sucking up food and clearing a path behind them. Since food is not automatically replenished in areas outside the Garden of Eden, twirlies tend to circle in areas where they have eaten all the food and soon starve and disappear.

Try manipulating the food distribution so that you can see the race as a whole evolve from cruisers to twirlies and back again.


Clicking anywhere on the black background creates a new critter at that spot, up to the maximum allowable number.

Changing the "Growth Rate" changes how fast the food grows back as scattered randomly about the field.

Clicking on the "Eden" checkbox toggles the automatic replenishment of the food in the Garden of Eden. The food does not automatically go away when the checkbox is toggled off; it just isn't replaced if eaten.

Clicking on the "Drought" button simply removes all of the food. Note that it will slowly grow back.

Known Bugs

Future Improvements

Optional user-controlled parameters and some other ideas that may be made available in the future include


This Java program was written by David Croft based upon a description of a similar program described in a Scientific American magazine (an issue from 1990 or earlier).

http://www.alumni.caltech.edu/~croft/java/Evolve/Evolve.html last updated 1996-09-01 by David Croft.