Code center > Suggestions
.sexrepro reimplemented in 2.43.1
rsucoop:
--- Quote from: EricL ---
--- Quote from: rsucoop ---Perhaps the explosive shots could be introduced for egg use?
--- End quote ---
Perhaps I'll add an option for the DNA produced via crossover to replace the "mother's" DNA instead of producing a new bot, perhaps via storing a negative number to .sexrepro. In this way, time shifted reproduction can be accomplish by a "female" bot laying an egg through asexual reproduction. After storing a negative value to .sexrepro, the female's DNA would be coded to do bascially nothing - expending no nrg - until fertilized at which point the egg hatches with the combined DNA from both parents.
Explosive shots are a nice idea, but I don't really see them playing a role in sexual reproduction, unless of course they are filled with Tequilla....
--- End quote ---
Or are on fire.
-8 is the sperm, so a sack should be identifiable to a robot's eye. Also, the eggs should be attachable to the mother/farther, so that a random bot doesn't go and try to eat the offspring.
EricL:
--- Quote from: Endy ---Maybe the female simply becomes an egg once properly fertilized by a male.
--- End quote ---
This is an option given what I am suggesting. That is, there are four ways to reproduce:
1) Asexually as always
2) "Giving birth" sexually via storing a positive value in .sexrepro before or after being fertilized
3) "Laying eggs" by storing a positive value in .repro and then coding the DNA such the egg stores a negative value to .sexrepro and then does nothing else except wait to be fertilized. Every gene is predicated with some trigger that does not get set until .fertilized goes positive. Namely, the only gene or sub-gene firing in the egg is
clearbool
trigger 0 !=
-50 .sexrepro store
*.fertilized 0 !=
1 .trigger store
4) "Becoming the offspring" as you suggest by simply storing a negative value in .sexrepro before or after fertilization
1 and 2 work in 2.43.1. 3 and 4 are post 2.43.1.
--- Quote from: Endy ---Could use explosive shots for firing multiple "sperm" or other types of shots at once. Could be handy for firing at a groups of bots or if you don't have a specific bot you want to shoot.
--- End quote ---
Right. This is how I see explosive shots working. I.e. We add some generic way for the bot to specify a shot should "explode" at some range. Any shot can potentially be made to explode includng sperm shots. The power or longevity or whatever of the single shot gets divided up amoung the fragments. You loose power but gain hit probability. I'd probably just reuse some of the poff shot code.
--- Quote from: rsucoop ----8 is the sperm, so a sack should be identifiable to a robot's eye. Also, the eggs should be attachable to the mother/farther, so that a random bot doesn't go and try to eat the offspring.
--- End quote ---
By using bots for the egg(s), both of what you indicate are in fact the case. Eggs can be seen and they can be attached and carried around by a parent, before or after fertilization.
googlyeyesultra:
Could we just make the negative .sexrepro value make a temporarily DNA-disabled offspring (until it's fertilized)? Seems like simpler system, at least to me. Also, I think .shootval should be implemented for -8 shots. Negative=greater range, positive=greater % chance for your DNA to be used.
Peksa:
--- Quote from: EricL ---I don't plan to reset .sexrepro unless sexual reproduction actually occurs (so that males can detect females in heat) so bots need only evolve the DNA to set this sysvar once in a while or have it set via altzheimers or info shots or similar.
--- End quote ---
I love the idea of old asexual bots getting fertilized becouse they're getting a little lightheaded and accidentally store negative value in .sexrepro.
--- Quote from: googlyeyesultra ---Also, I think .shootval should be implemented for -8 shots. Negative=greater range, positive=greater % chance for your DNA to be used.
--- End quote ---
I have no objections for increasing the range, but I don't think the tradeoff should be probability of injecting your own dna. I could agree with that, if the probability of injecting your own dna wouldn't rise above 0,5 or the bots would have some countermeasures against it. Maybe increasing range could be made crazy expensive energy-wise, maybe the value of .shootval in the power of 3-4.
EDIT: Or maybe the time stored in the buffer could be larger for -8 shots with shorter range. That way bots could be fertilized much later if needed or from further range more immediately.
I'm not sure if I would like more if .sexrepro was tuned to way it's probably going to remain and work and wait or just to get right to it and experiment with a unfinished version
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.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version