Difference between revisions of "Wave Surfing"

From Robowiki
Jump to navigation Jump to search
(rewrite)
m (Minor edit.)
 
(3 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
A form of precise bullet dodging movement used primarily in [[One on One|1v1]]. A [[Waves|Wave]] is a mechanic used to represent all possible locations of a bullet.  Through observation of waves and bullets, one can try to project the relative dangers of each area of a wave in the air -- i.e., the likelihood that the enemy fired at various angles.  (Note that Robocode bots cannot see bullets in the air.)
 
A form of precise bullet dodging movement used primarily in [[One on One|1v1]]. A [[Waves|Wave]] is a mechanic used to represent all possible locations of a bullet.  Through observation of waves and bullets, one can try to project the relative dangers of each area of a wave in the air -- i.e., the likelihood that the enemy fired at various angles.  (Note that Robocode bots cannot see bullets in the air.)
 +
 +
== History ==
  
 
[[User:ABC|ABC]] was the first to implement true Wave Surfing in a Robocode bot when he added it to [[Shadow]] in mid-2004. As of April, 2010, the top 40 duelists in the [[RoboRumble]] use a form of Wave Surfing.
 
[[User:ABC|ABC]] was the first to implement true Wave Surfing in a Robocode bot when he added it to [[Shadow]] in mid-2004. As of April, 2010, the top 40 duelists in the [[RoboRumble]] use a form of Wave Surfing.
Line 13: Line 15:
 
== Styles of surfing ==
 
== Styles of surfing ==
  
* [[/True Surfing|True Surfing]] - Decide each tick whether to move forward, backward, or stop. Used by the great majority of Wave Surfers and the [[Wave Surfing Tutorial]].
+
* [[/True Surfing|True Surfing]] - Decide each tick whether to move forward, backward, or stop. By far the most common form of wave  surfing, it is used by many bots including [[BasicSurfer]], [[Diamond]], and [[Shadow]].
* [[/GoTo Surfing|GoTo Surfing]] - Calculate the safest spot on the nearest wave(s) and move there directly.
+
* [[/GoTo Surfing|GoTo Surfing]] - Calculate the safest spot on the nearest wave(s) and move there directly.  [[DrussGT]] uses this method.
* [[/Melee|Melee Surfing]] - While many have tried their hands at Wave Surfing in [[Melee]], there hasn't been huge successFor now, check out the [[Talk:Wave Surfing/Melee|talk page]].
+
* [[/Melee|Melee Surfing]] - Surfing waves fired by multiple bots simultaneously.  [[Neuromancer]] uses this method.
  
 
==See also==
 
==See also==
Line 22: Line 24:
 
* [[Energy Drop]]
 
* [[Energy Drop]]
 
* [[Precise Prediction]]
 
* [[Precise Prediction]]
 +
* [[Flattener]]
 +
* [[Gun Heat Waves]]
  
 
[[Category:Movement]]
 
[[Category:Movement]]

Latest revision as of 18:19, 31 December 2012

Youtube
Youtube has a video of Wave Surfing in action: click here to watch

A form of precise bullet dodging movement used primarily in 1v1. A Wave is a mechanic used to represent all possible locations of a bullet. Through observation of waves and bullets, one can try to project the relative dangers of each area of a wave in the air -- i.e., the likelihood that the enemy fired at various angles. (Note that Robocode bots cannot see bullets in the air.)

History

ABC was the first to implement true Wave Surfing in a Robocode bot when he added it to Shadow in mid-2004. As of April, 2010, the top 40 duelists in the RoboRumble use a form of Wave Surfing.

How it works

  • Detect an energy drop to know that a bullet was fired. Create a matching Wave.
  • Gather data from onHitByBullet or onBulletHitBullet, always matching to the correct Wave, to learn what firing angles the enemy gun uses in different situations.
  • For the nearest bullet(s) in the air, use precise prediction to deduce the areas of the wave(s) your bot could reach.
  • Try to move to the safest reachable spot on each wave.

Styles of surfing

  • True Surfing - Decide each tick whether to move forward, backward, or stop. By far the most common form of wave surfing, it is used by many bots including BasicSurfer, Diamond, and Shadow.
  • GoTo Surfing - Calculate the safest spot on the nearest wave(s) and move there directly. DrussGT uses this method.
  • Melee Surfing - Surfing waves fired by multiple bots simultaneously. Neuromancer uses this method.

See also