Darwinbots Forum

Code center => Bugs and fixes => Topic started by: Peksa on April 21, 2008, 06:29:32 AM

Title: Fertilized seems to be broken RESOLVED 2.43.1j
Post by: Peksa on April 21, 2008, 06:29:32 AM
I'm trying to get an evosim going with sexrepro but .fertilized doesn't seem to work. At first I thought it had something to do with a bot being hit with multiple -8 shots at once but that doesn't seem to be the case. The bots in the sim are designed to reproduce pretty much conditionlessly.

Edit: wrong version in the topic
Title: Fertilized seems to be broken RESOLVED 2.43.1j
Post by: EricL on April 21, 2008, 10:21:30 AM
Found it.  Had an off-by one error that manifested itself in cases where sexual reproduction is attempted but unsucessfull, such as when there is no physical room for the mother to reproduce.  Now I zero out .fertilized only if reproduction is actually sucessful.

Fixed in 2.43.j
Title: Fertilized seems to be broken RESOLVED 2.43.1j
Post by: EricL on April 21, 2008, 10:35:27 AM
While I'm in this code, do people have a preference on multiple births from the same fertiliziation event?  I could go either way: either zero out .fertilized and remove the sperm DNA when sexual reproduction is successful or leave it and allow the mother the option to potentially produce up to 10 offspring, one per cycle from the same sperm DNA?  Current code is the former.
Title: Fertilized seems to be broken RESOLVED 2.43.1j
Post by: Peksa on April 21, 2008, 01:19:25 PM
Thanks!

I believe the bot's should be able to have multiple births. They have always the choise not to use .sexrepro, even if they're fertilized. Also, there is no limit on .repro either.
Title: Fertilized seems to be broken RESOLVED 2.43.1j
Post by: Numsgil on April 21, 2008, 01:24:16 PM
What I would like to see is a bot store multiple sperm shots and use one per birthing event.  That way some sort of English major virgin/whore/mother metaphor bot could solicit lots of sex during a whore phase, then produce those children during its mothering phase.