This tab provides widgets that let you mess about with the Evolusim universe in various ways.

If you want to get your familiar cursor back, click to remove any of the magic added by the widgets below.

Mark individuals


Select a color then click on the individuals to mark them.


Click on things to zap them out of existence.


Click on an animal to show the things it can perceive.

Add things

Click on a thing below, then click somewhere in the rectangle of the universe to add an instance of that thing.


Click on an animal to give it a communicable disease.


Virulence is the probability that the disease will be communicated to another member of the same species upon touch. A disease with a virulence of 0 will not spread. One with a virulence of 1 will always spread upon touch.

mortality rate

The mortality rate is the base probability that a diseased animal will die in a given tick.

cure rate

The cure rate is the base probability that an animal will be cured of the disease in a given tick.

health divisor

The healthier an individual -- the greater its ratio of stored energy to potentially stored energy -- the less likely it is to catch a disease or die of it once caught, and the more likely it is to rid itself of the disease once caught. The health factor modifies this effect. To get the contribution of health toward the probability of any one of these outcomes one divides the health ratio by the health divisor.


A disease is represented by a dot of color in an organism's belly when it's hungry.


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 options tab, which allows you to control the starting state of the simulation.

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


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 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, a number that can evolve. If their environment is too crowded, they cannot reproduce. Plants are crowded by other plants. Animals are crowded by stones adnd other animals of any species.


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 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 eat the plants.


Carnivores eat the herbivores.

Initialization Parameters