[Home]Dookious/DookiSailer

Robo Home | Dookious | Changes | Preferences | AllPages

Showing revision 10
Count Dooku travels through space on a Geonosian Solar Sailer; thus, Dookious's movement class is called "DookiSailer". It is a WaveSurfing movement, and is also used in Shaakious.


MovementChallenge2K6

Version WSCBotA WSCBotB WSCBotC WSC APMC CassiusClay FloodHT Shadow CFC Overall Score
1.111 99.87 98.67 95.74 98.09 38.04 48.55 64.35 30.41 47.77 61.30
0.965 99.13 98.44 96.23 97.93 36.67 47.64 63.94 32.29 47.95 60.85
0.95 99.96 98.30 96.14 98.13 37.06 45.95 63.27 31.36 46.86 60.68
0.94 99.78 98.30 95.85 97.97 36.55 46.60 65.49 31.07 47.72 60.74
0.93 99.55 98.58 96.49 98.20 37.96 47.28 63.30 29.86 46.81 60.99
0.905 97.60 98.12 95.92 97.21 35.03 43.31 60.27 30.63 44.73 58.99
0.90 99.69 97.97 95.03 97.56 38.79 46.40 66.58 31.69 48.22 61.52
0.86 99.76 98.33 96.17 98.08 37.56 45.20 59.87 29.21 44.76 60.13
0.851 99.45 98.70 96.44 98.19 30.62 44.38 52.98 27.43 41.59 56.80
0.83 99.54 97.13 92.98 96.55 37.85 43.23 55.73 29.28 42.75 59.05
0.791 * 99.44 96.48 91.61 95.8433.52 41.57 51.71 25.28 39.52 56.29
0.72 * 99.09 97.90 93.92 96.97 33.86 38.27 58.91 26.00 41.06 57.30

* = WaveSurfingChallenge2K6 was 1,000 rounds initially, but is now 500 rounds


I went through a lot of phases in my quest to implement WaveSurfing, beginning with a version of it hacked into a highly customized AntiGravityMovement system. The current system uses PrecisePrediction, courtesy of Albert's FuturePosition class, and implements a kinda-sorta True Surfing.

First, it loads up the 2 closest waves - by distance, not time. (I may change that eventually, but I think there are few bots who would/could exploit this weakness.) For the closest wave, Dookious predicts where he'd be when the wave intercepts him if he: (a) continued orbiting in his current direction, (b) hit the brakes (setMaxVelocity?(0)), or (c) reversed orbiting direction. He gets the GuessFactor scores for each of those spots on the closest wave

Then, for each of those spots + times of intercept + velocity/headings (in the future), he calculates the furthest GuessFactor in each orbit direction he could get to on the next wave by the time it intercepts him. (He approximates the "stop" position as an instantaneous stop at the 2nd level.) He takes the lowest (best) of these GuessFactor scores on the 2nd wave, and each gets added to the 1st level score that this prediction stemmed from. (The 2nd score is much less heavily weighted.) The total is the score for that movement choice, and Dookious chooses the movement option with the best score.

Frankly, the second level was originally going to take the lowest score anywhere in the range of GuessFactors that Dookious could get to. The choice to only test the maximum, minimum, and "stop == 0" factors was a quick hack just to test out. It seems to consistently work better, though, for reasons that I cannot explain. :) So that is how it has been left.

The movement certainly takes ideas from a lot of parts of this wiki, including all the sub-pages of WaveSurfing. Thanks to everyone who contributed all of that info! And major props go to ABC, the inventor of WaveSurfing.


Robo Home | Dookious | Changes | Preferences | AllPages
Edit revision 10 of this page | View other revisions | View current revision
Edited August 15, 2006 6:55 EST by Voidious (diff)
Search: