Author Topic: Battle of viruses  (Read 7807 times)

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Battle of viruses
« on: January 15, 2008, 05:45:45 PM »
Here is a mutation log from a bot in my sim:

Quote
Infected with virus of length  22 during cycle  2426878 at pos  1
Infected with virus of length  91 during cycle  2368 at pos  1
Infected with virus of length  91 during cycle  2280 at pos  92
Infected with virus of length  91 during cycle  2239 at pos  92
Infected with virus of length  91 during cycle  2105 at pos  92
Infected with virus of length  91 during cycle  1699 at pos  1
Infected with virus of length  91 during cycle  1466 at pos  92
Infected with virus of length  91 during cycle  1352 at pos  1
Infected with virus of length  91 during cycle  1274 at pos  92
Infected with virus of length  91 during cycle  1083 at pos  92
Infected with virus of length  91 during cycle  979 at pos  1
Infected with virus of length  91 during cycle  728 at pos  1
Infected with virus of length  91 during cycle  645 at pos  1
Infected with virus of length  91 during cycle  579 at pos  1
Infected with virus of length  91 during cycle  428 at pos  13

Each incoming virus deleted the previous one or got deleted itself. The last virus (length 22) kicked out the 91bp virus.

Current genotype is:
Quote
''''''''''''''''''''''''  Gene:  1 Begins at position  1  '''''''''''''''''''''''
 cond
 65 *999 !=
 start
 *.thisgene .mkvirus store
 *.myeye *.myshoot add *.myup add 31999 mult 50 floor .vtimer store
 .delgene dec
 stop
''''''''''''''''''''''''  Gene:  1 Ends at position  22  '''''''''''''''''''''''

Pretty cool, eh?
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline googlyeyesultra

  • Bot Destroyer
  • ***
  • Posts: 109
    • View Profile
Battle of viruses
« Reply #1 on: January 15, 2008, 05:54:26 PM »
Hey, that's my virus! Neat. The only mutation I see is .vshoot -> .vtimer (although the cond might be mutated as well, I don't know off hand.) That should make it both non-lethal and non-spreading, so I'm not sure how it got there (maybe a parent had it and mutated there?)
« Last Edit: January 15, 2008, 05:55:50 PM by googlyeyesultra »

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Battle of viruses
« Reply #2 on: January 15, 2008, 06:28:01 PM »
well, this virus obviously works, because I see it a lot. here is a copy from a completely different bot:

Quote
cond
 65 *999 !=
 start
 *.thisgene .mkvirus store
 *.myeye *.myshoot add *.myup add 31999 mult 50 floor .vtimer store
 .delgene dec
 stop
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Battle of viruses
« Reply #3 on: January 15, 2008, 11:19:44 PM »
Perhaps the short virus is dependent upon the longer one to set .vshoot.  In this bot, it got inserted first and so it's a dead end but in others, it exist in the genome after the longer virus in which case it would override .mkvirus but leverage the vshoot code and thus propagate.  Very interesting.  It's requires a host infected with another virus before it can propagate.  

Note that the .delgene dec means it lives for 32000 cycles then deletes the entire genome.
Many beers....

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Battle of viruses
« Reply #4 on: January 16, 2008, 12:26:08 PM »
Yes, I'm sure that's exactly what happens. I have tons of viruses in my bots and this would inevitably lead to complementation and viruses that depend on other viruses. This is a very common phenomena in virology and these guys are sometimes called "defective interfering particles". DB's implementation of viruses is awesome!
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline MacadamiaNuts

  • Bot Destroyer
  • ***
  • Posts: 273
    • View Profile
Battle of viruses
« Reply #5 on: January 16, 2008, 04:41:46 PM »
I introduced the Green Hacker veggie with a pair of hijacking style virus that attempt to fuse themselves with some of the host's original DNA.

Watch for genes with appended code including a .mrepro instruction.
Sometimes you win, and sometimes you lose...

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Battle of viruses
« Reply #6 on: January 16, 2008, 05:11:54 PM »
Yes, I see them!  Let's see what happens... I think what my bots have been doing is increasing their mutation rate on their own. High mutation rates kill viruses as efficiently as bots, so including mrepro may not be the best approach
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Battle of viruses
« Reply #7 on: January 16, 2008, 09:26:55 PM »
Well, your virus did not take.  Or at least it's not any worse than other viruses. I now have ~25 of your veggies in my sim. There was an initial burst of this virus, but then things quited down and now I rarely see it.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Shasta

  • Administrator
  • Bot Destroyer
  • *****
  • Posts: 231
    • View Profile
Battle of viruses
« Reply #8 on: January 16, 2008, 10:24:12 PM »
I released a virus/bot called cloner a few days ago that would overwrite all of the host genes. It didn't do very well, as it was too long and the virus took forever to make , and shrinking violet promptly came in and took them all out. Back to the drawing board I guess.

Offline googlyeyesultra

  • Bot Destroyer
  • ***
  • Posts: 109
    • View Profile
Battle of viruses
« Reply #9 on: January 17, 2008, 05:36:38 PM »
Quote from: EricL
Note that the .delgene dec means it lives for 32000 cycles then deletes the entire genome.

Isn't .delgene reset  every cycle? I actually just intended that as a defense against someone trying to delgene the virus (it would then delgene whatever gene was behind it instead).

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Battle of viruses
« Reply #10 on: January 17, 2008, 07:40:36 PM »
Quote from: googlyeyesultra
Isn't .delgene reset  every cycle? I actually just intended that as a defense against someone trying to delgene the virus (it would then delgene whatever gene was behind it instead).

Okay, I'm half wrong.  First, the right part.   .delgene does not reset for negative values.  The way the currently code works, delgene is only reset for postive values.  If positive, it is reset whether or not it's value is the in the range of valid gene numbers.

So .delgene counts down to -32000.   I had done a little testing and thought I saw the gene delete itself so I thouhgt maybe the code wrapped -32000 to 32000 or similar, but I must have seen a mutation or something.  The code MODs the dec back to 0 again and the countdown continues anew.  So, I am mistaken.  .delgene isn't reset but it never goes positive either so the virus DOES NOT delete the genome.
Many beers....

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
Battle of viruses
« Reply #11 on: January 18, 2008, 12:05:19 PM »
Ok, update on the green hacker - it's gone almost extinct in my sim. I'm not sure why. There are only two bots of this species left in my sim. I managed to find one of them and it's genome is:
Quote
''''''''''''''''''''''''  Gene:  1 Begins at position  1  '''''''''''''''''''''''
 start
 *.myshoot add *.myup add 31999 mult 50 4 .vtimer store
 .delgene dec
 stop
''''''''''''''''''''''''  Gene:  1 Ends at position  14  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  2 Begins at position  15  '''''''''''''''''''''''
 cond
 65 *999 !=
 start
 *.thisgene .mkvirus store
 *.myeye *.myshoot add *.myup add 31999 mult 50 floor .vtimer store
 .delgene dec
 stop
''''''''''''''''''''''''  Gene:  2 Ends at position  36  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  3 Begins at position  37  '''''''''''''''''''''''
 cond
 65 *999 !=
 start
 *.thisgene .mkvirus store
 *.myeye *.myshoot add *.myup 31999 mult 50 floor .vtimer store
 .delgene dec
 stop
''''''''''''''''''''''''  Gene:  3 Ends at position  57  '''''''''''''''''''''''

Looks like your mrepro virus lost this round....
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Battle of viruses
« Reply #12 on: January 21, 2008, 05:07:19 AM »
The info about delgene could be useful to a bot too. It could constantly decrease both delgene and another variable. If it spots any unexpected returns to zero, it would know that a virus was present and trying/succeding in deleting a gene. Could even do a desperate 99 .mrepro to try and mutate the virus to death.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Battle of viruses
« Reply #13 on: January 21, 2008, 11:34:53 AM »
I was thinking I should probably either reset .delgene independent of it's value or never reset it.  I don't think the current behaviour was intentional.  

What think?
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Battle of viruses
« Reply #14 on: January 21, 2008, 05:09:20 PM »
Resetting .delgene makes sense.  But at the same time, weird issues like that can sometimes give rise to interesting solutions.