Change Log for the May 2016 build

May 2016 build

Completely rewrote the chemistry system:

  • The properties of chemicals used to be defined by their structure, which was academically fascinating but practically very difficult to use. Reactions are now defined independently by Regulator objects (formerly simple chemoemitters).
  • All chemicals now exist in the same bloodstream (no longer separate containers with channels linking them).
  • Neurochemistry and normal chemistry are now combined into one consistent system.

Overhauled the genetics system:

  • The primary storage for genomes was as raw “DNA” (in .DNA) files. That’s still how they’ll be used in the final product, but during development the primary form is now a human-readable .SRC file. This is not only hand-editable but can contain helpful documentation for each gene (something not possible in a DNA file). There are two types: .SRC1 files are haploid, because during development the genotype is deliberately purebred anyway, and having only one copy of each gene prevents any dominance issues caused by the edits not being kept in sync across the two strands. .SRC2 files are diploid, just for times when I have a heterozygous DNA file that I need to read/edit by hand.
  • The genome is now stored internally in a much better way – less prone to errors, more consistent interaction with gene editors, easier to document, etc.

Assorted brain changes:

  • Major revamp of the decision-making system, affect learning, how intrinsic goals are handled, etc. Added low-level noise to generate possible random intrinsics in the absence of anything else to do, and made the liminality threshold adaptive, so that the mean activity level doesn’t get too frantic or dull.
  • New map type: Sequencer. Added a tail sequencer, to handle wagging the tail when happy, tail movements during peeing and pooping, etc. Added a face sequencer to handle facial expressions for moods and face movements during eating, etc.
  • After a creature is created, if any brain maps have phenotype files they get loaded automatically, allowing previously learned information to be re-loaded during development.
  • A more consistent way to handle signal amplitudes for urgency, salience and valence.
  • Revamped the layer structure in maps, to make things more coherent (e.g. prograde and retrograde layers)
  • Instincts can now be permanent, sticky or easily overlearned, on a column-by-column (as opposed to map-by-map) basis. The default is for them to be learnable if no instinct genes apply or permanent if there’s an instinct gene, but this can be overridden.
  • Obstacle-avoidance greatly improved [but currently broken again!]
  • If gloop remembers where he saw an X but it’s apparently no longer there, he eventually forgets it (only eventually, because he can’t be sure he’s looking at exactly the right place).
  • Fixed the bug where creatures didn’t want to turn right.
  • Added maps (WHOA-WHOE and RECP) for learning to recognize individuals of our own kind. WHOC, D, E also give the brain access to social salience features (rank, relationship and mood)

Improvements to sensory and motor organs:

  • Mouth can eat (and receive nutrients), poke at things, produce sounds and particles, etc.
  • Creatures now have the signals necessary to recognize each other from physical characteristics. They can tell if and how they’re related to someone else, and how they compare in terms of social rank (based on dominant sex, size, age, weakness) They can also see facial expressions to detect someone else’s mood.

Added some low-level physiology and physiognomy:

  • Creatures can now have skin markings and colors (defined genetically). Also the genes controlling horn length, neck and tail size, etc. are now expressed. NOTE: Every creature currently comes out looking different, even though they’re genetically all clones, because I’ve just randomized those genes for the sake of being able to tell creatures apart.
  • Congenital and dietary fatness – if they eat too many throgs and use too little energy doing it, they get fatter (really fat ones can hardly walk!)
  • Control of breathing rate and heartbeat (heartbeat will be available to medical equipment as part of organ health telemetry later).
  • Creatures can visibly poop and pee (and they need to, or else their systems become saturated with waste products and metabolism will slow to a halt). Note: It takes quite a while after birth for their waste products to build up. Often they won’t poop until they’ve had a sleep, depending on how many throgs they’ve eaten. Peeing happens sooner, but you need to be there at the time to see it.
  • Some basic chemistry added to handle metabolic processes and begin to provide drives that the brain can use for learning/motivation.
  • If they don’t eat enough or can’t breathe, they die.
  • Sleep/dreaming is now handled more realistically, by chemically altering multiple brain dynamics in response to light and a body clock, instead of sleep being a separate state in the code. This allows for anesthetics, soporifics, being jolted awake, getting sleepy on rainy afternoons, etc.
  • Touch and pain sensing, with body location.

Tidied up various bodily things:

  • Removed muscle strain proprioceptors from joints (didn’t use them and they cost processor time).
  • New energy consumption calculations.
  • Primary metabolism is now hard-coded, so that evolution (and humans!) can’t easily cheat and create immortal creatures (needed because of the shift to property-free chemicals).

Some drive chemistry now exists:

  • Hunger and thirst
  • Tiredness and drowsiness
  • Pain (acute and chronic) from collisions, falls, and touching sharp/hot/stinging objects
  • Sweatiness and wet-and-coldness (these need improving). Shade reduces sweating.

Various debugging and housekeeping improvements:

  • Most error messages are only logged once, even if they repeat.
  • Editors have general help information, as well as documentation on each gene (this is for my benefit, not the end-user)
  • Creatures no longer get auto-picked up when they’re asleep.
  • Added a brain scanner mode to brain editor (instead of in the lab, for now). Also added this and a simple chemistry monitor to the default sandbox, to make testing easier.
  • Typing “creature report” in the F1 debug console produces a comprehensive status dump in StreamingAssets/instrumentation.txt
  • New, generalized signaling system for object-creature and object-object signals that travel through space (sounds, touches, bites, smells…)
  • New inter-organ signaling system
  • Grid cells are now in their own organ, since several other organs rely on them besides the eye.

Graphical changes to the environment:

  • Moved to a linear color space for physically-based rendering (gives richer tones, especially in moonlight).
  • Added some soaring birds as eye candy.
  • Updated to Unity 5.4 beta

New lab scenario

  • Lab environment and sample equipment
  • World now starts with three creatures in it
  • Personal names possible for creatures
  • Colin the Drone

Minor changes in May build Take Four

  • new controls, joystick support, consistent mousestick functions, viewpoint memories
  • new fly-by-wire mode for easier flying of Colin
  • Knobs are now click-and-drag
  • Reinstated Unity’s key binding and resolution dialog as an option (hold down CTRL at start???)
  • New mouse management system, with hover support