Evolution Simulator is a non-commercial project created to visually demonstrate the basic principles of evolution. This project does not claim to be the most accurate and realistic evolution simulator ever created, but it is able to clearly explain how evolution works. That is why there are several conventions in the simulation that simplify its understanding. Abstract creatures, hereinafter referred to as cars (because of their appearance), are subjected to natural selection in the simulation.
Each car has its own genome. The genome is made up of triads of numbers. The first triad contains the number of edges, the number of wheels and the maximum width of the car. The following contains information sequentially about all the edges, and then about the wheels. The triad containing information about the edge describes its position in space: the first number is the length of the edge, the second is its angle of inclination in the XY plane, the third is the offset from the center along the Z axis. The triad containing information about the wheel describes its characteristics: the first number - the radius of the wheel, the second - the number of the vertex to which the wheel is attached, the third - the thickness of the wheel.
The simulation starts by creating cars with a random genome. Cars drive straight through an abstract terrain (hereinafter referred to as a road). When the car is no longer able to move forward (stuck, turned over or fell off the road), it dies. When all machines are dead, a new generation is created. Each car in a new generation is created by mixing the genomes of two cars from the previous generation. At the same time, the longer distance the car drove in comparison with the others, the more offspring it will leave. The genome of each created car also undergoes mutations with a given probability. As a result of such a model of natural selection, after a certain number of generations, a car will be created that can drive all the way from the beginning to the end.
One of the advantages of this project is a large number of customizable simulation parameters. All parameters can be found in the Settings tab, where they are divided into 3 groups. The Evolution Settings allow you to control the general parameters of the simulation, from the number of cars per generation to the probability of mutation. World Settings allow you to control the parameters of the road and gravity. The Genome Settings allow you to control the maximum values of the genome parameters such as the number of edges, the number of wheels and the width of the car. Another advantage of the project is the research and analysis tools located in the Statistics tab. There you will find all the statistics on the course of natural selection from the first generation to the current one. All this makes it easy and convenient to analyze the information received and better understand the theory of evolution.