home
start

About

This page shows the Evolusim evolution simulator. During a simulation a variety of "organisms" gather resources and reproduce. Individual organisms inherit their traits from their parents modified by occasional mutations. An organism's health and traits are partially reflected in its appearance: eye size indicates how far the organism can see; ear size, how far it can hear; tail length, how quickly it can accelerate; eye spacing, its angle of vision. As an organism eats, its belly fills up — the white spot in its center shrinks. Having babies costs food. There are other inheritable traits, such as the mutation rate of an organism's genes themselves, that are not reflected in an organism's appearance.

The tabs to the right of this display Google charts representing the state of the simulation over time, except the fiddle tab, which allows you to modify the ongoing simulation, and the options tab, which allows you to control the simulation's starting state.

Evolusim has been tested under Chrome and Firefox. It runs slightly faster under Chrome, and Firefox pauses noticeably for garbage collection. I can't speak for the experience under other javascript engines.

Things in the Universe

Stones

All animals dislike stones. This dislike is a fixed parameter -- it does not evolve. Also, if an animal moves onto a stone a powerful force will tend to force it to slip off in a direction away from the center of the stone. The function of stones is to create barriers the user can place in the universe to experiment and to provide shelter to plants, which are as happy to grow on a stone as anywhere.

Organisms

Organisms gather food from their environment, requiring a certain amount every tick of the clock to stay alive. Their "health" is the maximum amount of food they can store. The ratio of their stored food to their health determines whether they can have babies. When they reproduce, they lose some stored energy and transfer some of this loss to their baby. To reproduce, they must find a location within a certain radius of themselves where they can put the baby. They have a certain number of attempts in a certain tick of the clock. This "baby tries" number can itself evolve. Every attempt to reproduce incurs a "seed cost" regardless of success. If an organisms environment is too crowded, it cannot reproduce. Plants are crowded by other plants. Animals are crowded by stones and other animals of any species.

Plants

Plants are the foundation of the Evolusim food chain. They obtain a certain amount of energy from the environment with every tick. They are also the only organisms that can disperse their babies far away from themselves.

Animals

Animals can see, hear, move, and react. Animals have no memory but react to whatever they perceive at the moment. If they touch a food source such that its center is within their radius, and are not completely full, they will consume it. How they move is governed by their affinities to the things they see and the inverse square of the distance between them (and the constant g). This creates a collection of vectors. These are added up to create a net acceleration. Each species has a maximum acceleration, so this acceleration vector may be trimmed. This is added to the animal's velocity. Again, each species also has a maximum velocity, so this may also be trimmed. The animal is moved by adding its velocity vector to its position. The angle of an animal's velocity vector, plus some random jitter, determines where it is facing after it moves.

An animal's maximum velocity and acceleration is proportional to its radius.

"Hearing" allows an animal to perceive anything around within a certain distance. "Vision" allows it to perceive things in front of it within a certain angle. Vision always extends somewhat farther than hearing. The angle between an animal's eyes and the size of its eyes and ears (which reflects their range) may all evolve.

Herbivores

Herbivores eat the plants.

Carnivores

Carnivores eat the herbivores.