
About this Software
Evolve 5.0 is a simulator of evolution using cells on a 2-dimensional universe. Each cell is a computer CPU running a program. These programs can replicate, move and struggle for resources. This software lets you create new simulations, run them, and visualize the behavior of the evolving creatures.
This is a simulator with a heavy emphasis on programming. The USER is responsible for writing serious 16-bit forth programs in a large compute space with thousands of replicating programs. This software provides a robust development environment for creating such programs.
The first version of this software was created in 1996. Fortunately, it has evolved (just like the creatures that live in the simulator) into an awsome piece of software. The most recent version is a complete MacOS application with a well designed GUI and lots of features for examining the evolved creatures.
I have prepared a quick overview of the software here.

Videos of Evolve 5.0
Requirements
The GUI software runs on MacOS. The command line utility (no graphics) runs on MacOS, Windows and Linux. This application is written in C & Swift using Xcode. It was written as an NSDocument style application.Oh yeah, one more requirement: You will need a complete Bio Hazard Level 4 facility to run this software.
Description
This program is a simulator of artificial life. A virtual universe is created that supports the basics of evolution: Replicators and cummulative selection. On the Internet, the ALIFE community includes a lot of software all trying to do related things. There are two main categories of ALIFE software:
- Primordial Soup simulations: These simulators begin with simple rules and attempt to cause the emergence of replicators. (I.e, Conways Life)
- Artifical life: The machinery for replication is the starting point. And the goal is to evolve better and better replicators.
Evolve 5.0 is an example of (2). Replication and mutations are built into the system. There is a loose connection between real world biology and the organisms in Evolve. Cells can grow into multicellular organism in Evolve. A cell is just a block on the grid. It contains a CPU core running a shared program.
This simulator is a union of Conway's Game of Life and Core Wars. The game of life presents a simple 2-dimensional universe, with some basic rules that cells in the universe follow (Evolve has a slightly more complex set of rules). Core wars is a virtual computer running many programs (written in REDCODE) in a shared memory space (called core). Each program tries to copy itself and crowd out other programs.
Evolve uses a sophisticated forth-like language (called KFORTH) for the control of organisms and cells. This is the analog of our DNA. The size of these programs is unbounded and therefore very complex behaviors can evolve. KFORTH programs do not run in a shared memory space rather, each cell has its own virtual computing machine that includes a data and call stack plus some working registers. 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.
Differences from other ALife software:
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.
Other ALife 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 simulator 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 billions of simulations steps, with billions of births and deaths.
Evolve has been in development since 1996. Read about the history of Evolve 5.0, here.



