This program simulates a tiny environment where one species adapts to avoid predation by another. Experiment with the different factors to see how the changes affect the populations.
The two species are modelled somewhat differently:
The Prey could be plants or sessile animals. They are plotted on the grid (green box). There is enough space and resources in the environment for exactly 100 of them to live. The Prey live for one year only, but each leaves a child in its place.
Prey have only one variable trait: their colour. They reproduce asexually, by parthenogenesis. Prey offspring should be the same colour as their parent, though mutations can and do occur.
The Predators are some sort of flying animal. They are not plotted, and notionally hover above the grid. Their numbers are limited by the Prey available. Predators do not suffer from old age, nor do they mutate in any way. They reproduce by parthenogenesis as well.
As time passes, the populations of the two species are graphed in the red box. Additionally, a breakdown of the Prey by colour is presented in bar graph form.
The simulation starts with a Creation event that sets up Predators and Prey. Each year thereafter is broken into three phases.
Both Predators and Prey can suffer accidents. The rate for each species can be controlled, either during Creation or while the simulation is running, using the controls in the blue box. The number shown for each species is the percentage chance for any one creature to die from an unspecified cause. Prey that die are marked with a red cross.
Each Predator tries to find one Prey to eat. Prey are eaten in descending order of "obviousness", ie. how much they stand out against the background. Prey that are the same colour as the background cannot be found. Any Predators that can't find a Prey die. Prey that are eaten are marked with a red cross.
Each Prey that has survived the year dies, leaving a single new Prey (which may be mutated) in its place. In addition, each Prey that has an empty space next to it has a chance of having an extra child. The Prey Birth Rate determines this: at 0, each Prey will only replace itself; at 50 they will have a second child half of the time; at 150 they will definitely have a second child (if space permits) and will have a third half of the time, and so on.
Each Predator that survived the year remains, and has a chance to have children using the same calculations as for Prey -- except that Predators will produce children unrestricted by space.
At the end of the Birth phase, the current population numbers are logged on the graphs, as is the Environment's background value.
Each factor of the simulation can be altered while it's not running. You can stop the simulation at any time, tweak the numbers, the restart it. (The only exception is the Prey Population: if you change that number, you have to reset the simulation before starting again.) The multiple increase/decreas buttons allow you to select your desired value quickly.
In addition, the factors other than populations can be changed while the simulator is running. You can use this to impose quick or slow changes in environmental conditions (background colour), radiation flux (mutation rate), natural hazards (accident rates) and so on.
You can also change the speed of the simulation, from a very slow rate that allows you to watch the phases in detail, to a very fast speed that can cover thousands of generations in a few minutes.
v1.1 2016-05-10Added touchpad support.
v1.0 2016-05-07Initial launch.