Difference between revisions of "Dookious/Version History"

From Robowiki
Jump to navigation Jump to search
m (fixing bad subpage link)
m (category)
 
Line 621: Line 621:
 
* '''0.40''' - '''Rating: 1671'''
 
* '''0.40''' - '''Rating: 1671'''
 
** Bug-ridden but moderately effective initial release. :)
 
** Bug-ridden but moderately effective initial release. :)
 +
 +
[[Category:Bot Version Histories]]

Latest revision as of 19:53, 20 May 2009

  • 1.58
    • Miscellaneous tweaks to movement buffers.
  • 1.573 - Rating: 2131 (1st), PL: 578-1 (2nd*)
    • More tweaks to precise max escape angle code.
  • 1.572 - Rating: 2130 (1st), PL: 577-2 (2nd*)
    • It's OK to process fired waves when energy is 0, but still don't fire new ones.
    • Tweaks to precise max escape angle code.
  • 1.571 - Rating: 2131 (1st), PL: 577-2 (2nd)
    • Re-enabled data saving.
  • 1.57 - Rating: 2128 (1st), PL: 573-0 (1st*)
    • Slightly lowered hit percentage thresholds for enabling flattener.
    • Data saving in gun is disabled. (This was a mistake, but I'll let it go and change it for next version.)
  • 1.56 - Rating: 2128 (1st), PL: 575-2 (3rd)
    • WaveSurfing speed optimization idea offered by Krabb. Seems to shave about 25% total time from a Dookious vs Dookious match. Thanks Krabb!
    • One miniscule GuessFactor / bot width window change rolled back from Lukious/Rewrite work.
  • 1.554b - Rating: 2127 (1st), PL: 572-0 (1st)
    • Lower RollingAverage depths, still trying to keep them very diverse.
  • 1.553 - Rating: 2121 (1st), PL: 517-0 (1st*)
    • Rollback to 1.55.
    • More intensely diversified RollingAverage depths throughout all stat buffers.
  • 1.552 - Rating: 2122 (1st), PL: 519-1 (1st*)
    • Rollback to 1.55.
    • Removed non-firing wave data from CurveFlattening stats.
  • 1.551 - Rating: 2121 (1st), PL: 521-0 (1st)
    • Trying some much funkier segments in the AntiSurfer gun.
    • Removed negative bullet hits from AntiSurfer gun, as I doubt any tanks are surfing on most of the segments it's using.
  • 1.55 - Rating: 2120 (1st), PL: 518-0 (1st)
    • Added 8 more stat buffers to the high set of movement buffers, using diverse combinations of segments.
  • 1.544 - Rating: 2123 (1st), PL: 516-1 (1st*)
    • Re-release of 1.543.
  • 1.543 - Rating: 2122 (1st), PL: 521-1 (1st)
    • Rollback to 1.541.
    • Some CrowdTargeting inspired tweaks to WaveSurfing segmentations:
      • Six additional stat buffers added to movement. (There's now 26 total in main set, 3 more in extra flattener.)
      • New buffers include four new attributes among their segments.
      • I've staggered the RollingAverage depths among the 14 "high segmented" buffers.
      • Removed weighting of different buffers among main buffers. (Extra flattener buffers are still weighted.)
  • 1.542 - Pulled
    • Re-release of 1.522.
    • Note: Wanted to make sure no part of my rating jump was from switching my clients from Robocode 1.1.3 to 1.1.5. Turns out it was a large factor in those rating jumps.
  • 1.541 - Rating: 2114 (1st), PL: 507-0 (1st)
    • Rollback to 1.534.
    • Lots of tweaks to WaveSurfing segmentations and weights.
    • Tainted rating with Robocode 1.1.5: Rating: 2128 (1st), PL: 506-2 (3rd)
  • 1.54 - Rating: 2120 (1st), PL: 507-1 (1st) ???
    • Slightly increased hit percentage thresholds for enabling flattener.
  • 1.534 - Rating: 2123 (1st), PL: 505-0 (1st) ???
    • Rollback to 1.522.
    • Different approach to fixing dive protection issues.
    • Note: Record MovementChallenge2K6 scores.
  • 1.533 - Rating: 2103 (1st), PL: 501-2 (2nd*)
    • More tweaks to dive protection - trying to find a sweet spot that avoids any catastrophes in the WaveSurfingChallenge while not crashing the RoboRumble rating.
  • 1.531 - Pulled
    • Some tweaks to the new dive protection.
  • 1.53 - Pulled
    • Finally fixed some issues with dive protection in the WaveSurfing that have been around since the rewrite.
  • 1.522 - Rating: 2108 (1st), PL: 503-0 (1st)
    • Take distance and reachable escape angle into account in normalizing hit percentages, instead of just approximated bullet time.
    • Tweaks to normalization constants in enemy hit-% tracking.
  • 1.521 - Rating: 2108 (1st), PL: 500-3 (3rd)
    • A constant in the hit percentage normalization is changed so that all hit percentages will be a bit higher. This affects all the hit-% thresholds in movement.
    • Note: 1.52 changed how the hit percentages are calculated but left the thresholds unchanged, so it will take some time and tuning to get everything back in line.
  • 1.52 - Rating: 2107 (1st), PL: 500-3 (3rd)
    • Instead of tracking enemy's ranged hit-% (hit percentage beyond a threhold distance), normalize all enemy hits over a "typical" bullet flight time. This is the hit percentage used to trigger various movement decisions. This new calculation should achieve the same desired results, conceptually, but more accurately and over all available data.
  • 1.512 - Rating: 2110 (1st), PL: 502-1 (1st)
    • Fixed a minor issue with the precise escape angle caching I introduced in 1.51.
  • 1.511 - Pulled
    • In VirtualGuns, use distance instead of bullet time as one of the factors.
      • Note: If I hadn't used escape angle as a factor, bullet time would be better than distance, but the difference between distance and bullet time is already accounted for in escape angle.
  • 1.51 - Rating: 2105 (1st), PL: 499-3 (3rd)
    • Tweaks to VirtualGuns management:
      • Data weighted by bullet time instead of distance.
      • Data also weighted by total (precise) escape angle at fire time.
  • 1.50 - Rating: 2108 (1st), PL: 497-3 (3rd*)
    • Rollback to 1.497.
    • Minor tweaks to WaveSurfing danger calculation: enemy waves weighted by bulletDamage(bulletPower) instead of just bulletPower, and inversely weighted by timeToImpact instead of distanceToWave.
    • Note: I will be a little surprised if these have any significant performance impact, but I do believe these tweaks are more "correct" than the old code. Versus something like ChaseBullets, they might help.
  • 1.499 - Rating: 2109 (1st), PL: 499-2 (1st*)
    • Same idea as 1.498, hopefully tweaked a little better.
  • 1.498 - Pulled
    • The intensity with which distancing is factored into WaveSurfing dangers is now dependent on the enemy's hit percentage.
  • 1.497 - Rating: 2112 (1st), PL: 499-0 (1st)
    • A few distancing tweaks.
  • 1.496 - Rating: 2112 (1st), PL: 498-0 (1st)
    • Rollback to 1.493.
    • All hit percentages used for decisions in the movement are now normalized to the "power 2" equivalent, by multiplying them by (bulletVelocity(avg enemy power) / bulletVelocity(2)). I've done this for the ranged percentages in the flattener for a while, but now all other parts use it, too.
      • Thanks go to Kev, as I believe he was the first one to mention doing this to hit percentages.
    • Tweaks to many of the hit percentage thresholds used in movement decisions.
  • 1.495 - Rating: 2107 (1st), PL: 489-2 (2nd*)
    • More tweaks to hit percentage thresholds in movement decisions.
  • 1.494 - Pulled
    • Tweaks to hit percentage thresholds in movement decisions.
  • 1.493 - Rating: 2109 (1st), PL: 496-0 (1st)
    • In tracking enemy ranged hit percentage, used for adjusting flattener and distancing, discard bullet hit bullets instead of counting them as misses. In turn, raise hit percentage thresholds slightly.
  • 1.492 - Rating: 2109 (1st), PL: 497-0 (1st)
    • Rollback to 1.49.
    • Increased most hit percentage thresholds (those above 5%) in movement by 1%.
  • 1.491 - Rating: 2110 (1st), PL: 496-1 (1st*)
    • Recompile / rerelease of 1.472.
  • 1.49 - Rating: 2104, PL: 496-1 (2nd)
    • Rollback to 1.472.
    • Proper handling of onDeath. (Thanks to David Alves.)
  • 1.483 - Rating: 2104 (1st), PL: 495-1 (1st*)
    • Rollback to 1.472.
    • Tweak to distancing factor in WaveSurfing dangers: applies distancing factor on both waves instead of just the closest one.
  • 1.482 - Rating: 2100 (1st)
    • Reverted a couple changes from 1.481.
    • Added an anti-getting-cornered factor into WaveSurfing dangers.
  • 1.481 - Rating: 2108 (1st), PL: 494-0 (1st)
    • Rollback to 1.472.
    • Miscellaneous tweaks to WaveSurfing.
  • 1.48 - Rating: 2104 (1st)
    • Rollback to 1.472.
    • Miscellaneous changes to WaveSurfing weights and segmentation.
  • 1.475 - Rating: 2110 (1st)
    • Rollback to 1.472.
    • Changes to Main Gun:
      • Higher rolling depth in fast learning buffers.
      • Lowered the (weighted) visits threshold before a buffer achieves max weight.
  • 1.474 - Rating: 2113 (1st)
    • Changes to Main Gun:
      • Reverted fast learning buffers to previous weight (1/4 of main buffers).
      • Decreased rolling depth in fast learning buffers from 10 to 8 (weighted) visits.
      • Slight changes to fast learning buffers' segmentations, including addition of wall distance segment.
  • 1.473 - Rating: 2113 (1st), PL: 485-0 (1st)
    • Changes to Main Gun:
      • Doubled the weight of the fast learning buffers (now 1/2 of main buffers).
      • Doubled the rolling depth (but it's still very low).
  • 1.472 - Rating: 2115 (1st), PL: 487-1 (1st)
    • Rollback to 1.462.
    • Changes to Main Gun:
      • Much higher weighting to fast learning buffers (weighted about 1/4 of main buffers instead of negligible).
      • Much lower rolling depth in fast learning buffers. Still many times higher than AntiSurfer gun, but with fewer segments, the expiration time is probably the same or less for a given segment.
  • 1.471 - Rating: 2107 (1st), PL: 480-1 (1st)
    • Rollback to 1.462.
    • Replaced distance last eight ticks segment with distance last 25 ticks. Used my Segmentation Research to find some good slices.
  • 1.47 - Rating: 2104 (1st), PL: 480-1 (1st)
    • Rollback to 1.462.
    • Changes to Main Gun segmentation: replaced time since velocity change and distance last eight ticks segments with time since max speed and time since (near) zero speed segments.
  • 1.465 - Rating: 2100 (1st)
    • Tweak to new distancing setup.
  • 1.464 - Rating: 2101 (1st), PL: 480-0 (1st)
    • Rollback to 1.462.
    • Experimental change to how distancing is factored into WaveSurfing danger calculations.
  • 1.463 - Rating: 2109 (1st)
    • Several miscellaneous flattener tweaks.
  • 1.462 - Rating: 2114 (1st), PL: 480-1 (1st)
    • More tweaks to flattener thresholds.
  • 1.461 - Rating: 2110 (1st), PL: 481-0 (1st)
    • Slightly lowered thresholds for enabling flattener.
  • 1.46 - Rating: 2113 (1st), PL: 477-4 (4th)
    • Rollback to 1.453.
    • Tweaks to hit percentage thresholds to enable flattener; also adjusts threshold proportionally to bulletVelocity(average enemy bullet power) instead of a very ugly, hackish way that subtracts average enemy bullet power from a max threshold. (Thresholds before and after this change are the same at bullet power = 2.)
  • 1.456 - Rating: 2105 (1st), PL: 481-1 (1st)
    • Rollback to 1.453.
    • More tweaks to attack angle control... (One last time, for now.)
  • 1.455 - Rating: 2106 (1st), PL: 478-2 (2nd)
    • Rollback to 1.453.
    • Second closest surf wave weighted significantly higher than before (when flattener's off).
  • 1.454 - Rating: 2106 (1st), PL: 478-2 (2nd)
    • Tweaks to distancing.
  • 1.453 - Rating: 2106 (1st), PL: 479-1 (1st)
    • Tweaks to attack angle control and threshold between subtle and aggressive distancing.
  • 1.452 - Rating: 2105 (1st), PL: 478-2 (2nd)
    • More tweaks to attack angle control.
  • 1.451 - Rating: 2101 (1st), PL: 478-2 (2nd)
    • Tweaks to attack angle control.
  • 1.45 - Rating: 2106 (1st), PL: 480-0 (1st)
    • Adjustments to attack angle control code; replacing many-branched if statements with simple formulas.
  • 1.443 - Rating: 2107 (1st), PL: 480-0 (1st)
    • Rollback to 1.43.
    • Tweaks to bullet power management.
  • 1.442 - Rating: 2105 (1st), PL: 478-1 (1st)
    • More tweaks to AntiSurfer gun.
  • 1.441 - Rating: 2101 (1st)
    • Attempt at refining the AntiSurfer gun and mask calculation. Uses precise prediction for most recent firing wave to find range of possible GuessFactors on only that wave, applies those dangers to approximate ranges on aiming wave.
  • 1.44 - Rating: 2111 (1st), PL: 479-0 (1st)
    • Rollback to 1.43
    • Testing a pretty radical change (well, addition) to the AntiSurfer gun. It tries to take into account the dangers (from a simulated enemy surf buffer) of the waves in the air when aiming.
    • Got rid of negative weighted bullet hits in AntiSurfer gun buffers.
  • 1.433 - Rating: 2107 (1st), PL: 476-2 (2nd)
    • Rollback to 1.43.
    • Tweaks to VirtualGuns:
      • Added initial bias for Main Gun (1 hit for Main Gun, 1 miss for AntiSurfer gun).
      • VirtualBullets in first 3 rounds are weighted less, gradually increasing to full weight. Rationale is that there is less data for the guns at this point, so whether a gun hits or not is less indicative of whether it is the right gun to use.
      • VirtualBullets weighted inversely proportional to bullet power, similarly to how they are weighted proportional to distance.
  • 1.431 - Pulled
    • Significantly lowered hit-percentage threshold at which I apply a penalty to the AntiSurfer gun's VirtualGuns rating. (Strongly suggested by David Alves.)
  • 1.43 - Rating: 2110 (1st), 476-2 (1st)
    • Rollback to 1.41.
    • Segmentation changes to Main Gun.
  • 1.421 - Rating: 2100 (1st)
    • More tweaks to flattener
  • 1.41 - Rating: 2106 (1st), PL: 477-1 (1st)
    • Fixed a bug in movement: was moving perpendicular to wave's original absolute bearing; should be using (and was already predicting) current absolute bearing to wave source.
  • 1.40 - Rating: 2104 (1st), PL: 477-1 (1st)
    • Rollback to 1.3666.
    • Tweaks to movement segmentations and flattener.
  • 1.37 - Rating: 2101 (1st), PL: 477-1 (1st)
    • Rollback to 1.3666.
    • Changes to AntiSurfer gun, using separate buffers for bullet hits (negatively weighted) and (traditional) wave based targeting data.
  • 1.369 - Rating: 2107 (1st), PL: 473-3 (3rd)
    • Recompile / rerelease of 1.25.
  • 1.368 - Rating: 2102 (1st)
    • 1.3666 with precise escape angle calculation for gun from 1.25.
    • Note: A bit mashed together, I'll clean it up if it works...
  • 1.367 - Rating: 2106 (1st)
    • Dookious 1.161 movement with Dookious 1.3666 gun.
    • Note: Testing to see if I have broken the gun through refactoring involved in movement rewrite.
  • 1.3666 - Rating: 2105 (1st)
    • Restored some specific anti-rammer movement code when a rammer is close.
    • Don't consider "stop" movement option for second wave in movement.
    • Fixed super tiny bug in rammer detection.
    • Fixed minor bugs in surf prediction.
  • 1.362 - Rating: 2106 (1st)
    • Restored partial "smooth away" functionality, as it was last implemented in old Dookious code and in 1.32.
  • 1.361 - Rating: 2106 (1st), PL: 474-3 (3rd)
    • Fixed bug in movement: prediction was correctly orbiting wave sources, but movement angle orbited current enemy location!
  • 1.36 - Pulled / Replaced
    • Narrowed distance threshold for finding correct bullet when hit, for updating movement stats. Previously, it could have easily been finding the wrong bullet if it misdetected a wave being fired. (Rare, but it can happen.)
    • Dropped "smooth away" behavior for good.
    • Don't surf waves that have already hit the tank or another bullet
  • 1.352 - Rating: 2104 (1st), PL: 469-1
    • Fixed a bug in movement that would match bullet hits to non-firing waves, probably corrupting stats.
    • Note: Left the bug in place in the gun, for now, for consistency of comparisons.
  • 1.351 - Rating: 2094 (2nd)
    • Use distance to wave source instead of distance to enemy in main surfing method. (More importantly, this matches up with prediction code and old Dookious code.)
  • 1.35 - Pulled / Replaced
    • More tiny tweaks to prediction code.
    • Return of the "smooth away" behavior in movement.
    • The velocity threshold for just using the previous orientation instead recalculating it set to 0.1 (like old Dookious) from 1.0.
  • 1.34 - Rating: 2098 (2nd), PL: 475-2 (3rd)
    • Dropped the "smooth away" stuff from 1.32 / 1.33.
    • Back to using all three movement options for 2nd wave.
    • Fixed two prediction bugs, one from the smooth away issues and another that was already there.
    • Fixed windowed bin scores - need to divide by number of bins.
    • Found / fixed a typo-ish bug that would've affect AntiSurfer gun tricks from 1.27*. Noted to retry those with it fixed.
    • Note: WaveSurfingChallenge scores are very very solid with this version. I hope it translates to the movement being generally bug free!
  • 1.33 - Pulled
    • Fixed the movement feature I implemented in 1.32.
    • Removed "stop" movement option from second wave calculations in movement (to match old Dookious code, for now).
  • 1.32 - Rating: 2089 (3rd)
    • Restored the one movement feature I was hoping I could safely drop in the rewrite: closer than a certain distance (decided dynamically), WallSmooth away from enemy instead of towards it. (And correctly predict this behavior.)
  • 1.31 - Pulled
    • Changes to make new movement same as old movement:
      • BinSmoothing updated in movement buffers.
      • Danger calculation uses all bins in bot width window instead of just center bin.
      • Surf a non-surfable wave in some situations if there are no firing waves.
      • Predict surfing waves until they pass center on next tick, not until they pass rear edge.
      • Fixed bug in AdvancingVelocity segment.
  • 1.30 - Rating: 2080 (3rd), PL: 473-4 (3rd)
    • Rewrote movement from scratch, integrated with new gun code.
    • Reverted AntiSurfer gun trick from 1.27 / 1.271.
    • Note: Fully expected to lose some rating points to quirks in movement details.
  • 1.271 - Rating: 2111 (1st), PL: 424-3 (3rd)
    • Tweaks to the new AntiSurfer gun trick:
      • Instead of checking the safe side of the next shot, check the safe side of the closest wave the enemy would surf.
      • Only restrict aiming if the closest surf wave is 4+ ticks away.
      • Ignores "most dangerous" spot, only accounts for which side has "safest" spot.
  • 1.27 - Rating: 2106
    • Rollback to 1.25.
    • Trying a new AntiSurfer gun trick:
      • Track an enemy surf buffer which records bullet hits just like an enemy surfer.
      • When aiming the AntiSurfer gun, check which side has the "safest" spot and which side has the "most dangerous" spot from enemy surf perspective. If they're on opposite sides, restrict aiming choices to safer side.
  • 1.26 - Rating: 2010 (1st), PL: 474-1 (2nd)
    • Tweaks to fast learning buffer of AntiSurfer gun.
  • 1.25 - Rating: 2013 (1st), PL: 473-3 (3rd)
    • More tweaks to AntiSurfer gun.
  • 1.24 - Rating: 2106 (1st), PL: 473-4 (3rd)
    • Tweaks to AntiSurfer gun.
  • 1.23 - Rating: 2109 (1st), PL: 476-2 (2nd)
    • VirtualGuns tweaks
      • Ratings roll much more slowly. (1.22 rolling depth was half of 1.161, accidentally; 1.22 is 5x the depth of 1.161.)
      • When logging hits and misses, weight data proportional to distance (closer shots weigh less).
    • Bin smoothing in AntiSurfer much stronger within bot width, like Main Gun.
    • WikiTargeting style data saving in Main Gun's highest segmented buffer.
    • Aim head-on until within 4 ticks of gun being cool.
  • 1.22 - Rating: 2096, PL: 472-5 (4th)
    • Gun now (again) correctly calculates window of GuessFactor bins instead of jusing using 1 bin on either side.
    • In Main Gun, use much stronger smoothing within bot width window instead of just ignoring it.
    • AntiSurfer Gun now much more closely resembles that of 1.161:
      • Decrement values on bullet hits.
      • Weight of non-firing waves set to 1/20 (from 1/10).
  • 1.21 Rating: 2090 (3rd), 472-5 (3rd)
    • Fixed rammer detection bug.
  • 1.20 - Rating: 2024
    • Rewrote the gun from (darn near) scratch. Much clearer (and less!) code, also much faster to execute.
    • Gun still lacks data saving and onBulletHit aspect of AntiSurfer gun. Other than that, should be very close to 1.161 and 1.18 in the gun department. We'll see what happens...
    • Note: Thought everyone was a rammer, so fired 3.0 bullets at all times, even at low energies.
  • 1.184 - Pulled
    • Increased rolling depth of VirtualGuns ratings.
    • VirtualGuns hits weighted by distance at fire time.
  • 1.183 - Rating: 2096
    • Reverted VirtualGuns changes from 1.181.
  • 1.181 - Pulled
    • Continued tweaks to AntiSurfer gun.
    • Less initial VirtualGuns rating bias towards Main Gun.
    • VirtualGuns hits for current gun count slightly more than more other gun.
  • 1.18 - Rating: 2103 (1st), 475-2 (3rd)
    • Rollback to 1.161.
    • Tweaks to AntiSurfer gun. (Trying to tune it to hit Shadow.)
  • 1.17 - Rating: 2099 (1st)
  • 1.161 - Rating: 2103 (1st), 475-1 (2nd)
    • Tweak to precise GF1 calculation: don't use WallSmoothing in precise prediction of GF=1/-1 if the enemy wouldn't hit the wall before reaching max escape angle the "normal" way.
  • 1.16 - Rating: 2100 (1st), 433-3 (3rd)
    • Removed heading-change-last-eight-ticks segment from Main Gun.
    • Very precise calculation of GF 1 and -1 in guns.
    • Note: Demolished TargetingChallenge2K6 records over 2 seasons.
    • Note: First member of The2100Club (without pre-loading data)
  • 1.152b - Rating: 2090 (1st)
    • Changes to Main Gun:
      • Rollback to 1.10 (pre-1.15).
      • Made fast learning stats double-buffered. (Same segments mirrored in higher segmentation set.)
      • Added heading-change-last-eight-ticks segment to higher segmented stat buffer.
  • 1.15 - Rating: 2093
    • Changes to Main Gun:
      • Minor changes to segmentations in lower-segmented stat buffers.
      • Added another fast learning stat buffer, and double buffered both fast learning buffers.
  • 1.145 - Pulled
    • More tweaking of WaveSurfing weights / rolling depths.
  • 1.144 - Rating: 2089 (1st)
    • Rollback to 1.14.
    • Some lower rolling depths in WaveSurfing stats against higher hit-% enemy guns.
  • 1.143 - Rating: 2086 (2nd)
    • Attempt to refine the anti-cornering factor in WaveSurfing.
  • 1.142 - Rating: 2091 (1st)
    • Movement data saving turned back off in movement.
    • Added an anti-cornering factor in WaveSurfing danger projections.
  • 1.141 - Rating: 2091 (1st)
    • Data saving in movement.
      • Only saves for opponents that never caused the CurveFlattener to be enabled.
      • Strong preference for deleting gun data over movement data when managing disk space, mainly because movement data files are so much smaller.
  • 1.14 - Rating: 2097 (1st), PL: 434-3
    • Added a more subtle distance control mode for enemies with low hit rates.
  • 1.135 - Rating: 2094 (1st), PL: 432-3 (2nd)
    • Rollback to 1.132.
    • A few tweaks to distancing.
    • Reaches tier 3 (lowest threshold) for enabling CurveFlattener at round 8 instead of round 10.
  • 1.134 - Rating: 2091 (1st), PL: 429-4 (4th)
    • Rollback to 1.132.
    • Some changes to bullet power management. (Won't disable himself!)
  • 1.132W - Rating: 2107 (1st), PL: 432-3
    • Based on 1.132.
    • No data saving in gun.
    • Pre-loaded Main Gun (WikiTargeting) data for same 140 opponents as Phoenix 0.666 (except for Martin's bots, which I know ram me anyway).
  • 1.133 - Pulled
    • Significant changes to non-firing EnemyWave segmentations used in WaveSurfing / CurveFlattening.
  • 1.132 - Rating: 2095 (1st), PL: 433-2 (2nd)
    • Some subtle distancing changes vs good guns:
      • Slightly quicker to be "afraid" to move closer.
      • Preferred distance a little further away.
  • 1.131 - Pulled
    • Rollback to 1.125.
    • Bullet power = 1.75 (instead of 1.9)
  • 1.13 - Rating: 2089 (1st)
    • Increased general-case preferred distance in movement by 75.
  • 1.125 - Rating: 2094 (1st), PL: 430-3 (3rd)
    • Continued tweaks to WaveSurfing segmentations.
    • Note: Over 2 seasons vs 80% of the RoboRumble contestants, this version appears to give about a 1 point advantage over 1.121. This will also help to evaluate my TestBed.
  • 1.124 - Rating: 2089 (1st), PL: 431-2
    • Rollback to 1.121.
    • Segmentation tweaks to WaveSurfing stat buffers, including a couple of new ones.
    • Note: Beat Shadow!
  • 1.123 - Rating: 2087 (1st)
    • Rollback to 1.121.
    • Small (different) adjustment to distancing - variable tweak to make distancing less of a factor in danger evaluations when beyond the "fear distance" threshold.
  • 1.122 - Rating: 2086 (1st), PL: 431-3 (2nd)
    • Small adjustment to distancing.
  • 1.121 - Rating: 2093 (1st), PL: 429-3 (3rd)
    • Rollback to 1.111.
    • Higher weighting of second wave in WaveSurfing.
  • 1.12 - Rating: 2086 (1st)
    • Some tweaks to WaveSurfing segmentations, tuned for slightly improved WaveSurfingChallenge2K6 scores.
  • 1.111 - Rating: 2091 (1st), PL: 424-4 (3rd)
    • More CurveFlattening tweaks.
  • 1.11 - Rating: 2083
    • Tweaks to CurveFlattening in movement.
  • 1.10 - Rating: 2090 (1st), PL: 423-1 (1st)
    • More tweaks to AntiSurfer gun.
  • 1.09 - Rating: 2090 (1st), PL: 426-1 (1st)
    • Various tweaks to AntiSurfer gun.
  • 1.081 - Rating: 2087 (1st), PL: 420-2 (2nd)
    • Some more experimental tweaks to bullet power management.
  • 1.08 - Rating: 2084 (1st), PL: 412-5 (3rd)
    • Small tweak to bullet power management: fire 1.7 power bullets if opponent has 10 point energy advantage.
  • 1.070 - Pulled
    • Dynamic enabling / weighting of stat buffers in WaveSurfing. (Very experimental.)
  • 1.06 - Rating: 2089 (1st), PL: 417-2 (3rd)
    • Tweaks to bullet power management.
  • 1.055 - Rating: 2081 (1st), PL: 413-5 (4th)
    • Rollback to 1.04.
    • Gun changes:
      • Bullet times instead of distances in Main Gun segmentations.
      • Weighting of two stat buffers dependent on weighted visit counts, instead of fixed weighting for each stat buffer.
  • 1.053/1.054 - Rating: 2077 (1st)
    • Re-releases of Dookious 0.98, recompiled with the source I have for it, and then not recompiled and just repackaged.
  • 1.052 - Rating: 2078 (1st)
    • Experimental complete overhaul of Main Gun segmentations.
    • Reverted Main Gun stat buffers to equal weights, no dependence on visit counts.
    • Turned off data saving in gun by accident.
  • 1.051 - Rating: 2079 (2nd), PL: 416-3 (2nd)
    • Reverted gun to 1.0 as base for this version.
    • Fixed off-by-1-tick error in precise GF1/-1 calculation (only used in guns).
    • Main Gun changes:
      • Weighting of stat buffers depends on visit count, up to a threshold.
      • High segmented stat buffer is weighted twice as much per visit; visit threshold is 1/2 as much. (At max weight, the stat buffers weight equally.)
  • 1.05 - Rating: 2077 (2nd), PL: 416-5 (4th)
  • 1.04 - Rating: 2081 (1st), PL: 419-1
    • Reverted gun to 1.0 as base for this version.
    • Added a VirtualGuns rating threshold beyond which it defaults to Main Gun. (Already had a threshold that applied a penalty to AntiSurfer gun rating.)
    • Fixed off-by-1-tick error in precise GF1/-1 calculation (only used in guns).
    • Changes to guns' segmentations:
      • Added a segment for distance traveled over last 8 ticks. (Credit to Florent/Toad and ABC/TronsGun, not sure where I got this idea first.)
      • Removed AdvancingVelocity segment.
      • Adjusted BinSmoothing to be much less for bins within bot width.
    • Mirrored segmentation changes to AntiSurfer gun in this version, instead of leaving it untouched.
  • 1.03 - Rating: 2079 (1st), PL: 420-2 (2nd)
    • Will fire power 2.5 bullets in some situations, decided by a combination of distance and VirtualGuns ratings.
    • Changes to Main Gun:
      • Reverted Main Gun to 1.0 as base version.
      • Changes to velocity-change segment (similar to, but different than 1.02).
  • 1.02 - Rating: 2076 (1st), PL: 418-4 (4th)
    • Data saving: movement saving turned off, gun saving stays on.
    • General gun changes:
      • Modified low energy bullet power behavior.
      • Lowered VirtualGuns rating threshold that switches to power 3 bullets.
    • Changes to Main Gun:
      • Tweaked BinSmoothing: steeper/less smoothing.
      • Significant changes to velocity-change segmentation.
      • Some consideration given to the amount of data in a segment when weighting the stat buffers.
  • 1.0 - Rating: 2076 (2nd), PL: 413-5
    • Data saving reads/writes bytes directly from/to binary files, instead of using GZipped ASCII files. This saves about 10-15% on file sizes in my tests.
    • Enabled WikiTargeting-style data saving for WaveSurfing; only saved for enemies below a certain hit-percentage threshold.
  • 0.98 - Rating: 2082 (1st), PL: 421-2 (2nd)
    • Gun changes: (largely experimental)
      • Data saving inspired by WikiTargeting / SuperNodes concepts. (Credit to Vic.)
      • Fast learning buffer in Main Gun has three segments (LateralVelocity, distance, accel) instead of just one (LateralVelocity).
      • Non-firing waves in Main Gun weight restored to 1/5, after being 1/10 for a few versions.
    • Note: RoboRumble King!
    • Note: Ended at 2085 on reposting, 5/2/2006.
  • 0.972 - Rating: 2074 (2nd), PL: 419-3 (3rd)
    • Reverted everything to 0.965 as base for this version.
    • Movement changes:
      • A little more "afraid" to move closer (at all distances).
      • Gave slight weight to a movement option that will result in being farther away. (Before, would only give weight to the fact that one might bring us closer.)
      • Consider distance to enemy bot's current position in distancing. (Before, only considered distance to wave source.)
      • Slight adjustments to BinSmoothing and segmentations.
  • 0.971 - Rating: 2069 (2nd), PL: 420-3 (2nd)
    • Reverted time-since-Vchange segmentation to 0.965.
    • Reverted weighting of surf stat arrays to 0.965.
  • 0.97 - Rating: 2065 (2nd), PL: 417-5
    • Movement changes:
      • Minor distancing tweaks.
      • Some reworking of segmentations: added several new stat arrays, adjusted weights, adjusted BinSmoothing, and modified how time since velocity change is calculated.
      • Turned on data saving.
  • 0.965 - Rating: 2071 (1st*), PL: 423-2 (3rd)
    • Fixed the typo-ish bug introduced in 0.963's method which gets the "windowed" bin score. (It was setting both the low and high indexes the same, so it was only considering a bin along the edge, instead of all bins from one edge to the other.)
  • 0.964 - Pulled
    • Reworked how target direction is handled throughout Dookious's wave tracking, fixing obscure but long-standing bugs in this system.
  • 0.963 - Rating: 2049 (5th), PL: 420-3
    • Bug fixed in wave tracking. When target is below a certain velocity, Dookious uses the last direction instead of their current direction (calculated by that tick's data); the bug was causing it to reverse the orientation in some cases when it shouldn't, and not reverse it in some cases when it should. Change affects both movement and gun, but primarily the gun, since the movement velocity threshold is 0.1 while the gun's is 1.0.
    • Two small flaws (maybe not quite "bugs") fixed in gun:
      • "Start time" of gun waves was off by 1 tick (was 1 too soon). (Lined up visually in RobocodeGL, but were off by 1; fixed in movement in 0.945.)
      • If Dookious disabled himself by firing a shot, all gun waves after that were marked as "firing" instead of "non-firing", which affected the weight of the waves if/when they hit. (Obscure logic bug.)
    • Restored 0.95 movement. (Negligible rating difference, major difference in PL score.)
    • Disabled data saving for both gun and movement.
  • 0.962 - Rating: 2071 (1st*), PL: 416-7 (5th)
    • Bug fixed in data restoration.
  • 0.961 - Pulled
    • (My first attempt at) data saving added for gun and movement GuessFactor data.
  • 0.96 - Rating: 2069 (2nd), PL: 417-6 (3rd)
    • More miscellaneous movement tweaks:
      • Adjusted the weights of segmentation sets.
      • Gave more weight to staying farther away/not moving closer.
      • Weights 2nd wave a little more heavily.
  • 0.95 - Rating: 2069 (2nd), PL: 419-3 (2nd)
    • Miscallenous movement tweaks.
    • Slightly lowered round-10+ threshold for enabling curve flattener; small tweak to flattener.
  • 0.945 - Rating: 2067 (2nd), PL: 417-3 (3rd)
    • Retained clever (but likely unnecessary) bot width calculation (and fix).
    • Fixed "start time" of EnemyWaves. (They lined up visually in RobocodeGL, but were, in fact, still off by 1 tick.)
    • Dookious stops surfing waves once they pass his center, instead of once they pass his rear edge.
  • 0.94 - Pulled
    • Fixed bug in 0.93's (would-be) nifty new bot width calculation.
  • 0.93 - Rating: 2067 (1st*), PL: 412-7 (7th)
    • Various changes and tweaks to WaveSurfing code.
    • Won't surf waves with bullets already accounted for by onBulletHitBullet or onHitByBullet.
    • New bot width calculation that depends on angle from wave source. (Note: broken)
    • Note: Was first in the rankings, but was not the king.
  • 0.92 - Rating: 2056 (3rd), PL: 415-4 (4th)
    • Gun changes:
      • Raised velocity threshold for using last-orientation instead of this-orientation. (Same change made in 0.80, was reverted at some point.)
      • Altered behavior at low energy levels: uses lower power bullets instead of less frequent bullets.
    • Note: Likely the last gun change before 1.0. These were two issues I just had to deal with before moving on with movement work.
  • 0.91 - Rating: 2056 (3rd), PL: 418-2 (1st)
    • More precise calculation of GF-1 and GF1 in gun.
    • Smoothing increased a bit to compensate for more spread out visit counts.
  • 0.905 - Rating: 2057 (3rd), PL: 415-4 (4th)
    • Removal of WallSmoothing away from opponent when closer than a certain distance.
    • Some changes to how Dookious factors distancing into WaveSurfing options.
  • 0.90 - Rating: 2056 (3rd), PL: 417-3 (3rd)
    • Fixed some tiny bugs in the WaveSurfing. (I'm thinking it might be 100% bug free now... knock on wood!)
    • Miscellaneous retuning of WaveSurfing segmentations and some other movement details.
  • 0.88 - Rating: 2047 (5th), PL: 413-5 (4th)
    • Fixed a flaw in the gun (segmentation tick was off by 1).
    • Tuned gun segmentations
    • Tweaked VirtualGuns logic.
    • Note: Unless this version drops significantly in rating, I'll be turning the focus to movement for a while.
  • 0.87 - Rating: 2044 (5th), PL: 414-5 (5th)
    • Fixed some flaws in gun code.
    • Tuned gun segmentations.
  • 0.86 - Rating: 2040 (6th), PL: 410-6 (5th)
    • Very much movement tuning, including code, distancing, and segmentations.
  • 0.851 - Rating: 2037 (6th), PL: 411-6 (5th)
    • Tweaked some decisions on CurveFlattening and distancing.
  • 0.85 - Rating: 2020 (10th)
    • Adjusted WaveSurfing segmentations; higher segmentations of distance and wall distance.
    • Fixed a flaw in the WaveSurfing future prediction.
    • Fixed a bug in hit percentage calculations (yes, really) that was causing CurveFlattening to never be turned on in the movement.
    • Tuned CurveFlattening.
    • Adjusted distancing, and removed custom MovementChallenge distancing.
  • 0.83 - Rating: 2036 (6th), PL: 408-8 (7th)
    • Re-enabled virtual waves in WaveSurfing. (Used as CurveFlattening; were accidentally disabled somewhere along the way, doh!)
    • Miscellaneous movement tweaks.
  • 0.82 - Rating: 2029 (9th), PL: 410-6 (5th)
    • Kept 0.813 segmentations, but slightly re-weighted and a glaring bug fixed in LateralVelocity segmentation.
    • Adjustments to predictions related to targeting.
    • Misc gun code tuning.
  • 0.816 - Rating: 2027, PL: 411-6 (4th)
    • Gun segmentations from 0.813
    • Significant changes to AntiSurfer gun and VirtualGuns selection.
  • 0.815 - Rating: 2020 (10th), PL: 394-20 (20th)
    • Main Gun from 0.80, no AntiSurfer gun (or VirtualGuns at all).
  • 0.813 - Rating: 2027 (9th), PL: 412-6
    • Restored 0.80 VirtualGuns logic.
  • 0.812 - Rating: 2020 (10th), PL: 413-4 (4th)
    • Scrapped AntiSurfer gun's new segmentations, copied segmentations from Main Gun with rolling depth of 2.
  • 0.811 - Rating: 2015
    • Restored head-start to rating of Main Gun.
  • 0.81 - Rating: 2013
    • Gun changes:
      • Segmentation tuning of Main Gun.
      • Significant segmentation changes to AntiSurfer gun, including addition of orbital turn rate segment (where orbiting turn rate = 0, and turn rates are relative to that).
      • Put some actual effort into the VirtualGuns system. (...instead of trying to cripple AntiSurfer gun enough that the Main gun would be unhindered at the cost of AntiSurfer prowess.)
  • 0.80 - Rating: 2032 (8th), PL: 408-6 (6th)
    • Gun tweaks:
      • Wait until gun is turned to shoot.
      • Raise velocity threshold for using "last orientation", instead of re-calculating based on current heading/velocity. (Dookious was easily confused by a -1.0/1.0 vibrating movement pattern before.) This will also affect movement, but probably not significantly.
  • 0.791 - Rating: 2029 (9th), PL: 405-6 (6th)
    • Fixed flaw in WaveSurfing. (Waves break for more than 1 tick!)
    • Fixed anti-rammer wall stick. (Should be shorter than regular one, but was set to same.)
    • Miscellaneous changes to WaveSurfing segmentation.
  • 0.79 Rating: 2003 (11th), PL: 406-5 (4th)
    • Gun changes:
      • Use power 3 bullets if VG rating over 35% or if very close to enemy.
      • Don't use direct aim against rammers!
    • Movement changes:
      • Anti-rammer movement. (Credit to PEZ for idea of decreased wall stick length.)
      • Fixed wall distance segmentation in movement.
      • Distancing adjustment when flattener enabled. The flattening decision is almost becoming a multi-mode type choice in Dookious.
      • Miscellaneous segmentation & code tuning.
    • Note: I consider this a movement update version, despite the small gun changes.
  • 0.78 - Rating: 2008 (11th), PL: 404-6 (6th)
    • Miscellaneous gun tuning. (Best Dookious gun yet, I think.)
    • Increased crippling of AntiSurfer gun's VirtualGuns rating (from 18% to 30%).
    • Optimized the very slow wall distance segmentation code from 0.775.
  • 0.775 - Rating: 2003 (11th), PL: 404-8 (8th)
    • Returned to 2 stat buffers per gun.
    • Minor tweaking of wall distance segmentation.
  • 0.77 Rating: 2001 (11th), PL: 405-7
    • Fixed segmenting enemy position (wall distance, more accurate mimicking of CassiusClay-style).
    • Increased crippling of AntiSurfer gun's VirtualGuns rating (from -15% to -20%).
    • Both guns down to a single (significant) stat buffer.
    • Misc tuning of gun.
  • 0.76 - Rating: 2007 (11th), PL: 406-5 (4th)
    • Fairly major overhaul of guns.
    • Adjust for enemy wall hits in EnemyWaves creation.
    • Note: A bit of a benchmark release... may lose some points in RoboRumble rating, but I would like to see where the gun is at after a lot of changes to it.
  • 0.75b - Rating: 1998 (12th), PL: 403-7 (6th)
    • Restored movement from 0.72.
  • 0.75 - Rating: 1989
    • Use "next X/Y" instead of "current X/Y" as source of gun waves (finally).
    • Switched to (more traditional) RollingAverage-style ratings on VirtualGuns.
    • Smorgasbord of movement and gun tweaks, including segmentations, variable tunings, and code changes.
  • 0.72 - Rating: 2002 (11th), PL: 400-9 (8th)
    • More tweaks to movement code and segmentation.
  • 0.71 - Rating: 1996 (12th), PL: 397-8
    • Further tweaks to the movement.
    • Fixed a small error in the gun segmentations that was probably not hurting anything, anyway.
    • Changed wave-tracking to count a near-zero velocity as the last direction, instead of both directions (affecting gun and movement).
  • 0.70 - Rating: 1995 (12th), PL: 402-5 (7th)
    • Re-tuned & tweaked movement for the first time after removing several very nasty little flaws in the WaveSurfing from 0.66.
    • Removed counterproductive anti-mirror gun; otherwise gun is the same as 0.69.
  • 0.69 - Rating: 1995 (12th)
    • Fixed many significant (if seemingly small) flaws in the WaveSurfing.
    • Reworked a lot of minor details in the movement.
    • Only small tweaks to the gun, including using non-firing waves in the non-surfer gun.
  • 0.66 - Rating: 1935 (25th), PL: 398-8 (8th)
    • Gun untouched, but will use 3.0 power against rammers now.
    • Movement changes:
      • Distancing stays a LOT closer.
      • Revised some segmentations.
      • Dookious should flatten a bit more than before when flattener is enabled.
  • 0.65 - Rating: 1921
    • Only movement tweak was how CurveFlattening decision is reached, an extremely minor adjustment.
    • A lot of work on the gun:
      • Removed two previous AntiSurfer guns.
      • Created a new (actually effective) AntiSurfer gun.
      • Revised pretty much all the gun's segmentation details.
  • 0.611 - Rating: 1892
    • Made the WaveSurfing CurveFlattening a dynamic decision
    • Added a second (though mostly ineffective) "anti-surfer" gun to VG array.
  • 0.61 - Rating: 1847
  • 0.60 - Rating: 1825
  • 0.51 - Rating: 1803
  • 0.50 - Rating: 1782
  • 0.43 - Rating: 1669
  • 0.40 - Rating: 1671
    • Bug-ridden but moderately effective initial release. :)