CRITTERDING(1)

πŸ“¦ version 1.0-beta12.1, in debian bookworm, ubuntu jammy, ubuntu noble

πŸ’– CRITTERDING(1) πŸ’–

okay bestie, welcome to the critterding Debian manpage β€” part 1 of 2, and it's a long one πŸ’… this is the whole page, vibe edition, nothing skipped, no cap.


🌸 NAME 🌸

crittering β€” Evolving Artificial Life πŸ¦‹

✨ SYNOPSIS ✨

critterding [OPTION]...

πŸ’« DESCRIPTION πŸ’«

okay so real talk first: this manual page was written for the Debian distribution because critterding does not have a manual page of its own 😭. Everything you're about to read was pulled from the critterding --help output and the project homepage. So like, we work with what we've got 🫢.

Critterding is a "Petri dish" universe in 3D that demonstrates evolving artificial life πŸ”₯. Your critters start out with completely random brains and bodies β€” full chaos, no thoughts, head empty β€” but they will automatically start evolving into something with much better survival skills. glow up arc fr fr πŸ‘‘

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. iykyk 🫢

πŸ‘‘ OPTIONS πŸ‘‘

  • --autoload num β€” auto-loads your critters straight out of ~/.critterding/load (default: 0, range: 0-1)
  • --autoloadlastsaved num β€” auto-loads your critters out of ~/.critterding/lastsaved instead (default: 0, range: 0-1)
  • --benchmark num β€” runs the critterding benchmark, let's go πŸƒ (default: 0, range: 0-1)

πŸ¦‹ body stuff (the whole entire physique) πŸ¦‹

  • --body_maxbodyparts num β€” max body parts a single critter can have (default: 30, range: 0-1000000)
  • --body_maxbodypartsatbuildtime num β€” max body parts a brand new critter gets at build time (default: 6, range: 1-1000000)
  • --body_maxbodypartsize num β€” the biggest a critter's body part is allowed to get (default: 200, range: 1-1000000)
  • --body_maxheadsize num β€” the biggest a critter's head is allowed to get (default: 80, range: 1-1000000)
  • --body_maxmutations num β€” max mutations that can land on a body mutant (default: 3, range: 1-1000000)
  • --body_minbodypartsize num β€” the smallest a critter's body part is allowed to get (default: 20, range: 1-1000000)
  • --body_minheadsize num β€” the smallest a critter's head is allowed to get (default: 30, range: 1-1000000)
  • --body_mutationrate num β€” what percentage of newborns mutate their bodies (default: 10, range: 0-100)
  • --body_percentmutateeffectaddbodypart num β€” the chance of adding a body part (default: 1, range: 0-100)
  • --body_percentmutateeffectchangecolor num β€” the chance of changing body color (default: 1, range: 0-100)
  • --body_percentmutateeffectchangecolor_slightly num β€” the chance of changing body color (default: 5, range: 0-100)
  • --body_percentmutateeffectchangeconstraintangles num β€” the chance of changing a joints position angles (default: 1, range: 0-100)
  • --body_percentmutateeffectchangeconstraintangles_slightly num β€” the chance of changing a joints position angles (default: 5, range: 0-100)
  • --body_percentmutateeffectchangeconstraintlimits num β€” the chance of changing a joints motion limits (default: 1, range: 0-100)
  • --body_percentmutateeffectchangeconstraintlimits_slightly num β€” the chance of slightly changing a joints motion limits (default: 5, range: 0-100)
  • --body_percentmutateeffectchangeconstraintposition num β€” the chance of changing a joints position (default: 1, range: 0-100)
  • --body_percentmutateeffectchangeconstraintposition_slightly num β€” the chance of slightly changing a joints position (default: 5, range: 0-100)
  • --body_percentmutateeffectremovebodypart num β€” the chance of removing a body part (default: 1, range: 0-100)
  • --body_percentmutateeffectrepositionhead num β€” the chance of repositioning head (default: 5, range: 0-100)
  • --body_percentmutateeffectresizebodypart num β€” the chance of resizing a body part (default: 1, range: 0-100)
  • --body_percentmutateeffectresizebodypart_slightly num β€” the chance of slightly resizing a body part (default: 5, range: 0-100)
  • --body_percentmutateeffectresizehead num β€” the chance of resizing a head (default: 1, range: 0-100)
  • --body_percentmutateeffectresizehead_slightly num β€” the chance of slightly resizing a head (default: 5, range: 0-100)

🧠 brain stuff (the whole entire lore) 🧠

  • --brain_costfiringmotorneuron num β€” the cost of firing a motor neuron (default: 100, range: 0-1000000)
  • --brain_costfiringneuron num β€” the cost of firing a neuron (default: 10, range: 0-1000000)
  • --brain_costhavingneuron num β€” the cost of having a neuron (1/100000 energy) (default: 50, range: 0-1000000)
  • --brain_costhavingsynapse num β€” the cost of having a synapse (default: 1, range: 0-1000000)
  • --brain_maxdendridicbranches num β€” max number of dendrites per neuron (default: 3, range: 1-1000000)
  • --brain_maxfiringthreshold num β€” the maximum firingthreshold of a neuron (default: 10, range: 1-1000000)
  • --brain_maxmutations num β€” max mutations that can land on a brain mutant (default: 10, range: 1-1000000)
  • --brain_maxneurons num β€” max neurons per critter (default: 1000, range: 1-1000000)
  • --brain_maxneuronsatbuildtime num β€” max neurons a brand new critter gets (default: 200, range: 1-1000000)
  • --brain_maxplasticitystrengthen num β€” the maximum weight by which plastic synapses strengthen (default: 1000, range: 1-1000000)
  • --brain_maxplasticityweaken num β€” the maximum weight by which plastic synapses weaken (default: 10000, range: 1-1000000)
  • --brain_maxsynapses num β€” max synapses per neuron (default: 100, range: 1-1000000)
  • --brain_maxsynapsesatbuildtime num β€” max synapses for a new neuron of a new critter (default: 40, range: 1-1000000)
  • --brain_minfiringthreshold num β€” the minimum firingthreshold of a neuron (default: 2, range: 1-1000000)
  • --brain_minneuronsatbuildtime num β€” minimum neurons a brand new critter gets (default: 50, range: 1-1000000)
  • --brain_minplasticitystrengthen num β€” the minimum weight by which plastic synapses strengthen (default: 100, range: 1-1000000)
  • --brain_minplasticityweaken num β€” the 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 β€” what percentage of newborns mutate their 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 β€” the chance of adding a neuron (default: 1, range: 0-100)
  • --brain_percentmutateeffectaddsynapse num β€” the 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 β€” the chance of altering a neuron (default: 2, range: 0-100)
  • --brain_percentmutateeffectremoveneuron num β€” the chance of removing a neuron (default: 1, range: 0-100)
  • --brain_percentmutateeffectremovesynapse num β€” the chance of removing a synapse (default: 5, range: 0-100)

🌈 critter + camera stuff (the whole entire world) 🌈

  • --camerasensitivity num β€” how sensitive the camera is (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 β€” the absolute most energy a critter is allowed to hold. cap it, bestie. (default: 5000, range: 1-1000000)
  • --critter_maxlifetime num β€” the most frames a critter gets to live, like a lil countdown timer on its whole existence πŸ•°οΈ (default: 40000, range: 1-1000000)
  • --critter_minenergyproc num β€” how much energy a critter needs banked before it can procreate. no energy, no babies. (default: 3000, range: 1-1000000)
  • --critter_procinterval num β€” the minimum number of frames that have to pass between procreations (default: 20, range: 1-1000000)
  • --critter_raycastvision num β€” switch vision over to raycast instead of opengl ✨ (default: 0, range: 0-1)
  • --critter_retinasize num β€” how big a critter's eye retina is πŸ‘οΈ (default: 8, range: 1-1000)
  • --critter_sightrange num β€” how far a critter can see, where 10 = 1 worldsize (default: 70, range: 1-1000000)
  • --critter_startenergy num β€” the energy a brand new critter (adam) spawns in with 🌱 (default: 3000, range: 1-1000000)
  • --drawscene num β€” actually draw the scene, or don't (default: 1, range: 0-1)
  • --energy num β€” how much energy is in the system, measured by number of food cubes πŸ“ (default: 400, range: 0-1000000)
  • --exit_if_empty num β€” bail out of the simulation entirely if there are zero critters left (default: 0, range: 0-1)
  • --food_maxenergy num β€” the most energy a single food unit can carry (default: 1500, range: 1-1000000)
  • --food_maxlifetime num β€” the most frames a food unit sticks around for (default: 40000, range: 1-1000000)
  • --food_size num β€” how big a food unit is (default: 200, range: 1-1000000)
  • --fpslimit num β€” the frames-per-second the fps limiter holds you to (default: 30, range: 1-1000)
  • --fsX num β€” fullscreen resolution along X (default: 800, range: 1-1000000)
  • --fsY num β€” fullscreen resolution along Y (default: 600, range: 1-1000000)
  • --fullscreen num β€” turn fullscreen mode on πŸ–₯️ (default: 0, range: 0-1)
  • --headless num β€” do not open a gl context, iykyk (default: 0, range: 0-1)
  • --killhalf_decrenergypct num β€” drop energy by n percent whenever killhalfat triggers (default: 1, range: 0-100)
  • --killhalf_decrmaxlifetimepct num β€” drop critter_maxlifetime by n whenever killhalfat triggers (default: 0, range: 0-100)
  • --killhalf_incrworldsizeX num β€” bump worldsizeX up by n whenever killhalfat triggers (default: 0, range: 0-100)
  • --killhalf_incrworldsizeY num β€” bump worldsizeY up by n whenever killhalfat triggers (default: 0, range: 0-100)
  • --mincritters num β€” the minimum number of critters you're willing to have around (default: 10, range: 0-1000)
  • --race num β€” turn the race simulation on 🏁 (default: 0, range: 0-1)
  • --retinasperrow num β€” how many vision retinas get stacked per row onscreen (default: 20, range: 1-1000)
  • --roundworld num β€” enable a round planet 🌍 (iconic honestly) (default: 0, range: 0-1)
  • --startseed num β€” enable fullscreen mode (default: 0, range: 0-4000000000)
okay bestie yes i KNOW it says "enable fullscreen mode" on the seed option. that's literally what the page says. i am not the one who wrote it. i'm just the one reporting it faithfully. πŸ™ˆ
  • --testworld num β€” a world that exists purely for test purposes πŸ§ͺ (default: 0, range: 0-1)
  • --threads num β€” how many threads to use ⚑ (default: 1, range: 1-16)
  • --worldsizeX num β€” the size of the world along axis X (default: 23, range: 1-5000)
  • --worldsizeY num β€” the size of the world along axis Y (default: 13, range: 1-5000)
  • --worldwalls num β€” put walls around the world so nobody wanders off 🧱 (default: 1, range: 0-1)

πŸ‘€ SEE ALSO πŸ‘€


and that's the whole entire page, bestie!! πŸ’– you made it all the way to the bottom, which is honestly main character energy πŸ‘‘

this was CRITTERDING(1), version 1.0, dated 2010-03-17 β€” yes she's an elder but she still serves πŸŽ€

go forth and evolve some lil guys πŸ¦‹βœ¨ periodt πŸ’…

πŸ“¦ where this page comes from