This site's content was compiled from 1993 to 2006. Beyond that, Google is your friend.
Ken Stauffer
Evolve is a evolution simulator in which 2-dimensional critters compete against each other. Each organism has a genetic program (similar to a core-wars program).
If you are learning eiffel, or you are hunting for example code, then this project includes many useful constructs:
This program is a simulator of artificial life. A virtual universe is created that supports the basics of evolution: Replicators and cummulative selection. Several simulations exist that all try to do related things:
The Evolve program described here is most definately (2). In fact I tried to emulate in my universe, the same structure of cells and organisms as we have in real-life.
Evolve can be thought of as a union of the game of life and core wars. The game of life presents a very simple two dimenional universe, with some basic rules that cells in the universe follow (Evolve has a slightly more complext set of rules). Core wars is a virtual compute running many programs in a shared memory space (called core). Each program tries to copy itself and crowd out other programs.
Evolve uses a sophisticated assembly language for the control of organisms and cells. This is the equivilant of our DNA. The size of these programs is unbounded and therefore very complex behaviors can evolve. Genetic programs do not run in a shared memory space, each cell has its own virtual computing machine that includes registers, bit flags and a small stack. A an organism can have many cells all executing different parts of the same genetic program. It is therefore possible for cells to specialize their function, and thus achieve even more complex behaviors.
Most artifical life simulators use a very restricted genetic layout. One program for example, called "Darwin Pond" has about 8 or 9 genes which are simple floating point numbers. All the logic for reproduction and consumption and movement are hard coded in the simulation. There is very little genetic variation that can occur. The genetic programming language for Evolve is unlimited in size and therefore extremely advanced behavior for organisms can emerge.
Biomorphs also have a limited set of genes, and the selection process is through user interaction. In the Evolve program, the selection process is part of the simulation.
Some simulators run short scenarios with a small handful of organisms, and then after a fixed period of simulation time, the best organisms are retained and the rest are eliminated. Then a new scenario is started. The Evolve program is more realistic. In Evolve there is a virtual universe in which thousands of organisms live and reproduce. The simulations you will run are intended to run for millions of simulations steps, with hundreds of millions of births and deaths.