Code center > Suggestions
.sexrepro reimplemented in 2.43.1
rsucoop:
--- Quote from: EricL ---2.43.1 has been released. Negative values of .sexrepro do nothing in 2.43.1.
I do not like the idea of "temporarily DNA disabled offspring". Eggs may want or need to execute DNA. They may want to decide whether to accept fertilization (I.e. set .sexrepro) by a specific male or at a specific time or only when mom is around or just become an asexual offspring after a certain time passes without fertilization or tie to a veggy like an egg sack and grow prior to fertilization (perhaps producing additional eggs) or whatever. Personally, I prefer to see the need for time shifted reproduction evolve naturally out of existing mechanims if possible, ideally because there is a reproductive advantage to doing so e.g. the sea turtle strategy were mom is large and hard to kill, but offspring are weak and small. Mom stockpiles large numbers of low resource offspring over time (mom goes out and hunts between laying) which then all hatch at the same time where maybe 1 in 100 make it to adulthood. That kind of thing.
To this end, I would support a general change such as allowing for asexual reproduction giving less than 1% of parental resources for example.
Adding more range or speed to a shot should IMHO be consistant and work the same for any shot and the cost of this should be simply one of the nrg needed to shoot. The .shootval code is really ugly. Cleaning it up is on my list. When I do so, I'd like to create a straight forward, consistant way for bots to impact the range (I.e. longevity) speed and explosivness of any shot type.
I'm happy to entertain ideas for allowing both the male and the female to impact how long fertilization lasts but I agree that the decision to shoot far and the decision to shoot sperm that surives longer once fertilization occurs should be able to be made independently.
--- End quote ---
There would have to be an effective relationship between eggsize, how many cells/multi-cells within the egg (we should support multi-cellular embriotic development, it would require DNA activation in the egg to work properly) and the amount of energy given to the egg. Eggs in real life need a lot of energy to go for a full birth cycle (anywhere between 15 days to nine months), so the more things required to do before hatching would mean more energy reserves. So would this egg creation be limited to one bot, or could a multi-bot produce a copy of itself, taking with it certain specified memories, such as their enegy or pain, or a loaction of an enemy not killed? I think for Multi-Bot developmental purposes, we should allow for DNA transfer between conspec multi ties that take with it x amount of energy (I.e. .eggnrgm) to some other bot and so on, until all the genes have been collected and placed inside an egg by a single bot. I say it should be for conspec use only, because I could see it as a backdoor in to gaining an unfair advantage, by taking a very powerful strand of DNA and combining it with your own and making some super-mutant bot. Although the idea is not that far from real life, some bacteria are capable of copying missing pieces of DNA from a similair bacteria.
Endy:
--- Quote ---Adding more range or speed to a shot should IMHO be consistant and work the same for any shot and the cost of this should be simply one of the nrg needed to shoot. The .shootval code is really ugly. Cleaning it up is on my list. When I do so, I'd like to create a straight forward, consistant way for bots to impact the range (I.e. longevity) speed and explosivness of any shot type.
--- End quote ---
A bit off topic, but what about a moded percentage based system for shots(range, speed, explosiveness)? Any value could be used by the bot, but it would be reduced to just the last two digits. This way the evolution wouldn't be as likely to get stuck at the ceiling value of 99.
Numsgil:
To give finer graining, consider this:
0-99 gives x% of nrg, body, etc.
100 - 1099 gives (x - 100) / 10 % of nrg, body, etc.
Or perhaps:
0-99 gives x% of nrg, body, etc.
-1000 to 0 gives -x / 10 % of nrg, body, etc.
EricL:
--- Quote from: Numsgil ---0-99 gives x% of nrg, body, etc.
-1000 to 0 gives -x / 10 % of nrg, body, etc.
--- End quote ---
This is essentailly what I was thinking, but across a wider range of negative values. I.e.
-16000 to 0 gives -x / 160 % of nrg, body to an exteranl offspring, etc.
-16001 to -32000 indicates DNA replacement upon fertilization
This allows for the possibility of really low resource offspring/eggs, down to 0.0000625% of resources. A bot with 32000 nrg would produce an offspring/egg with only 2 nrg at the lowest percentage. Not unreasonable in my opinion. I think we should allow for the possibility such tiny offspring/eggs at least.
For .sexrepro. I'd use -16001 to -32000 to indicate sexual reproduction should replace the bot's DNA instead of creating a new offspring. The specific value would not matter. It's the space relative to mutation probability that matters. For .repro, this range would do nothing, as today.
I prefer using negative values as opposed to positive values above 100 as it spreads the offspring percent resource probability more evenly across the space of possible values, giving mutations a better distribution for hitting percentages across the entire range spectrum including a 1/4 chance of being an egg.
Botsareus:
2/3rds of the stuff I did "not compute" but:
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version