Conspec recognition

From WikiManual
Revision as of 22:25, 6 October 2008 by Mbd (talk | contribs) (In and Out)
Jump to: navigation, search

Bots use various methods to identify others of their species.

In and Out

Bots can use the numbers stored in in/out to identify conspecs.

Advantages:

- Easy to implement

Disadvantages:

- Very, very easily fooled


Example: Step 1-Initialize IO port

cond
*.robage 0 =
start
100 .out1 store
stop

Step 1-Check In against out. note that if nothing is visible, the in values default to 0, which might screw up bot behaviour. It's usually best to add *.eye5 0 != to be sure.

cond
*.in1 *.out1 !=
start
...

Memloc and Memval

Bots can use Memloc and Memval to read a location in another bot's memory. This can be used for conspec recognition.

Advantages:

- More secure than In and Out

Disdvantages:

- Can be fooled


Refeye and Myeye

By far the most popular form of conspec recognition.

Advantages:

- Can't be tricked passively

Disdvantages:

- Can be tricked if .myeye is altered by an info shot, venom or a virus


Other RefVars

Other RefVars such as .refshoot can be used to identify members of your species too.

Advantages:

- Can't be tricked passively

- Rarer than Refeye and Myeye and so less likely to be targeted

Disdvantages:

- Most bots may only have one instance of the command in their DNA


Other

Some other forms of conspec recognition have been thought up, but most are very impractical.