Then make conditions passed by viruses only control the viral dna.
How? I already suggested that conditions only control the gene after it and people didn't like it.
I appreciate the attempt at a logical post, but you still lost me.
Witch parts did you not understand?
For your benefit: here is what makes no sense, or seems non sequiter.
More Arguments and counter arguments for using somthing better then *.thisgene .mkvirus, I even have a solution at hand.
More arguments implies there have been arguments prior. The only arguments prior was when I considered that .mkvirus would only really accept *.thisgene as legitimate.
What I think you mean to say is that you have something better in mind than .mkvirus being so picky.
What If you want to pass an exsisiting gene from the robot without evolving it twice
What do you mean evolving it twice? Evolution as a verb is a mass verb. One Evolution + One evolution = One Evolution. Same with poison. The idea of plural doesn't exist.
Maybe you mean without mutating it twice? But then the only time in 2.37.4 that DNA mutates is during reproduction. In 2.4, mutations will theoretically occur anytime DNA is being copied. Is that what you were referring to?
If a robot has a moded "*.thisgene .mkvirus" in each gene what is going to stop it to passing on its entire dna anyway?
Why did you add the adjective "moded" to that sentence? "If a robot as "*.thisgene .mkvirus store"..." is a sentence I understand. By adding that qualifier, you're changing the meaning of the sentence to something I don't understand.
Solution:
If you want robots only to pass on one gene per life time then do so:
Make robots only allowed to have one instance of the .mkvirus command otherwise make too expensive (but not impossible) and make them remember what gene they passed the lest virus from , and if they try a different gene in one life time, then make it too expansive.
Poor, poor grammer. Rewritten:
Solution:
If you want robots to only pass on one gene per generation then enforce that.
Only allow robots to have one instance of the .mkvirus command in their genome. If they have more, make it prohibitively expensive. Also, store what the last gene that was formed into a virus was. If the bot attempts to form a different gene into a virus, charge the bot extra for that.
In response I'd say: "why do we care if a bot passes on it's entire genome or not?". I certainly never voiced concern over this. The way you worded it it was as if you were suggesting that this had been cited as a concern, and you were addressing it. As it is, I think it's a new problem you just perceived. If so, you should do your best to indicate that it's a new problem no one's thought of before.
Lets look at this example:
'gene1
cond
start
-1 .shoot store
stop
'gene2
cond
start
-1 .shoot store
*.thisgene .mkvirus store
stop
Now without the *.thisgene restriction:
'gene1
cond
start
-1 .shoot store
stop
'gene2
cond
start
1 .mkvirus store
stop
Note that I did not have to write -1 .shoot store twice , makes it easyer to evolve.
.
Ah, but you see that is the cost of creating a virus. That gene can't get executed for a while. It's a tradeoff. There are ways around it, as you just showed, but they still are somewhat difficult.