Virus

From WikiManual
Revision as of 22:44, 18 September 2005 by Numsgil (talk | contribs)
Jump to: navigation, search

Biological Aside

A Virus is not really a living thing. They can not reproduce by themselves. They have no metabolism. They are made up by a protein shell and in there is the DNA or RNA. They infect a cell and force the cell to produce new viruses.

DB Viruses

DB viruses are made up of a single gene (note: Numsgil is currently working to losen the constriction to simply a length of DNA) that can be shot out and infect the bot it hits. Infected means it is inserted randomly into the infected bot's genome. A virus could look like, for example:

 cond
 start
 0 .repro store
 *.thisgene .mkvirus store
 50 .vshoot store
 stop

*.thisgene tells where in the genome the gene is, .mkvirus makes the gene stored into it into a virus, and .vshoot determines how far the virus will go. The larger the value in .vshoot, the more costly the virus is to fire. The larger the code being copied into the virus, the longer the copying takes. The above viral code, if inserted after the reproduction gene, would basically sterilize the bot, making it unable to reproduce.

Virus Creation Guide

To make a virus you should follow these steps.

  • 1 Decide which of your own genes to copy into the virus. You can have a self-replicating virus by using the *.thisgene command.
  • 2 Store this value into the .mkvirus command. eg: This will copy the virus's gene into a temporary storage array to create the virus.
  • .thisgene .mkvirus store
  • 3 It takes a finite amount of time to copy this gene into the virus so at the beginning of the process, the gene length is calculated and this value is placed into a count-down timer which can be accessed by the robot via .vtimer(vtimer is the length of the DNA being copied * 2). This is a read only value indicating how long you have to wait until the virus is ready. Vtimer is 1 when there is a virus ready to fire. 0 if there is no virus either ready or being constructed, > 1 if there is still time left to wait.
  • 4 Once .vtimer reaches 1, the virus is ready and can be fired by placing any non-zero value into .vshoot. This will shoot the virus straight forward. As of last check both backshot and .aimshot work with viruses.
  • 5 The virus will appear as a cyan colored shot. It can most easily be distinguished by the normally longer distance it travels.