-
Notifications
You must be signed in to change notification settings - Fork 2
/
README
140 lines (127 loc) · 13.9 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
INSTALLATION
- Installation instructions can be found in the INSTALL file
TERMINOLOGY
- Adam
: new (random) critter
- Adam Distance (ad)
: generations with mutations since adam
OPTIONS
option [default] [range] [comment]
--autoload 0 0-1 autoload critters from ~/.critterding/load
--benchmark 0 0-1 run the critterding benchmark
--body_maxbodyparts 30 0-1000000 maximum body parts per critter
--body_maxbodypartsatbuildtime 6 1-1000000 maximum body parts for a new critter
--body_maxbodypartsize 200 1-1000000 maximum size of a critters body part
--body_maxheadsize 80 1-1000000 maximum size of a critters head
--body_maxmutations 3 1-1000000 maximum mutations on a body mutant
--body_minbodypartsize 20 1-1000000 minimum size of a critters body part
--body_minheadsize 30 1-1000000 minimum size of a critters head
--body_mutationrate 10 0-100 percentage of newborns that mutate bodies
--body_percentmutateeffectaddbodypart 1 0-100 chance of adding a body part
--body_percentmutateeffectchangecolor 1 0-100 chance of changing body color
--body_percentmutateeffectchangecolor_slightly 5 0-100 chance of changing body color
--body_percentmutateeffectchangeconstraintangles 1 0-100 chance of changing a joints position angles
--body_percentmutateeffectchangeconstraintangles_slightly 5 0-100 chance of changing a joints position angles
--body_percentmutateeffectchangeconstraintlimits 1 0-100 chance of changing a joints motion limits
--body_percentmutateeffectchangeconstraintlimits_slightly 5 0-100 chance of slightly changing a joints motion limits
--body_percentmutateeffectchangeconstraintposition 1 0-100 chance of changing a joints position
--body_percentmutateeffectchangeconstraintposition_slightly 5 0-100 chance of slightly changing a joints position
--body_percentmutateeffectremovebodypart 1 0-100 chance of removing a body part
--body_percentmutateeffectrepositionhead 5 0-100 chance of repositioning head
--body_percentmutateeffectresizebodypart 1 0-100 chance of resizing a body part
--body_percentmutateeffectresizebodypart_slightly 5 0-100 chance of slightly resizing a body part
--body_percentmutateeffectresizehead 1 0-100 chance of resizing a head
--body_percentmutateeffectresizehead_slightly 5 0-100 chance of slightly resizing a head
--brain_costfiringmotorneuron 100 0-1000000 cost of firing a motor neuron
--brain_costfiringneuron 10 0-1000000 cost of firing a neuron
--brain_costhavingneuron 50 0-1000000 cost of having a neuron (1/100000 energy)
--brain_costhavingsynapse 1 0-1000000 cost of having a synapse
--brain_maxdendridicbranches 3 1-1000000 maximum number of dendrites per neuron
--brain_maxfiringthreshold 10 1-1000000 maximum firingthreshold of a neuron
--brain_maxmutations 10 1-1000000 maximum mutations on a brain mutant
--brain_maxneurons 1000 1-1000000 maximum neurons per critter
--brain_maxneuronsatbuildtime 200 1-1000000 maximum neurons for a new critter
--brain_maxplasticitystrengthen 1000 1-1000000 maximum weight by which plastic synapses strengthen
--brain_maxplasticityweaken 10000 1-1000000 maximum weight by which plastic synapses weaken
--brain_maxsynapses 100 1-1000000 maximum synapses per neuron
--brain_maxsynapsesatbuildtime 40 1-1000000 maximum synapses for a new neuron of a new critter
--brain_minfiringthreshold 2 1-1000000 minimum firingthreshold of a neuron
--brain_minneuronsatbuildtime 50 1-1000000 minimum neurons for a new critter
--brain_minplasticitystrengthen 100 1-1000000 minimum weight by which plastic synapses strengthen
--brain_minplasticityweaken 1000 1-1000000 minimum weight by which plastic synapses weaken
--brain_minsynapses 1 1-1000000 minimum synapses per neuron
--brain_minsynapsesatbuildtime 1 1-1000000 minimum synapses for a new neuron
--brain_mutate_maxdendridicbranches 0 0-1 mutate this value
--brain_mutate_maxfiringthreshold 0 0-1 mutate this value
--brain_mutate_minfiringthreshold 0 0-1 mutate this value
--brain_mutate_mutateeffects 0 0-1 mutate mutation effects
--brain_mutate_percentchanceconsistentsynapses 0 0-1 mutate this value
--brain_mutate_percentchanceinhibitoryneuron 0 0-1 mutate this value
--brain_mutate_percentchanceinhibitorysynapses 0 0-1 mutate this value
--brain_mutate_percentchancemotorneuron 0 0-1 mutate this value
--brain_mutate_percentchanceplasticneuron 0 0-1 mutate this value
--brain_mutate_percentchancesensorysynapse 0 0-1 mutate this value
--brain_mutate_plasticityfactors 0 0-1 mutate min/max plasticity values
--brain_mutationrate 10 0-100 percentage of newborns that mutate brains
--brain_percentchanceconsistentsynapses 0 0-100 percent chance a neurons synapses are all inhibitory or excitatory
--brain_percentchanceinhibitoryneuron 50 0-100 percent chance a neuron is inhibotory
--brain_percentchanceinhibitorysynapses 50 0-100 percent chance a synapse is inhibitory
--brain_percentchancemotorneuron 50 0-100 percent chance a neuron is a motor neuron
--brain_percentchanceplasticneuron 20 0-100 percent chance a neuron has plastic synapses
--brain_percentchancesensorysynapse 20 0-100 percent change a synapse connects to an input
--brain_percentmutateeffectaddneuron 1 0-100 chance of adding a neuron
--brain_percentmutateeffectaddsynapse 5 0-100 chance of adding a synapse
--brain_percentmutateeffectaltermutable 1 0-100 mutate value of a mutatable option
--brain_percentmutateeffectalterneuron 2 0-100 chance of altering a neuron
--brain_percentmutateeffectremoveneuron 1 0-100 chance of removing a neuron
--brain_percentmutateeffectremovesynapse 5 0-100 chance of removing a synapse
--camerasensitivity 20 1-1000 sensitivity of the camera
--colormode 0 0-1 colors genetically exact critters identically
--critter_autoexchangeinterval 0 0-1000000 save critters every n seconds
--critter_autosaveinterval 0 0-1000000 save critters every n seconds
--critter_enableomnivores 1 0-1 enables critters to eat each other
--critter_insertevery 0 0-1000000 inserts a random critter every n frames
--critter_killhalfat 120 2-1000000 kill 50% of critters if population reaches n
--critter_maxenergy 5000 1-1000000 maximum amount of energy a critter has
--critter_maxlifetime 40000 1-1000000 maximum number of frames a critter lives
--critter_minenergyproc 3000 1-1000000 energy a critters needs to procreate
--critter_procinterval 20 1-1000000 minimum frames between procreations
--critter_raycastvision 0 0-1 use raycast vision instead of opengl
--critter_retinasize 8 1-1000 size of a critters eye retina
--critter_sightrange 70 1-1000000 distance a critter can see (10 = 1 worldsize)
--critter_startenergy 3000 1-1000000 energy a new critter (adam) starts with
--drawscene 1 0-1 draw the scene
--energy 400 0-1000000 energy in the system by number of food cubes
--exit_if_empty 0 0-1 exit simulation if there are no critters
--food_maxenergy 1500 1-1000000 maximum amount of energy a food unit has
--food_maxlifetime 10000 1-1000000 maximum number of frames a food unit exists
--food_size 200 1-1000000 size of a food unit
--fpslimit 30 1-1000 frames per second for the fps limiter
--fsX 800 1-1000000 fullscreen resolution X
--fsY 600 1-1000000 fullscreen resolution Y
--fullscreen 0 0-1 enable fullscreen mode
--headless 0 0-1 do not open gl context
--killhalf_decrenergypct 1 0-100 decrease energy by n percent when killhalfat triggers
--killhalf_decrmaxlifetimepct 0 0-100 decrease critter_maxlifetime by n when killhalfat triggers
--killhalf_incrworldsizeX 0 0-100 increase worldsizeX by n when killhalfat triggers
--killhalf_incrworldsizeY 0 0-100 increase worldsizeY by n when killhalfat triggers
--mincritters 10 0-1000 minimum number of critters
--race 0 0-1 enable race simulation
--retinasperrow 20 1-1000 number of vision retinas to stack per row onscreen
--roundworld 0 0-1 enable round planet
--startseed 0 0-4000000000 enable fullscreen mode
--testworld 0 0-1 a world for test purposes
--threads 1 1-16 threads to use
--worldsizeX 23 1-5000 size of the world along axis X
--worldsizeY 13 1-5000 size of the world along axis Y
--worldwalls 1 0-1 enable walls around the world
To save the default settings to a profile, press "s" in the simulation.
It will be saved to ./default and can be loaded by using "--profile ./default"
Use F1 in the simulation for more information about keys.
OTHER THINGS
- Make sure the retina boxes in the lower left of the window never leave the
boundaries of the window. Offscreen rendering is not supported by many
video card drivers. For some drivers vision will not work if you minimize
the window or change desktops.
Bob Winckelmans <[email protected]>
IRC: #[email protected]