Release notes for Genesaver http://www.leadtogold.com/software/genesaver/index.html Genesaver is an artificial life experiment in screensaver form. It consists of a large number of creatures competing with each other for survival and reproduction, modifying their behavior by passing slightly mutated genes to their offspring. Each creature's behavior is governed by a neural network with 14 inputs, 48 hidden neurons, and 4 outputs. Neural network weights and thresholds, as well as the creature's role in the food chain, are all part of the genome, and subject to change in any offspring the creature might have. Refer to the home page (linked above) for more information. CHANGE HISTORY Change 3051 on 2003/04/03 by sam_stafford@sam-luey-gs Added Genesaver to the Perforce Public Depot. It's not in any way Perforce-related, but it shares a little bit of code with Jamgraph, and it feels wrong somehow not to have all my projects in one place. Change 3917 on 2003/03/07 by samwise@samwise-luey-gene Apply chase-cam rendering changes to plants - oops. Shuffled that chunk of code up into the "Thing" class, since nothing there is different at this point between the Plant and Animal classes. Change 3916 on 2003/03/07 by samwise@samwise-luey-gene Provide option not to clip chase-cam view to visual range. If antialiasing is enabled and chase-cam view isn't clipped, creatures out of visual range will be drawn at 0.2 alpha, which looks pretty cool. Change 3915 on 2003/03/07 by samwise@samwise-luey-gene Remove world boundaries. Creatures can now see around the edge of the screen, and the chase-cam view will behave as though the universe were continuous. Change 3845 on 2003/02/24 by samwise@samwise-luey-gene Allow creatures to be scaled, thus effectively increasing the world size. Change 3844 on 2003/02/24 by samwise@samwise-luey-gene Settings improvements: - Categorize settings in config file by type - Precompute settings where appropriate Change 3837 on 2003/02/23 by samwise@samwise-luey-gene Configurable zoom level for world view. Skip graph points that involve division by zero. Change 3830 on 2003/02/20 by samwise@samwise-luey-gene Make motion cheaper in the Jungle ruleset. Change 3829 on 2003/02/20 by samwise@samwise-luey-gene Make a unique graphing mode for the Jungle that better reflects its unique ecology. Boost the numbers on Conflict() to make those carnivores cull each other faster. Change 3823 on 2003/02/19 by samwise@samwise-luey-gene Tweak Jungle: restore plant growth to normal levels, but cut down carnivore energy intake to 1/3. Herbivores thus have the normal levels of competing herbivores, but are 1/3 as threatened by carnivores, which balances the fact that in the normal World, only 1/3 of the carnivores on average are a threat. Fix overflow bug in graph: make gticks an int so it can exceed 2^15. Add distinct line-antialiasing setting so it can be turned off without disabling it for polys. Fix rendering bug in Lizards that made them too green. Change 3817 on 2003/02/19 by samwise@samwise-luey-gene Redo conflicts to make sense in Bizarro World. Fix old bug in sensory inputs. This will once again break existing creatures (carnivores will track their natural predators and probably go extinct). Change 3816 on 2003/02/18 by samwise@samwise-luey-gene Reinstate old "weird ecosystem" as an optional setting. Change 3812 on 2003/02/18 by samwise@samwise-luey-gene Force redraw when switching to graph mode. Change 3795 on 2003/02/17 by samwise@samwise-luey-gene Enable antialiasing for lines. Add new "shading" setting that controls smooth shading. Shade graph based on carnivore:herbivore ratio. Change 3792 on 2003/02/16 by samwise@samwise-luey-gene Draw speed lines in world view as well as in chase-cam view. Change 3780 on 2003/02/14 by samwise@samwise-luey-gene Make graph resolution configurable. Change 3779 on 2003/02/14 by samwise@samwise-luey-gene Fixed another bug in speed line rendering. Decreased chance of synapse pruning to D_M / 255.0, which is roughly equivalent to the chance of a given synapse being randomly mutated. Render synapse with brightness proportional to the signal it's transmitting. Change 3777 on 2003/02/14 by samwise@samwise-luey-gene Render synapses that aren't currently firing at half brightness. Change 3776 on 2003/02/14 by samwise@samwise-luey-gene Decrease the chance of actually pruning synapses, but don't render any synapses that are pruning candidates. Change 3775 on 2003/02/14 by samwise@samwise-luey-gene Further synaptic pruning work. Pruned synapses now no longer factor into firing calculations - a neuron's value is now based on the average of non-zero-weighted synapses only. In addition, new code has been added to randomly prune synapses if they only link to neurons that never fire. Change 3772 on 2003/02/13 by samwise@samwise-luey-gene Move speed lines back a bit. Change 3771 on 2003/02/13 by samwise@samwise-luey-gene Fix minor bug with brain rendering. Increase chance of zeroing-out for synapses, but eliminate it for other genes. Change 3760 on 2003/02/13 by samwise@samwise-luey-gene Optional cheesy "speed lines" in chase-cam mode. Change 3759 on 2003/02/13 by samwise@samwise-luey-gene Rework input synapses - feedback neurons are now treated like any other pair of input neurons, which allows individual lobes to connect to any pair of input pairs they like. Also removed overloading of input genes and gave input weights their own genes. This change BREAKS old genomes completely since the H-chromosome got bigger, so I advise just throwing your Genes.txt file out before upgrading. Change 3758 on 2003/02/13 by samwise@samwise-luey-gene A wee change to neural inputs: stop feeding in the diet. And stop rendering "black lights" in the chasecam. Change 3755 on 2003/02/12 by samwise@samwise-luey-gene Track population graph even when it's not being rendered. Change 3754 on 2003/02/12 by samwise@samwise-luey-gene Fixed brain bug - right eye wasn't hooked up. Change 3753 on 2003/02/12 by samwise@samwise-luey-gene Provide a 10% chance for a mutation to "zero out" a gene. Should lead to faster pruning of useless synapses. Change 3752 on 2003/02/12 by samwise@samwise-luey-gene New "graph" camera mode, and keyboard controls for switching modes. Change 3744 on 2003/02/11 by samwise@samwise-luey-gene New "chase-cam" render mode displays one creature in detail, including energy meters and neural activity. Toggle-able in settings file. Change 3724 on 2003/02/09 by samwise@samwise-luey-gene Finalize settings. The "settings" button in the Windows screensaver panel now pops up the settings form in Notepad, since I didn't feel like making a real Windows dialog. Change 3722 on 2003/02/08 by samwise@samwise-luey-gene Settings. Currently only accessible by directly editing .cfg file. Genesaver now always cd's to system32 directory before doing anything. The main purpose of this is to make sure we use the same .cfg file for everything, but a pleasant side effect is that we don't leave Genes.txt files all over the hard drive. Unix ports should probably use ~/.genesaver or something instead. Change 3680 on 2003/01/30 by samwise@samwise-luey-gene - Fix bug with DNA mutation. - Redo color flashes. They look cooler now. - More filename changes (change temp file to Genes.tmp) - Add acknowledgements to About box. Change 3657 on 2003/01/28 by samwise@samwise-luey-gene Lower "overcrowding" threshold from 1/10 to 1/4. Render animals with cyan tails on birth, yellow when fighting. Change 3651 on 2003/01/28 by samwise@samwise-luey-gene Make sure herbivores don't eat carnivores. (Fixes a sign error.) Change 3650 on 2003/01/27 by samwise@samwise-luey-gene Implement carnivore competition. When the number of carnivores outweighs potential prey by more than a factor of 1/10, carnivores will start to kill each other on contact. Also change energy intake to be deterministic - rather than a random chance to completely ingest food, creatures ingest a portion of the victim's energy, with that portion being determined in a fashion similar to the probabilities that were used before. Finally, change exec name to Genesaver.scr, and DNA file to Genes.txt. Change 3633 on 2003/01/25 by samwise@samwise-luey-gene When mutating a gene, have a 50-50 chance of increase vs. decrease. This makes it easier to climb towards an extreme. Change 3628 on 2003/01/24 by samwise@samwise-luey-gene Carnivore balance issues: - Drastically reduce nutritious value of meat. - Make carnivores tougher to eat than herbivores. Change 3601 on 2003/01/21 by samwise@samwise-luey-gene Move from 4-color ecosystem to 3-color. Two-color equilibriums will now be impossible, which should lead to more interesting simulations. Change 3595 on 2003/01/21 by samwise@samwise-luey-gene Animal::Animal() - Use random chance to settle ties between color genes, rather than defaulting to whatever I happened to type first. Change 3593 on 2003/01/20 by samwise@samwise-luey-gene Wow, big bug with vision. Hope it's fixed now. The problem lay in my having done too many physics problems that lay solely within Quadrant I. Suffice to say that nobody could see anything that was to their absolute left. Change 3591 on 2003/01/20 by samwise@samwise-luey-gene Big bucket of fixes: Fix bug with exporting "diet" genes in H-chromosome. Fix antialiasing to work on Matt's problem machine. Make diet more mutable via a single gene. Randomly spawn random creatures about every 100k steps. Fix neural inputs to relative roles, not absolute colors. Shrink creature/plant size, increase plant spawn rate. Add about box. Various balance tweaks to global constants.
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 3052 | Sam Stafford |
Add Genesaver to the Public Depot. It's not in any way Perforce-related, but it does share a bit of code with Jamgraph, and it feels strange to have an open-source project that's not in the PD. |