Saguaro/WavePoison

From Robowiki
Jump to navigation Jump to search

One of Saguaro's modes added in version 1.0 is a new data-poisoning method that allows it to get very high scores against some very strong bots. For example, it scores above 95% against DeBroglie and Horizon.

The idea of this method is to exploit bots who normalize their data logs by our lateral direction. It works by doing a stop and go style movement, but instead of coming to a stop Saguaro stops at a low velocity (say 0.5). The turn that the opponent will fire, we reverse to the same velocity in the opposite direction (-0.5) and then move forwards a short distance in the positive direction again.

The end result of this is that our opponent gathers data from our -0.5 velocity and (correctly) learns that from that position, tend to move in the direction opposite our lateral direction. However, since Robocode processes bullets before gun turn, their gun is still aimed based on our 0.5 velocity stalling speed at the turn that they fire. That results in them shooting with their gun aimed at the opposite side of our actual movement direction.

A similar method to this where you move at -0.5 velocity the turn before your opponent fires instead of the exact turn that they fire also works for many bots.