-
Notifications
You must be signed in to change notification settings - Fork 0
Thoughts on yafacwes bots
This page is made to centralize several ideas about future bots that will compete in yafacwes' core. Inspired by redcode of course, we will try firstly to implement "imp" and "dwarf".
It is supposed to be the simplest self-replicating bot. In redcode it consist of only one instruction : MOV 0,1
. With the v0.3 yafacwes core, there is no such MOV
instruction, then the simplest form of self-replication can't be done with only one instruction. However, we can use a combination of PUSH
and POP
to achieve a similar goal. The hypothetical bot will be this one :
// EV initial direction : EAST
PUSH[(0,0),(1,0)] POP[(2,0),(1,0)]
In redcode, the dwarf is a simple loop that bombs the core regularly. It uses several instructions that v0.3 actually lacks :
- jumps (conditionnal or not)
- some form of computation on arguments to bomb different places each time (instead of always bombing the same spot).
Lack of unconditional jump can be circumvented with direction instructions, thus the bot will spend most of it's execution time turning around. But for v0.3 a first attempt (always bombing the same spot) can be proposed :
// EV initial direction : NORTH
RIGHT PUSH(2,0) RIGHT NULL
RIGHT POP(5,5) RIGHT
The position 5,5 given in this sample is fully arbitrary as we have no way to make this element evolve for now