Difference between revisions of "Stop And Go"

From Robowiki
Jump to navigation Jump to search
(Rewrite page)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 
{{Youtube|i-RguklomNo}}
 
{{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).
  
There are still lots of bots that use one of the simple targeting methods like [[Head-On Targeting]], [[Linear Targeting]] or [[Circular Targeting]].
+
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).
  
Therefore there are people looking for an easy way to dodge the bullets fired by these methods, without the complexity of the very effective [[WaveSurfing]] or using Enemy [[Virtual Bullets]].
+
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.
  
== Applications ==
+
== 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.
  
For [[Head-On Targeting]] there already is the [[Musashi Trick]], enabling anybody to score more than 90% against any HOT-bot.
+
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]].
  
For [[Linear Targeting]] and [[Circular Targeting]] there also exists a quite effective movement scheme,
+
A short explanation how to check if an enemy fired can be found in the [[Robocode/FAQ|Robocode FAQ]].
although not so commonly known, that is called [[Stop And Go]].
 
 
 
A good implementation of such a movement could reach the performance level of [[WaveSurfing]],
 
see [[WaveSurfingChallenge2K6]] against botB and botC.
 
  
== Bots using this technique ==
+
== Implementors ==
* [[Ares]]
 
* [[Che]]
 
* [[Chicken]]
 
 
* [[Cigaret]]
 
* [[Cigaret]]
 
* [[GrubbmGrb]]
 
* [[GrubbmGrb]]
 
* [[Gruwel]]
 
* [[Gruwel]]
* [[Puzzle]]
+
* [[LittleBlackBook]]
 
* [[Scytodes]]
 
* [[Scytodes]]
 
* [[Splinter]]
 
* [[Splinter]]
 
* [[Thorn]]
 
* [[Thorn]]
 
* [[Toorkild]]
 
* [[Toorkild]]
* [[Vyper]]
 
 
* [[Waylander]]
 
* [[Waylander]]
* [[LittleBlackBook]]
 
 
Most bots near the top of the Micro-rumble use this technique.
 
 
== 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|movement]]:
 
* Start moving when the enemy fires, but stop again before the next bullet is fired. See for example ms.[[Ares]]
 
* Start moving when the first bullet is fired, stop when the next bullet is fired, etc. See for example gh.[[GrubbmGrb]]
 
 
A short explanation how to check if an enemy fired can be found in the [[Robocode/FAQ|Robocode FAQ]].
 
  
Note that any more advanced [[Targeting|Targeting Method]] will chop this movement to little pieces,
+
Most bots near the top of the [[One on One]] MicroRumble use this technique.
therefore it is not recommended to use [[Stop And Go]] as only available [[Category:Movement|Movement Option]].
 
This [[Category:Movement|Movement]] should be used when starting a battle and, if not successful,
 
be replaced by a more generic overall movement, see also [[Multi-Mode]].
 
  
== Related topics ==
+
== See also ==
* [[Energy Drop Surfing]]
+
* [[Energy Drop]]
 
* [[Multi-Mode]]
 
* [[Multi-Mode]]
* [[Cool Movement]]
+
* [[Musashi Trick]]
 
* [[Stop And Go Tutorial]]
 
* [[Stop And Go Tutorial]]
[[category:Movement|Stop And Go]]
+
* [[Wave Surfing]]
 +
[[Category:Movement|Stop And Go]]

Latest revision as of 06: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