crittering(1) Evolving Artificial Life

SYNOPSIS

critterding [OPTION]...

DESCRIPTION

This manual page was written for the Debian distribution because critterding does not have a manual page. It provides information taken from ``critterding --help'' output and project homepage.

Critterding is a ``Petri dish'' universe in 3D that demonstrates evolving artificial life. Critters start out with completely random brains and bodies, but will automatically start evolving into something with much better survival skills.

Critters are informed by sensors:

- if their head touches food unit.
- their head touches another critter
- if they are able to procreate
- about their energy state
- about their age
- about the state of their joints
- what the world looks like (RGBA vision)

Critters can make use of the following motor neurons (actions):

- bend joint
- bend joint in other direction
- eat
- procreate

At default, the program sets up a small world with a relatively large amount of food units and keeps throwing in critters with randomly generated brains and bodies.

After a while, one of these idiot critters will unavoidably be good enough to maintain a small population:

Slowly but surely, their behaviour will become a lot less random as they demonstrate increasingly better survival skills.

KEYS

To save current 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.

OPTIONS

--autoload num
 autoload critters from ~/.critterding/load
 (default: 0, range: 0-1)
--autoloadlastsaved num
 autoload critters from ~/.critterding/lastsaved
 (default: 0, range: 0-1)
--benchmark num
 run the critterding benchmark
 (default: 0, range: 0-1)
--body_maxbodyparts num
 maximum body parts per critter
 (default: 30, range: 0-1000000)
--body_maxbodypartsatbuildtime num
 maximum body parts for a new critter
 (default: 6, range: 1-1000000)
--body_maxbodypartsize num
 maximum size of a critters body part
 (default: 200, range: 1-1000000)
--body_maxheadsize num
 maximum size of a critters head
 (default: 80, range: 1-1000000)
--body_maxmutations num
 maximum mutations on a body mutant
 (default: 3, range: 1-1000000)
--body_minbodypartsize num
 minimum size of a critters body part
 (default: 20, range: 1-1000000)
--body_minheadsize num
 minimum size of a critters head
 (default: 30, range: 1-1000000)
--body_mutationrate num
 percentage of newborns that mutate bodies
 (default: 10, range: 0-100)
--body_percentmutateeffectaddbodypart num
 chance of adding a body part
 (default: 1, range: 0-100)
--body_percentmutateeffectchangecolor num
 chance of changing body color
 (default: 1, range: 0-100)
--body_percentmutateeffectchangecolor_slightly num
 chance of changing body color
 (default: 5, range: 0-100)
--body_percentmutateeffectchangeconstraintangles num
 chance of changing a joints position angles
 (default: 1, range: 0-100)
--body_percentmutateeffectchangeconstraintangles_slightly num
 chance of changing a joints position angles
 (default: 5, range: 0-100)
--body_percentmutateeffectchangeconstraintlimits num
 chance of changing a joints motion limits
 (default: 1, range: 0-100)
--body_percentmutateeffectchangeconstraintlimits_slightly num
 chance of slightly changing a joints motion limits
 (default: 5, range: 0-100)
--body_percentmutateeffectchangeconstraintposition num
 chance of changing a joints position
 (default: 1, range: 0-100)
--body_percentmutateeffectchangeconstraintposition_slightly num
 chance of slightly changing a joints position
 (default: 5, range: 0-100)
--body_percentmutateeffectremovebodypart num
 chance of removing a body part
 (default: 1, range: 0-100)
--body_percentmutateeffectrepositionhead num
 chance of repositioning head
 (default: 5, range: 0-100)
--body_percentmutateeffectresizebodypart num
 chance of resizing a body part
 (default: 1, range: 0-100)
--body_percentmutateeffectresizebodypart_slightly num
 chance of slightly resizing a body part
 (default: 5, range: 0-100)
--body_percentmutateeffectresizehead num
 chance of resizing a head
 (default: 1, range: 0-100)
--body_percentmutateeffectresizehead_slightly num
 chance of slightly resizing a head
 (default: 5, range: 0-100)
--brain_costfiringmotorneuron num
 cost of firing a motor neuron
 (default: 100, range: 0-1000000)
--brain_costfiringneuron num
 cost of firing a neuron
 (default: 10, range: 0-1000000)
--brain_costhavingneuron num
 cost of having a neuron (1/100000 energy)
 (default: 50, range: 0-1000000)
--brain_costhavingsynapse num
 cost of having a synapse
 (default: 1, range: 0-1000000)
--brain_maxdendridicbranches num
 maximum number of dendrites per neuron
 (default: 3, range: 1-1000000)
--brain_maxfiringthreshold num
 maximum firingthreshold of a neuron
 (default: 10, range: 1-1000000)
--brain_maxmutations num
 maximum mutations on a brain mutant
 (default: 10, range: 1-1000000)
--brain_maxneurons num
 maximum neurons per critter
 (default: 1000, range: 1-1000000)
--brain_maxneuronsatbuildtime num
 maximum neurons for a new critter
 (default: 200, range: 1-1000000)
--brain_maxplasticitystrengthen num
 maximum weight by which plastic synapses strengthen
 (default: 1000, range: 1-1000000)
--brain_maxplasticityweaken num
 maximum weight by which plastic synapses weaken
 (default: 10000, range: 1-1000000)
--brain_maxsynapses num
 maximum synapses per neuron
 (default: 100, range: 1-1000000)
--brain_maxsynapsesatbuildtime num
 maximum synapses for a new neuron of a new critter
 (default: 40, range: 1-1000000)
--brain_minfiringthreshold num
 minimum firingthreshold of a neuron
 (default: 2, range: 1-1000000)
--brain_minneuronsatbuildtime num
 minimum neurons for a new critter
 (default: 50, range: 1-1000000)
--brain_minplasticitystrengthen num
 minimum weight by which plastic synapses strengthen
 (default: 100, range: 1-1000000)
--brain_minplasticityweaken num
 minimum weight by which plastic synapses weaken
 (default: 1000, range: 1-1000000)
--brain_minsynapses num
 minimum synapses per neuron
 (default: 1, range: 1-1000000)
--brain_minsynapsesatbuildtime num
 minimum synapses for a new neuron
 (default: 1, range: 1-1000000)
--brain_mutate_maxdendridicbranches num
 mutate this value
 (default: 0, range: 0-1)
--brain_mutate_maxfiringthreshold num
 mutate this value
 (default: 0, range: 0-1)
--brain_mutate_minfiringthreshold num
 mutate this value
 (default: 0, range: 0-1)
--brain_mutate_mutateeffects num
 mutate mutation effects
 (default: 0, range: 0-1)
--brain_mutate_percentchanceconsistentsynapses num
 mutate this value
 (default: 0, range: 0-1)
--brain_mutate_percentchanceinhibitoryneuron num
 mutate this value
 (default: 0, range: 0-1)
--brain_mutate_percentchanceinhibitorysynapses num
 mutate this value
 (default: 0, range: 0-1)
--brain_mutate_percentchancemotorneuron num
 mutate this value
 (default: 0, range: 0-1)
--brain_mutate_percentchanceplasticneuron num
 mutate this value
 (default: 0, range: 0-1)
--brain_mutate_percentchancesensorysynapse num
 mutate this value
 (default: 0, range: 0-1)
--brain_mutate_plasticityfactors num
 mutate min/max plasticity values
 (default: 0, range: 0-1)
--brain_mutationrate num
 percentage of newborns that mutate brains
 (default: 10, range: 0-100)
--brain_percentchanceconsistentsynapses num
 percent chance a neurons synapses are all inhibitory or excitatory
 (default: 0, range: 0-100)
--brain_percentchanceinhibitoryneuron num
 percent chance a neuron is inhibotory
 (default: 50, range: 0-100)
--brain_percentchanceinhibitorysynapses num
 percent chance a synapse is inhibitory
 (default: 50, range: 0-100)
--brain_percentchancemotorneuron num
 percent chance a neuron is a motor neuron
 (default: 50, range: 0-100)
--brain_percentchanceplasticneuron num
 percent chance a neuron has plastic synapses
 (default: 20, range: 0-100)
--brain_percentchancesensorysynapse num
 percent change a synapse connects to an input
 (default: 20, range: 0-100)
--brain_percentmutateeffectaddneuron num
 chance of adding a neuron
 (default: 1, range: 0-100)
--brain_percentmutateeffectaddsynapse num
 chance of adding a synapse
 (default: 5, range: 0-100)
--brain_percentmutateeffectaltermutable num
 mutate value of a mutatable option
 (default: 1, range: 0-100)
--brain_percentmutateeffectalterneuron num
 chance of altering a neuron
 (default: 2, range: 0-100)
--brain_percentmutateeffectremoveneuron num
 chance of removing a neuron
 (default: 1, range: 0-100)
--brain_percentmutateeffectremovesynapse num
 chance of removing a synapse
 (default: 5, range: 0-100)
--camerasensitivity num
 sensitivity of the camera
 (default: 20, range: 1-1000)
--colormode num
 colors genetically exact critters identically
 (default: 0, range: 0-1)
--critter_autoexchangeinterval num
 save critters every n seconds
 (default: 0, range: 0-1000000)
--critter_autosaveinterval num
 save critters every n seconds
 (default: 0, range: 0-1000000)
--critter_enableomnivores num
 enables critters to eat each other
 (default: 1, range: 0-1)
--critter_insertevery num
 inserts a random critter every n frames
 (default: 0, range: 0-1000000)
--critter_killhalfat num
 kill 50% of critters if population reaches n
 (default: 120, range: 2-1000000)
--critter_maxenergy num
 maximum amount of energy a critter has
 (default: 5000, range: 1-1000000)
--critter_maxlifetime num
 maximum number of frames a critter lives
 (default: 40000, range: 1-1000000)
--critter_minenergyproc num
 energy a critters needs to procreate
 (default: 3000, range: 1-1000000)
--critter_procinterval num
 minimum frames between procreations
 (default: 20, range: 1-1000000)
--critter_raycastvision num
 use raycast vision instead of opengl
 (default: 0, range: 0-1)
--critter_retinasize num
 size of a critters eye retina
 (default: 8, range: 1-1000)
--critter_sightrange num
 distance a critter can see (10 = 1 worldsize)
 (default: 70, range: 1-1000000)
--critter_startenergy num
 energy a new critter (adam) starts with
 (default: 3000, range: 1-1000000)
--drawscene num
 draw the scene
 (default: 1, range: 0-1)
--energy num
 energy in the system by number of food cubes
 (default: 400, range: 0-1000000)
--exit_if_empty num
 exit simulation if there are no critters
 (default: 0, range: 0-1)
--food_maxenergy num
 maximum amount of energy a food unit has
 (default: 1500, range: 1-1000000)
--food_maxlifetime num
 maximum number of frames a food unit exists
 (default: 40000, range: 1-1000000)
--food_size num
 size of a food unit
 (default: 200, range: 1-1000000)
--fpslimit num
 frames per second for the fps limiter
 (default: 30, range: 1-1000)
--fsX num
 fullscreen resolution X
 (default: 800, range: 1-1000000)
--fsY num
 fullscreen resolution Y
 (default: 600, range: 1-1000000)
--fullscreen num
 enable fullscreen mode
 (default: 0, range: 0-1)
--headless num
 do not open gl context
 (default: 0, range: 0-1)
--killhalf_decrenergypct num
 decrease energy by n percent when killhalfat triggers
 (default: 1, range: 0-100)
--killhalf_decrmaxlifetimepct num
 decrease critter_maxlifetime by n when killhalfat triggers
 (default: 0, range: 0-100)
--killhalf_incrworldsizeX num
 increase worldsizeX by n when killhalfat triggers
 (default: 0, range: 0-100)
--killhalf_incrworldsizeY num
 increase worldsizeY by n when killhalfat triggers
 (default: 0, range: 0-100)
--mincritters num
 minimum number of critters
 (default: 10, range: 0-1000)
--race num
 enable race simulation
 (default: 0, range: 0-1)
--retinasperrow num
 number of vision retinas to stack per row onscreen
 (default: 20, range: 1-1000)
--roundworld num
 enable round planet
 (default: 0, range: 0-1)
--startseed num
 enable fullscreen mode
 (default: 0, range: 0-4000000000)
--testworld num
 a world for test purposes
 (default: 0, range: 0-1)
--threads num
 threads to use
 (default: 1, range: 1-16)
--worldsizeX num
 size of the world along axis X
 (default: 23, range: 1-5000)
--worldsizeY num
 size of the world along axis Y
 (default: 13, range: 1-5000)
--worldwalls num
 enable walls around the world
 (default: 1, range: 0-1)