Code center > Bug reports
Something stopping a bot from reproducing, and screwing with other things too
Numsgil:
Seems to be a whole slew of errors. That's the problem with a program like this. If you're playing half life 2 and it does something weird after 10 hours of continuous game play, it's considered an amazingly stable game. If Darwinbots does something weird after 48 hours of continous game play, it's a huge problem. I'll leave it to Eric to see if he wants to hunt this down or turn it over to someone else (like me :/)
EricL:
I will certainly dig into this, but not for a couple of weeks. Vacation looms.
A posted sim would be very useful. Thanks.
Trafalgar:
--- Quote from: EricL ---I will certainly dig into this, but not for a couple of weeks. Vacation looms.
A posted sim would be very useful. Thanks.
--- End quote ---
I've zipped up 3 saved sim files along with a small readme explaining which is which, and shepherd.txt (since the sims will try to load it), and uploaded them here (681 KB): http://shadowlord13.googlepages.com/dnaDisabledBotsSims.zip
Those saved sim files are from different points in time, one from cycle 28k (only a few bots were affected), one from 48k (some or all of the bots were affected), and one from 89k (all the bots were affected).
Also, a warning: The version of shepherd included in that zip will attempt to destroy any affected bots if it scans them. It keeps timestamp tags in 976 and 977 and compares them to tags in the out vars on the target to determine whether it's time to check a bot again - this determines whether it will scan a bot, and thus whether it will attempt to destroy an affected bot. Once it feeds a bot or whatever, it updates those tags on the bots to correspond to 1000 cycles in the future or so. If the shepherds are all killed and replaced, they then fly around doing nothing for a while until their timestamp tags catch up to what's on the bots in the sim.
(It determines whether a bot is affected by checking to see if repro is set, or by noticing that it attempted to poison/venom instakill a bot and the bot is still alive on the next cycle. The way it kills affected bots is by draining their energy and/or body through the tie.)
Also, a slight correction on something I said in an earlier post: I found one affected bot (by comparing bot data panel energy to printmem .nrg on the console) which doesn't have 32000 showing for Slime in the bot data panel. I did find something else out, however. Looking at a sim where only a few of the bots suffer from this, the affected bots' mutation details show as 'No mutations', whereas the unaffected bots show their mutation history properly.
Another interesting bit of information: I have an affected bot here who shows as having had one offspring. That would seem to imply that becoming DNA disabled did not happen to the bot when it was created, but possibly as a result of a random mutation.
Trafalgar:
I suspect there's something wrong with either saving or loading as well now. After implementing and testing the anti-dna-disabled-bot code in my shepherd bot, I started a new sim with the same base bots, and ran it for a good long while. I made several save files, the last of which was made when the best bot had 42 genes. I restarted DarwinBots after making that save, but first I checked a sample of the bots to make sure that there were no dna-disabled ones in the sim. I didn't find any, but after I loaded the save, *all* the zerobots had become dna-disabled and were showing 32000 for slime in the bot data panel.
Another symptom seems to be that dna-disabled bots report 0 to the dna conditions graphs - It was rather conspicuous when the dna conditions graph for the zerobots started showing 0 after I loaded, when it was far far higher than the Shepherds' 2 conditions at the time that I saved.
(To get around the problem, I saved the DNA for several of the 42-gene bots and started a new sim with them)
Numsgil:
In general, saving and loading seem to be bugged and imperfect. Ideally when you save a sim and reload it, it's exactly like running the sim straight. There's one inparticular I've had in mind for a while now: When the random number generator is seeded, the string of random numbers is predetermined. When you save and load, this string gets reset. So a loaded sim will run the same everytime, but it will be different from the original sim's evolution. Which makes debugging from saved sims iffy at best.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version