Creatures - Simulation of Natural Selection

The script “Creatures” generates a dynamic system of small 4-gene individuals competing among each other for space, proliferating and mutating. The program intends to simulate evolutionary processes driven by natural selection.


This is work in progress. I am building a program, originally I have written in QBASIC, to simulate evolutionary processes. It should show evolving colonies of creatures competing with individuals of the same species and other species.

Setup

Model
(1, 2 or 3)
Seed
(1, 2 or 3)
Match
(nop, lin, exp, or cos)
Mutation
(1 of)
Range Mutation
(# off)
Being Old
(# divisions)
eMove
eCrash
eTurn

Action

Models

[1] Actor's locA is compared to Neighbour's locA to determine if actor can see neighbour. Actor's locB is compared to neighbour's locB to determine if neighbour is ally or rival.

[2] Actor's locA is compared to Neighbour's locB to determine if actor can see neighbour. Actor's locA is compared to neighbour's locC to determine if neighbour is ally or rival.

[3] Actor's locA is compared to Neighbour's locB to determine if actor can see neighbour. Actor's locB is compared to neighbour's locA to determine if neighbour is ally or rival.

[4] Actor's locA is compared to Neighbour's locB to determine if actor can see neighbour. Actor's locC is compared to neighbour's locC to determine if neighbour is ally or rival.

Seeds

[1] Start with one creature, one species.

[2] Start with several different creatures of different species.

[3] Start with full house, random number of different species.

Matches

[nop]: No probability. If gene distance is less than 25, the gene matches.

[lin, cos, exp]: Proability to match decreases for larger gene distances. The probability not to match increases linear, cosinus form or exponential.

Map (x, y)

Stats

Moved
Crashed
Divided
Mutated
Creatures
Species
Density %

Dying

Died
Eaten
Low Energy
Crashing
Getting Old

locA

locB

locC

locZ