Author Topic: Viruses  (Read 8227 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Viruses
« on: October 06, 2005, 10:13:44 PM »
Changes I'm making:

1.  While being copied to a virus, a gene cannot be executed.
2.  Only things between a start/else and a stop/start/else can be copied.  Thus no conditions can be included.  Thus genes might be inserted into part of the genome of the victim that turns off the start/else statement, causing it to get executed sporadically or not at all.
3.  Multiple viruses can be made in a single bot simoltaneously, and stored for later use.
4.  Only the gene that wants to be copied can inititiate it's viral copying stage.  This is to prevent abuse of #1 as a weapon.
5.  Viruses cannot be aimed.  Upon exiting the bot, they travel in a random direction.
6.  Bots that die release all their stored viruses (finished or not)

Thus, from the above rules, we get these lemmas:

1.  A gene cannot be copied into more than one virus simoltaneously.  Each virus must be copied one at a time.

2.  Multiple viruses of the same gene can be stored, but then they must all be released simoltaneously.
« Last Edit: October 06, 2005, 10:26:06 PM by Numsgil »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Viruses
« Reply #1 on: October 06, 2005, 10:17:07 PM »
hmmm... This makes "The One" absolite does'nt it?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Viruses
« Reply #2 on: October 06, 2005, 10:19:13 PM »
I don't believe the One uses viruses.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Viruses
« Reply #3 on: October 06, 2005, 10:25:09 PM »
It doesn't and it still owns? alright then...

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Viruses
« Reply #4 on: October 06, 2005, 11:16:43 PM »
1. While being copied to a virus, a gene cannot be executed.

Eh?  Why?  What do you mean by "while"?  The program works in steps.

2. Only things between a start/else and a stop/start/else can be copied. Thus no conditions can be included. Thus genes might be inserted into part of the genome of the victim that turns off the start/else statement, causing it to get executed sporadically or not at all.

Not very realistic, but OK for balancing purposes.

3. Multiple viruses can be made in a single bot simoltaneously, and stored for later use.

Good.

4. Only the gene that wants to be copied can inititiate it's viral copying stage. This is to prevent abuse of #1 as a weapon.

Would be cool if it worked this way 99% of the time, but in the other 1% it would copy a random gene.

5. Viruses cannot be aimed. Upon exiting the bot, they travel in a random direction.

Very nice!

6. Bots that die release all their stored viruses (finished or not)

Very nice!
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Viruses
« Reply #5 on: October 06, 2005, 11:25:27 PM »
Quote
1. While being copied to a virus, a gene cannot be executed.

Eh?  Why?  What do you mean by "while"?  The program works in steps.

The time .vtimer reads back now is the time that's theoretically being spent copying the viral code.  During this time, that gene cannot be executed.

Quote
2. Only things between a start/else and a stop/start/else can be copied. Thus no conditions can be included. Thus genes might be inserted into part of the genome of the victim that turns off the start/else statement, causing it to get executed sporadically or not at all.

Not very realistic, but OK for balancing purposes.

Yeah.

Quote
Would be cool if it worked this way 99% of the time, but in the other 1% it would copy a random gene.

Hmm.. that's not a bad idea.  Should the accidental copy gene still be unallowed from executing?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Viruses
« Reply #6 on: October 06, 2005, 11:28:39 PM »
Oh, thought of another one.

6.5: viruses in corpses spend a few turns "feeding" on the body of the corpse, giving themselves a more powerful vshoot amount, thus longer range.  They burst out of the corpse when it's body becomes too low.

No DNA copying can be done during this time.

Sorta reminds me of that movie Alien.  Would freak me out if I were a bot, and was feeding on a corpse that suddenly explodes with thousands of little viruses.

Offline Zelos

  • Bot Overlord
  • ****
  • Posts: 707
    • View Profile
Viruses
« Reply #7 on: October 07, 2005, 09:37:55 AM »
y remove condition? how are you then supposed to make the virus go of when we want?

but the random copying is very realistic, sometimes genes that aint supposed to go with the virus follows with it, sometimes just parts of some genes. I really love it.
« Last Edit: October 07, 2005, 09:40:24 AM by zelos »
When I have the eclipse cannon under my control there is nothing that can stop me from ruling the world. And I wont stop there. I will never stop conquering worlds through the universe. All the worlds in the universe will belong to me. All the species in on them will be my slaves. THE ENIRE UNIVERSE WILL BELONG TO ME AND EVERYTHING IN IT :evil: AND THERE IS NOTHING ANYONE OF you CAN DO TO STOP ME. HAHAHAHAHAHAHAHA

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Viruses
« Reply #8 on: October 07, 2005, 10:06:11 AM »
More Arguments and counter arguments for using somthing better then *.thisgene .mkvirus, I even have a solution at hand.

Argument:

What If you want to pass an exsisiting gene from the robot without evolving it twice (once for the virus gene and once for the robot itself). This brings me to another qustion: Whats wrong with passing conditions as viruses? (if robots can awoid using them anyway)

Counter Argument:

If a robot has a moded "*.thisgene .mkvirus" in each gene what is going to stop it to passing on its entire dna anyway?

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.



Do we have a delete gene virus command? I think that needs to be stoped from easly deleting the whole dna. Simuler methods can be used.
« Last Edit: October 07, 2005, 10:11:17 AM by Botsareus »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Viruses
« Reply #9 on: October 07, 2005, 12:53:16 PM »
I appreciate the attempt at a logical post, but you still lost me.

Conditions can't be passed with viruses for the simple reason that a single condition can control multiple genes.  Thus an inserted viral gene could control a great number of genes after it, which is too powerful.

Also, there are some issues with copying into viruses, specifically deciding when to stop copying upstream.

The .delgene command can delete genes in the genome, if that's what you're asking.
« Last Edit: October 07, 2005, 12:53:38 PM by Numsgil »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Viruses
« Reply #10 on: October 07, 2005, 04:37:42 PM »
Quote
Conditions can't be passed with viruses for the simple reason that a single condition can control multiple genes. Thus an inserted viral gene could control a great number of genes after it, which is too powerful.

Then make conditions passed by viruses only control the viral dna.


Quote
I appreciate the attempt at a logical post, but you still lost me.

Witch parts did you not understand?

Quote
If a robot has a moded "*.thisgene .mkvirus" in each gene what is going to stop it to passing on its entire dna anyway?

^%^%%%^

Quote
What If you want to pass an exsisiting gene from the robot without evolving it twice (once for the virus gene and once for the robot itself).

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.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Viruses
« Reply #11 on: October 07, 2005, 05:05:08 PM »
Quote
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.

Quote
Quote
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.
Quote
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.

Quote
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?

Quote
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.

Quote
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.

Quote
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.
« Last Edit: October 07, 2005, 05:06:50 PM by Numsgil »

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Viruses
« Reply #12 on: October 07, 2005, 05:14:52 PM »
I actualy forgot why I wrote "moded" there :S Ignore moded.



Quote
Ah, but you see that is the cost of creating a virus.[you] That gene can't get executed for a while.[/you] It's a tradeoff. There are ways around it, as you just showed, but they still are somewhat difficult.

And what does that have to do with: making it easy for a robot to use its already mutated -1 .shoot store , instead of mutating it twice? I don't get it.

Doesn't the .mkvirus command copy everything in the gene you spesifiy as a virus. Or am I lost here?



Nice beefy patcher you got there with 2.4 , I am likeing it already...
« Last Edit: October 07, 2005, 05:15:21 PM by Botsareus »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Viruses
« Reply #13 on: October 07, 2005, 05:19:07 PM »
Quote
And what does that have to do with: making it easy for a robot to use its already mutated -1 .shoot store , instead of mutating it twice? I don't get it.
Exactly that it isn't easy for a bot to do that.  If a bot wants to use a gene and copy that gene into a virus and distribute it, it's going to have to balance the benefit of executing that gene for itself vs. the benefit of having that gene in other bots.

Quote
Nice beefy patcher you got there with 2.4 , I am likeing it already...

I'm not sure why it's so large to be honest.  The next 2.4 patch will be like the old ones, under a meg.