Difference between revisions of "Stop And Go"

From Robowiki
Jump to navigation Jump to search
m (placeholder)
 
(Rewrite page)
 
(12 intermediate revisions by 8 users not shown)
Line 1: Line 1:
{{Stub}}
+
{{Youtube|i-RguklomNo}}
 +
'''Stop and Go''' is a simple [[Movement]] strategy to dodge bullets fired by [[Head-On Targeting|HOT]], [[Linear Targeting|linear]], and [[Circular Targeting|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).
  
Placeholder
+
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|targeting system]] will chop this movement into little pieces. Any enemy that [[Pattern Matching|maintains a log]] or [[Mean Targeting|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 [[Energy Drop|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|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|Robocode FAQ]].
 +
 +
== Implementors ==
 +
* [[Cigaret]]
 +
* [[GrubbmGrb]]
 +
* [[Gruwel]]
 +
* [[LittleBlackBook]]
 +
* [[Scytodes]]
 +
* [[Splinter]]
 +
* [[Thorn]]
 +
* [[Toorkild]]
 +
* [[Waylander]]
 +
 +
Most bots near the top of the [[One on One]] MicroRumble use this technique.
 +
 +
== See also ==
 +
* [[Energy Drop]]
 +
* [[Multi-Mode]]
 +
* [[Musashi Trick]]
 +
* [[Stop And Go Tutorial]]
 +
* [[Wave Surfing]]
 
[[Category:Movement|Stop And Go]]
 
[[Category:Movement|Stop And Go]]

Latest revision as of 07:47, 26 September 2017

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