[Home]Dookious/DookiLightning

Robo Home | Dookious | Changes | Preferences | AllPages

Dookious's gun is called DookiLightning after its first full rewrite; it was originally called DookiSaber (before 1.20). There's not a whole lot particularly unique about it, but it's a clean, well tuned gun, and probably the best general purpose rumble gun out there right now. The margin to Phoenix, Ascendant, and perhaps CassiusClay, is not too big, though.

Here, I'll give some descriptions about Dooki's gun, and also track its scores in the TargetingChallenge2K6 and RRGunChallenge.

(Not every version will have its scores here, because not every version is a gun update, and not every version lasts long enough to make it worth running the test. All the important gun versions get tested, though.)


RRGunChallenge

Version Battles RR Rating Date Comments
1.161 1,234 1887 9/1/2006
1.10 1,184 1881 7/21/2006 Improvements to AntiSurfer gun; 3-4 points for Dookious, PL champ
1.06 1,220 1884 5/29/2006 First significant improvement to DookiSaber in a while; 10+ points ahead of Dookious 0.98, which used 1.0 gun
1.043 1,080 1873 4/30/2006
1.0 1,053 1869 4/19/2006 This gun update resulted in a 7 point jump for Dookious.
0.965 1,172 1861 4/14/2006
0.96 1,096 1866 4/11/2006


WSGunChallenge

Version Battles RR Rating Date Comments
1.10 1,124 2001 7/22/2006 Improvements to AntiSurfer gun; 3-4 points for Dookious, PL champ


TC2K7 500 rounds

Version CC DM FT GG RMX RMC SHA WS WOE WLO Non-Surf Surf Total Seasons
1.543 73.85 91.13 83.03 90.56 83.56 83.86 67.76 86.03 83.73 89.17 87.55 78.99 83.27 10


TC2K6 500 rounds

Version BFly CC Chk Cig Cya DM FM Grb RMB Tig Non-Surf Surf Total Seasons
1.471 99.89 73.51 95.72 90.10 79.70 96.58 93.42 93.93 94.73 93.73 94.78 85.67 91.13 5
1.23 99.90 72.79 94.67 90.27 77.34 96.79 94.02 93.96 95.01 94.13 94.99 84.73 90.89 20
1.161 99.91 71.33 94.44 90.22 79.43 96.61 93.80 93.73 95.05 93.74 94.89 84.74 90.83 8
1.16 99.93 72.11 94.64 89.20 78.97 96.76 93.60 94.11 94.42 92.87 94.67 84.65 90.66 6
1.10 99.81 70.61 93.35 89.12 77.18 96.46 92.31 92.86 93.01 92.88 93.93 83.51 89.76 15
1.06 99.94 69.60 93.54 89.96 77.56 96.22 91.92 93.02 92.55 90.61 93.94 82.83 89.49 3
0.98 99.63 70.85 94.39 88.56 78.93 95.62 93.17 92.79 89.87 91.51 93.27 83.92 89.53 1
0.965 99.98 69.77 93.12 89.88 77.09 95.38 94.28 92.51 92.12 92.93 94.03 83.23 89.71 2
0.91 99.97 71.72 93.52 86.59 78.96 95.61 91.25 92.39 93.32 90.91 93.19 83.78 89.42 3
0.88 99.92 71.26 91.88 85.61 76.89 95.20 91.73 92.65 92.89 92.14 93.00 83.04 89.02 1
0.87 99.95 69.52 94.27 87.49 77.85 95.38 92.57 91.77 92.52 90.80 93.28 83.11 89.21 5
0.82 99.97 69.39 91.82 85.28 74.11 94.58 90.62 92.79 92.12 91.34 92.56 81.67 88.20 4
0.816 99.86 68.09 91.82 82.41 72.89 94.82 89.97 89.48 92.54 92.17 91.51 81.24 87.41 1
0.813 99.86 68.99 90.38 83.40 74.41 94.70 90.72 92.02 91.36 88.75 92.01 80.63 87.46 3
0.81 99.75 69.71 86.74 84.04 75.45 92.08 91.75 93.52 92.24 92.78 92.23 81.17 87.81 1
0.80 99.79 68.89 87.70 82.56 71.84 94.58 90.49 91.28 91.79 91.42 91.75 79.96 87.03 10
0.78 99.65 67.27 89.24 83.43 71.71 92.37 87.85 89.45 87.33 88.73 90.01 79.24 85.70 1
0.76 99.99 66.23 85.33 76.70 72.76 92.13 89.08 88.32 89.29 88.10 89.25 78.11 84.79 1
0.72 99.89 68.93 88.22 80.91 76.17 90.15 87.53 88.00 89.42 93.48 89.32 81.70 86.27 1
0.70 99.65 67.19 88.82 79.95 76.37 92.18 87.43 88.22 88.01 88.79 89.24 80.29 85.66 3
0.65 99.34 67.23 89.30 78.90 74.96 90.47 88.23 85.54 89.04 90.66 88.59 80.54 85.37 1
0.611 99.32 67.71 88.19 78.96 78.6 92.08 89.48 85.89 87.25 84.27 88.83 79.69 85.18 1


TC2K6 FastLearning

Version BFly CC Chk Cig Cya DM FM Grb RMB Tig Non-Surf Surf Total Seasons
1.23 99.69 74.95 89.37 84.66 79.71 93.44 94.72 90.51 92.64 93.63 92.61 84.42 89.33 100
1.161 99.67 72.94 89.02 84.19 78.37 94.24 94.05 90.59 93.08 92.65 92.64 83.25 88.88 100
1.16 99.66 73.19 89.07 83.90 78.22 93.84 94.70 90.97 92.71 93.19 92.60 83.42 88.94 100
1.10 99.46 71.77 87.98 83.92 76.70 93.88 92.36 88.79 89.33 91.88 91.29 82.08 87.61 100
1.09 99.62 70.08 87.21 83.18 76.80 93.96 93.62 89.08 89.86 91.10 91.55 81.30 87.45 100
0.98 99.82 69.36 88.71 83.45 78.96 93.32 93.49 89.67 88.49 90.80 91.37 81.96 87.61 25
0.965 99.70 70.45 87.26 83.69 75.84 93.29 92.55 89.57 88.76 90.50 91.26 81.01 87.16 50
0.88 99.81 69.97 87.50 82.84 77.75 91.78 93.20 89.86 89.66 90.96 91.19 81.55 87.33 50
0.87 99.51 69.44 86.15 81.73 77.58 91.77 93.11 88.87 90.52 89.11 90.92 80.57 86.78 50
0.82 99.64 69.43 86.47 79.16 74.51 91.21 90.22 87.78 89.40 90.22 89.57 80.16 85.80 25
0.816 99.22 70.82 85.70 80.11 73.38 91.82 92.29 88.78 89.32 90.70 90.26 80.15 86.22 50
0.813 99.49 68.63 83.59 79.53 74.25 91.97 92.97 87.82 89.68 90.43 90.24 79.23 85.84 50
0.80 99.47 69.38 82.61 80.33 72.66 92.10 92.26 89.09 89.23 91.01 90.41 78.92 85.81 50
0.78 98.51 68.49 80.12 78.50 72.61 89.78 90.29 84.49 84.00 89.50 87.60 77.68 83.63 30
0.775 99.32 69.34 82.43 80.55 75.85 90.19 87.61 82.26 83.46 89.40 87.23 79.26 84.04 11
0.76 98.16 67.74 82.36 77.93 72.90 89.49 91.33 84.40 85.31 88.78 87.77 77.95 83.84 15
0.72 98.67 68.49 82.70 79.21 74.09 88.10 90.90 83.36 87.46 91.97 87.95 79.31 84.49 15
0.70 98.13 69.26 82.00 77.55 73.08 89.81 91.82 84.99 85.88 87.45 88.03 77.95 84.00 15
0.65 98.11 68.35 83.73 76.45 73.94 88.65 92.51 84.59 84.81 87.64 87.52 78.42 83.88 15
0.611 98.01 67.25 80.30 76.30 71.96 89.98 90.53 83.11 84.48 81.60 87.07 75.28 82.35 15


Dookious uses two guns in a VirtualGuns array. The "Main Gun" is designed for most RoboRumble opponents, while the "AntiSurfer Gun" is designed to hit WaveSurfers (of course) and other adaptive movements. VirtualBullets are synchronized with real bullets, as opposed to being fired every tick. If the rating for the Main Gun is above a certain point, there is a bias against selecting the AntiSurfer gun when comparing ratings. The ratings use RollingAverages with a rolling depth of about 20 rounds.

The Main Gun uses firing and non-firing waves to collect data. The non-firing waves are weighted less, but since this gun is generally geared towards non-AdaptiveMovement, the weight is still pretty high (1/5) for non-firing waves. The rolling depth is very high - it essentially won't roll the stats at all in a normal match.

The AntiSurfer gun gives a lower weight to non-firing waves (1/10 right now), has its own segmentation, and also logs negative hits for bullet hits to partially simulate the enemy's adaptation. It uses a very low rolling depth (currently 1). The idea is that as a WaveSurfer changes his movement choice for a given segment, all previous data Dookious collected is quickly becoming inaccurate. I would say that Phoenix and Shadow might have better AntiSurfer guns than Dookious, but not by too much.


Once I got to the point that I completely understood WaveSurfing and GuessFactorTargeting - though my implementations were still quite buggy - I started to peek at the source code for some other tanks, particularly CassiusClay. I learned a lot from the Bee gun, particularly about segmentation methods for certain data, but also about general code structure for a tank. Major props go to PEZ for a tank that has taught me a lot. I should also give an honorable mention to Jamougha, whose Raiko gun I took a peek at when working on the TargetingChallenge2K6. I was quite amazed that what seemed like such a simple set of segments could yield such an excellent gun; and I think that was an important thing to learn.

Formal credit needs to go to Paul Evans for being the inventor of GuessFactorTargeting, as well as PEZ for the introduction (although perhaps not solely) of VirtualGuns.


Comments

I'm running the FastLearning benchmark at home right now for 0.813; I'll be very interested to see how it turns out. -- Voidious

Version 0.82 is ditching the 0.81 - 0.816 segmentations and going back to 0.80, and I'll work from there. (Version 0.80 ranked 4-5 points higher than 0.816 and everything else between.) The dev version is using 0.80's gun segmentations, the new AntiSurfer / VirtualGuns stuff introduced in 0.816, and some small (but good) tweaks to the aiming code itself. -- Voidious

While the change in 0.91 is not huge in the TC scores, I do see a good reason to use the precise calculations of GF1 and GF-1 in the gun... In a WaveSurfing movement with PrecisePrediction, you are already only considering the scores of bins that you can actually get to; but in a gun, depending on various factors, what is considered the correct bearing to aim at may actually be an impossible bearing for the enemy to get to. I am sure that's a rare situation, but if the TC scores are the same or better (which they clearly are), it seems advantageous to just make sure that never happens. -- Voidious


Robo Home | Dookious | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited March 18, 2007 23:06 EST by Voidious (diff)
Search: