WaveSerpent
Revision as of 02:47, 1 August 2017 by MultiplyByZer0 (talk | contribs) (Fix broken download link and update version to match latest LiteRumble entry)
- Sub-pages:
- Version History - RRGC - DookiSerpent - Archived Talk 20090520
WaveSerpent | |
Author(s) | Kev |
Extends | AdvancedRobot |
Targeting | GuessFactor Targeting |
Movement | Wave Surfing |
Current Version | 2.11 |
Code License | RWPCL |
Download |
Background Information
- What's special about it?
- The movement is unique (I think) in using using segmentation without Visit Count Stats.
- How competitive is it?
- WaveSerpent is currently 2nd in the general rumble.
Strategy
- How does it move?
- True Surfing with Precise Prediction and Precise Intersection. Instead of using VisitCountStats WaveSerpent records lists of GuessFactors it has been hit at and tries to avoid them. There are numerous segmentation schemes that are dynamically weighted and layered on top of each other. Also, the movement uses anti-aliasing between segments.
- How does it fire?
- WaveSerpent uses two GuessFactor guns in a VirtualGuns array. Both guns use anti-aliasing between segments and have many different buffers weighted and layered on top of each other. One gun is tuned to hit surfers by rolling stats quickly and having the buffers weighted dynamically. The other does not have dynamic weighting or rolling.
- How does it dodge bullets?
- Wave Surfing
- How does the melee strategy differ from one-on-one strategy?
- It currently can't fight in melees.
- What does it save between rounds and matches?
- Guess factor and surfing data between rounds.
Additional Information
- Where did you get the name?
- A wave serpent is a type of tank in a tabletop battle game my friends and I used to play.
- Can I use your code?
- Sure, it's released under the terms of the RWPCL.
- What's next for your robot?
- Take the throne?
- Add melee capabilities.
- Does it have any White Whales?
- What other robot(s) is it based on?
- I've used many ideas from throughout the wiki, specifically from:
- CassiusClay, which initially helped me figure out how Wave Surfing works. WaveSerpent also uses a pluggable code structure similar to CassiusClay's and a RobotPredictor based off of the one by PEZ.
- It uses non-iterative WallSmoothing and the proper handling of onDeath(), both by David Alves.
- The conditions for deciding when to use the curve flattener and energy management were both inspired by Dookious
- It uses precise wave intersection utilities based off of Skilgannon's.
- The idea of using anti-aliasing came from Rednaxela.
- It was indirectly influenced by:
- Kawigi's GuessFactor Targeting Tutorial, which helped me figure out the basics of GuessFactors.
- RaikoMicro and Tityus showed me good ways to segment data early on.
- Experiments
- DookiSerpent uses WaveSerpent's movement and the gun from Dookious. It shows that WaveSerpent's movement is really strong (it's only a couple points behind Dookious), but the gun still needs some work.
- WaveSerpentRRGC uses WaveSerpent's gun and the movement from Raiko for the RR Gun Challenge.