Full install pack:Download
Just the exe file:DownloadCHANGES THIS VERSION:
Bug fix in safemode backup was overwriting old autosaves every 24h. Added date destinction.
Bug fix in body tie transfer, accounted for the fact that energy to body ratio is 10:1 not 1:10.
Bug fix in waste shots, I was subtracting twice the waste for each waste shot that uses shootval.
Bug fix so eco evo fitness function also has mutation normalization.
Bug fix: Fitness function DNA size correction used to wait for the easiest (last) test round to calculate DNA size (if enabled) it then would take the first robot it finds to calculate its DNA size. From now on after the end of the first test round it calculates the DNA size by figuring out the average DNA size across all robots.
The following bug fixes in mutations:
Copy error 2 is proportional to Copy error now; it also scales as copy error number of commands to change scales. In general it works just like the relationship between point and point 2.
Copy error 2 and point 2 now mutates actual sysvars to store into potential tie loc instead of a random value between 1 and 1000.
Copy error 2 and point 2 now do not mutate the zeroth DNA position as it must stay black and not registered by darwinbots.
When copy error or point or insertion mutate a type I made sure all values from the resulting type can occur (it was skipping the last command from the list of commands) and the first command is not automatically selected for negative values.
Insertion now mutates across the entire DNA. Before if allot of insertions occurred in the beginning the more commands where skipped toward the end.
Deletion mutations now can delete the last command in the DNA. Also weird behavior is corrected for when deletion mutations run out of space.Other changes:
Rearchitectured the way DNA interacts with the UI for clarity of code.
Handycap based on body was removed because robots like fruitflys do not really care how much body they have. Hopefully this will lead to higher populations.
Robot reposition was removed to encourage team work among robots instead of scattering them across the screen.
Since copyerror2 and point2 selects across all sysvars, I simplified the way changedna mutation and sysvar parsing works:
During sysvar parsing out of range sysvars that modulate to a legal sysvar where converted to a legal sysvar: ex: "3 1001 store" was converted into "3 .up store" Since I have other methods (copy error2 for example) to generate specific sysvars, this feature was doing more harm than good because large values would never evolve.
The way change DNA
used to work:
For all sysvars below 100 it would generate a new sysvar using gauss that is approximately within 30 commands of the old sysvar.
For all sysvars above 100 it would generate a new sysvar using gauss that is approximately within (3/10 * old sysvar) commands of the old sysvar.
This means with lower values it would try to select a value in the same group while for high values command groupings are ignored.I simplified this with the following:
For all sysvar below 1000
1/2 chance the value will be within 21 commands.
1/2 chance the value will be within 282 commands.
To keep things interesting, for large numbers, all numbers above 1000, generate a new number using gauss that is approximately within (3/10 * old number) commands of the old number.New way Copy error 2 and point 2 now works:
2/3 chance informational mutation and 1/3 chance functional mutation
informational mutation means 1/5 chance mutate a large number within 32K and 4/5 chance evolve a informational sysvar such as *.eye5 or *.in2
functional mutation means mutate a functional sysvar such as .up or .mkchlr followed by mutate a store. The system takes into account that two dna commands where mutated.Crash fixes:
Fixed a really weird subscript out of range error in shots. Apperently DoEvents can cause threaded effects on memory sometimes.
The good news is this means I indeed did not get hacked. I own Numsgil an appology there.
Removed unused recording options link from main menu to prevent a crash.
Fixed out of string space error.
Added fixes for curropt robot IM transfears.
New feature:Recording menu
Bug fixes. Simplified sysvar parsing. Improved and simplified copy error and point mutations. Changes to CopyError2 and Point2 mutations. Simplified fitness function. Recording menu. Bug fix for safemodebackup.exe (see full install)
THIS PACKAGE ALSO CONTAINS THE NEW WORK IN PROGRESS IM.