Simulation Parameters (old, for v1.xx versions)


Simulation rules

Model: this switch affects physical simulation. There are two models available: "Limited motion" and "Low damping". The latter allows creatures to move/jump faster and more naturally. Default: "Low damping".

Old neurons compatibility: Framsticks neurons' properties can now be individually changed. You can use this switch to make all neurons work in the same, default way, however, you should not turn on this switch in most cases.

Simulator capacity – maximal population on the genotypes list.

Delete genotypes – you can choose which genotypes will be deleted when capacity limit is reached.

Destructive collisions – when a creature hits another one, sticks can be destroyed (allows for simulation of fights and spontaneous evolution).

Internal debugger – it's for developers mainly. In each step of the simulation, structures are thoroughly checked and errors are reported.

Death – creature dies when its energy reaches 0. Default: On.


Selection

These parameters describe how the genotypes' fitness is calculated. Fitness is the weighted sum of life span, velocity, distance, and structure size (with a constant added).

Velocity and Distance are calculated from creature's center of gravity position measured during its lifetime. Velocity precision parameter changes 'sampling period'. Low values cause vibrations/little moves to be counted as velocity. High values let only smooth, straight moves be counted.

You can turn on normalization to have the criteria normalized to [0,1] interval before weighting.

Selection: Advanced

Scale fitness? – if turned on, modifies fitness linearly according to the following rules:
Enable performance calculation after... – performance calculation for a new born creature can be delayed. It's useful when the criterion is speed or distance. Creature could gain additional ("unfair") fitness bonus because of its initial position (eg. creature falls on the ground and earns the speed). Possible values are:

Species similarity: Similarity to other coexisting species can lower the species' rating. Two methods are possible. Threshold function: fitness is divided by the number of species with similarity coefficient bigger than the threshold value (the value is set in the Creation Probabilities page). Linear function: fitness is divided by the sum of similarities (the given genotype vs. genotypes list).
This option is introduced to give better selection chance to species (genotypes) that have small population, but are innovative (are not similar to other genotypes).
Value used for division (in both methods) is 'Similarity' and is displayed on the genotypes list. See also Genetics/Similarity.

Energetic efficiency: In this mode, fitness is divided by creature's starting energy before further rating calculations. Thus, 'fitness' becomes a 'fitness ratio'. The motivation is to include creation costs into the final fitness. It can lead to more fair competition, although the real advantages and disadvantages of this approach haven't yet been tested.


Creation

Simulated creatures – the number of creatures automatically put into the simulated world. Other parameters decide how they will be created: Minimal similarity: Only the genotypes that are more similar than the given threshold can be crossed-over. This disables breeding of totally different genotypes, whose offspring would be probably inefficient/unable to live. See also Genetics/Similarity.

Energy flow

Starting energy – new creature's starting energy (per one stick). This parameter is the base energy value when no energy modifiers ('E'/'e') are used. The actual value can be modified in the genotypes to be higher/lower, relatively to this setting.

Growing energy (EXPERIMENTAL) – Enter a small fraction of "starting energy" here to enable this (eg. 5, when starting energy=100). Now every new creature has to collect its initial energy while it grows. The growing process is an attempt to solve the problem of initial position (see 'enable performance calculation after...'). Additionally, smaller creatures grow faster than bigger ones.

Idle metabolism – energy requirement for one living stick in 100 simulation steps.

Aging time – energy requirements will be increased during the lifetime if this value is set above zero. After each period of 'Aging time', idle energy is doubled. This option is introduced to ensure that every creature shall die sooner or later. Higher values mean longer periods between increasing the energy requirements.

Muscle static work and Muscle dynamic work – energy requirements for dynamic (a muscle moved using a force) and static (a muscle stays in a position when an external force is trying to bend it) work. Values are maximal energy requirements in 100 simulation steps for extremely strong muscles (with enough 'M' modifiers).

Assimilation energy (aka 'sun activity') – Maximal energy production in assimilation-specialized sticks (in 100 simulation steps). A stick gains such an amount of energy if it is placed vertically. Horizontal sticks can get only a half of this value.

Automatic feeding – a given number of energy balls will be placed randomly in the world all the time.

Ball's energy – an amount of energy in one ball.

Eatable corpse – after creature's death, its corpse stays in the world and can be used as energy source (each dead stick has the given amount of energy).


Files

Save backup – if set to >0, the simulator writes a genotypes file (log) each N million steps (where you set N).

Overwrite – if not set, the simulator will change filenames if needed so that it will not overwrite old files.

Show file comments – comments from loaded files will be displayed in the messages window.


World

Type – world can be a 'Flat surface' or 'Blocks'
Size – Side length of the (square) world
Map – description of blocks layout (in 'Blocks' mode), it can be:
Water level – the main surface is at height 0.0 and you can set the water level here.
Boundaries – what's happening when a creature comes to the boundary of the world?

Genetics

Genetics: f1

The first two parameters let you change the global intensities of mutations.

The next three ("exclude" fields) let you disable using some genotypic symbols during mutations: you can prevent some features from being present in the evolved genotypes. Excluding 'E' and 'e' is needed when energetic efficiency mode is disabled (so that the creatures will not change their starting energy). And, for example, if you don't want your creatures to use different sticks' weights to improve swimming ability in water, exclude 'W' and 'w'. You can also disable some type of muscles (for example, a rotating one), or some types of receptors (like 'T' – touch, which may not be needed in water except for touching the bottom, or 'S' – smell, which is not needed unless you want your creatures to know about food/energy position).

Extended genotype repair says whether the program should attempt to repair the genotype (after mutation) by adjusting the number of parentheses.

Proportional segments crossover: when turned off, random substrings of two parent genotypes are exchanged to form two offspring genotypes. When turned on, similar (proportional) segments are exchanged. This can be important if you perform crossover only within species (among similar individuals – genotypes).

Genetics: f1: Morphology

Detailed mutation probabilities concerning physical structure parts in genotypes.

Genetics: f1: Neuron net

Detailed mutation probabilities concerning neuron net parts in genotypes.

Genetics: f1: Similarity

How the similarity of two genotypes is evaluated. This is important during crossing over, which can depend on the similarity of the genotypes being crossed over (and can make crossing over of differing genotypes impossible). Enter relative weights of the given genotypes criteria, concerning 'body' and 'brain'.

Genetics: Conversions

Specific converters can be enabled and disabled here. They convert various formats of genotypes. Unless you are an experienced user, leave all of them enabled.