Stop And Go

From Robowiki
Revision as of 06:47, 26 September 2017 by MultiplyByZer0 (talk | contribs) (Rewrite page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Youtube
Youtube has a video of Stop And Go in action: click here to watch

Stop and Go is a simple Movement strategy to dodge bullets fired by HOT, linear, and circular guns. It was born out of the need to dodge simple targeters (which are extremely common in the RoboRumble), but without high complexity (so that the movement can be implemented in Code Size restricted robots).

Stop and Go is an advancement over the Musashi Trick (only effective against HOT targeters), but still less effective than full-blown Wave Surfing (effective against almost all targeting, if implemented correctly).

Note that any advanced targeting system will chop this movement into little pieces. Any enemy that maintains a log or an average of your robot's velocity will not be fooled. Therefore, it is not recommended to use this as the primary movement system. Your robot should try Stop and Go at the beginning of a battle, and if it fails, replace it with a more generic overall movement, such as Random Movement. This is an example of Multi-Mode movement.

How it works

The idea behind it is simple: If the enemy fires at you while you are standing still, start moving. If it fires when you are moving, stop. The enemy bullets will fly in front of you and behind you, but will rarely hit.

There are two main flavours of this movement:

  • Start moving when the enemy fires, but stop again before the next bullet is fired. Implemented in Ares.
  • Start moving when the first bullet is fired, stop when the next bullet is fired, etc. Implemented in GrubbmGrb.

A short explanation how to check if an enemy fired can be found in the Robocode FAQ.

Implementors

Most bots near the top of the One on One MicroRumble use this technique.

See also