Difference between revisions of "Stop And Go"

From Robowiki
Jump to navigation Jump to search
(renaming the link ;))
(Rewrite page)
 
(6 intermediate revisions by 6 users not shown)
Line 1: Line 1:
There are still lots of bots that use one of the simple targeting methods like [[Head-On Targeting]], [[Linear Targeting]] or [[Circular Targeting]].
+
{{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).
  
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]].
+
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).
  
== Applications ==
+
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.
  
For [[Head-On Targeting]] there already is the [[Musashi Trick]], enabling anybody to score more than 90% against any HOT-bot.
+
== 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 [[Linear Targeting]] and [[Circular Targeting]] there also exists a quite effective movement scheme,
+
There are two main flavours of this [[Movement|movement]]:
although not so commonly known, that is called [[Stop And Go]].
+
* 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 good implementation of such a movement could reach the performance level of [[WaveSurfing]],
+
A short explanation how to check if an enemy fired can be found in the [[Robocode/FAQ|Robocode FAQ]].
see [[WaveSurfingChallenge2K6]] against botB and botC.
 
  
== Bots using this technique ==
+
== Implementors ==
* [[Ares]]
 
* [[Che]]
 
 
* [[Cigaret]]
 
* [[Cigaret]]
 
* [[GrubbmGrb]]
 
* [[GrubbmGrb]]
 
* [[Gruwel]]
 
* [[Gruwel]]
* [[Puzzle]]
+
* [[LittleBlackBook]]
* [[Vyper]]
+
* [[Scytodes]]
 +
* [[Splinter]]
 
* [[Thorn]]
 
* [[Thorn]]
* [[Splinter]]
+
* [[Toorkild]]
* [[Scytodes]]
+
* [[Waylander]]
* [[Chicken]]
 
* [[Decado]]
 
 
 
== 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 [[Beginners 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 Tutorials]]
+
* [[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