Difference between revisions of "Dookious/DookiLightning"

From Robowiki
Jump to navigation Jump to search
m (removing bad subpage link)
m (minor changes, reorganization)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Background ==
 
== Background ==
  
Dookious's gun is called '''DookiLightning''' (it was called ''DookiSaber'' before v1.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.
+
Dookious's gun is called '''DookiLightning''' (it was called ''DookiSaber'' before v1.20). There's not a whole lot particularly unique about it, but it's a clean, well tuned gun, and certainly among the best general purpose rumble guns out there.
  
 
Here, I'll give some descriptions about Dooki's gun, and also track its scores in the [[TargetingChallenge2K6]] and [[RRGunChallenge]].
 
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.)
 
(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.)
 +
 +
== How It Works ==
 +
 +
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 [[RollingAverage]]s 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.
 +
 +
== Credits ==
 +
 +
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 [[CassiusClay/Bee|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]].
  
 
== Challenge Scores ==
 
== Challenge Scores ==
Line 821: Line 835:
 
|}
 
|}
  
 
+
[[Category:Targeting Implementations]]
== Additional Information ==
 
 
 
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 [[RollingAverage]]s 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.
 
 
 
== Credits ==
 
 
 
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 [[CassiusClay/Bee|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]].
 

Latest revision as of 21:52, 22 April 2009

Background

Dookious's gun is called DookiLightning (it was called DookiSaber before v1.20). There's not a whole lot particularly unique about it, but it's a clean, well tuned gun, and certainly among the best general purpose rumble guns out there.

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.)

How It Works

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.

Credits

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.

Challenge Scores

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