Difference between revisions of "Diamond/Version History"

From Robowiki
Jump to navigation Jump to search
(Diamond 1.5.12 - surfing tweak)
m (rank = 2nd)
Line 11: Line 11:
 
* '''1.5.11''' - 4/29/2010
 
* '''1.5.11''' - 4/29/2010
 
** '''MeleeRumble - Not entered.'''
 
** '''MeleeRumble - Not entered.'''
** '''{{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=roborumble&name=voidious.Diamond+1.5.11|rumble=RoboRumble|scorelabel=APS|score=86.92|rank=1st|win=761|loss=4|plrank=4th|glicko2=2175.3|score2label=Survival|score2=94.76}}'''
+
** '''{{RumbleStatsDefault|link=http://darkcanuck.net/rumble/RatingsDetails?game=roborumble&name=voidious.Diamond+1.5.11|rumble=RoboRumble|scorelabel=APS|score=86.92|rank=2nd|win=761|loss=4|plrank=4th|glicko2=2175.3|score2label=Survival|score2=94.76}}'''
 
** Reverted changes to wave sorting.
 
** Reverted changes to wave sorting.
 
** ''Note: Performance enhancing bug? Or maybe just bad luck. Probably just leave it for now.''
 
** ''Note: Performance enhancing bug? Or maybe just bad luck. Probably just leave it for now.''

Revision as of 06:21, 1 May 2010

Diamond Sub-pages:
DiamondVersion History - Code - DiamondHawk

  • 1.5.12 - 5/1/2010
    • Simplified and tweaked recent scans in surfing stats.
  • 1.5.11 - 4/29/2010
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 86.92% (2nd), PL: 761-4 (4th), Survival: 94.76%
    • Reverted changes to wave sorting.
    • Note: Performance enhancing bug? Or maybe just bad luck. Probably just leave it for now.
  • 1.5.10 - 4/28/2010
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 86.74% (2nd), PL: 759-5 (5th), Survival: 94.6%
    • Polished gun graphics and cleaned up the code a lot.
    • In surfing, sort waves by time to impact instead of distance to impact. Much less likely to be fooled by Chase Bullets.
    • Note: Big thanks to PrairieWolf for helping me discover the answer to this code comment: // TODO: figure out what causes this - chase bullets?. PW has helped me many times before with weird edge cases, too. He's like a Swiss Army Knife!
  • 1.5.9 - 4/23/2010
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 86.94% (2nd), PL: 760-5 (3rd), Survival: 94.79%
    • Decreased weights of recent scans and flattener in surfing.
    • Eliminated one distancing function from surfing.
  • 1.5.8 - 4/14/2010
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 86.86% (2nd), PL: 761-2 (2nd), Survival: 94.78%
    • Fixed one more tiny/obscure flaw in how bullet hits are matched to waves in surfing.
    • Changed gun's gun heat attribute to be cleaner and technically correct instead of the hacky way I've done it all this time.
  • 1.5.7 - 4/13/2010
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 86.95% (2nd), PL: 757-4 (4th), Survival: 94.79%
    • More 1v1 bullet power tweaks:
      • Remove if (distance < 250) then bulletPower = 2.499 clause.
      • Tweaks to bullet power at low energy.
    • Fixed rounding error in surfing when matching onHitByBullet and onBulletHitBullet info to correct wave.
  • 1.5.6 - 4/13/2010
    • RoboRumble - Pulled
    • Tried to fix a rounding error, but introduced a much bigger bug that ignores every single bullet hit (ie, never collects any data).
  • 1.5.5 - 4/10/2010
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 86.73% (2nd), PL: 759-3 (1st), Survival: 94.14%
    • Tweaks to 1v1 bullet power:
      • Remove if (distance > 700) then bulletPower = 1.499 clause.
      • Default power to 1.95 (was 1.999).
    • Notes: Much to my amazement, these changes result in a 0.8% APS improvement vs my 48-bot test bed of mid-level bots (avg ~79 APS against them). About 60% of that from the default to 1.95. Even 1.94 or 1.96 showed no improvement. Very odd!
  • 1.5.4 - 3/16/2010
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 86.3% (2nd), PL: 754-6 (6th), Survival: 93.65%
    • A few tweaks to Main Gun.
    • Switched to zlib license.
  • 1.5.3 - 3/7/2010
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 86.22% (2nd), PL: 750-7 (7th), Survival: 93.67%
    • Virtual Guns system also cares about how far off the aim angle is (instead of just a boolean hit or miss).
  • 1.5.2 - 2/24/2010
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 86.25% (2nd), PL: 754-5 (6th), Survival: 93.68%
    • Decrease Anti-Surfer gun cluster size further, to 4.
  • 1.5.1 - 2/16/2010
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 86.23% (2nd), PL: 754-5 (5th), Survival: 93.53%
    • Tweaks to Anti-Surfer gun - mainly, decreasing cluster size from 30 to 12.
  • 1.5.0 - 2/11/2010
    • MeleeRumble ‒ APS: 70.6% (1st), PL: 287-0 (1st), Survival: 95.41%
    • RoboRumble - Not entered.
    • Various tweaks to melee gun attributes and weights.
  • 1.49 - 10/25/2009
    • MeleeRumble ‒ APS: 70.49% (1st), PL: 287-0 (1st), Survival: 95.2%
    • RoboRumble ‒ APS: 86.29% (2nd), PL: 753-5 (5th), Survival: 93.65%
    • Various tweaks to Wave Surfing stats.
  • 1.48 - 10/23/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 86.05% (2nd), PL: 734-7 (5th), Survival: 93.49%
    • Rollback to 1.473.
    • Remove k-means clustering component of 1v1 gun.
  • 1.474 - 10/22/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.65% (3rd), PL: 730-9 (8th), Survival: 93.18%
    • When calculating precise intersection, predict slamming on the brakes once the wave has passed the center of the bot.
  • 1.473 - 10/22/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.95% (3rd), PL: 730-11 (8th), Survival: 93.33%
    • Precise intersection back on.
    • When calculating precise intersection, predict slamming on the brakes as soon as the wave starts intersecting the bot.
  • 1.472 - 10/21/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.56% (4th), PL: 735-7 (6th), Survival: 93.13%
    • No precise intersection.
    • Differences from 1.462:
      • Fixed bug in bot width / bandwidth used in surfing kernel density calculations. Was dividing by precise MEA instead of traditional. This was fixed in 1.47 and 1.471, too. Sadly, this appears to hurt performance - need to investigate.
      • Using precise calculation of "front bumper" offset - i.e., knowing precisely the first tick a wave could hit the bot.
    • Notes: I expect this to perform worse than 1.471, which would confirm that the precise MEA-based bot width / bandwidth is a Performance Enhancing Bug. This will give an apples to apples comparison of the value of precise intersection.
  • 1.471 - 10/21/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.57% (3rd), PL: 730-10 (8th), Survival: 93.18%
    • The real deal precise intersection. For now, only in danger calculation, not (explicitly) in distancing.
  • 1.47 - 10/19/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.51% (4th), PL: 730-9 (8th), Survival: 93.04%
    • Trying some precise intersection in Wave Surfing danger calculations.
  • 1.462 - 10/17/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.74% (3rd), PL: 728-11 (8th), Survival: 93.18%
    • Slightly weakened dive protection.
  • 1.461 - 10/15/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.57% (3rd), PL: 725-15 (9th), Survival: 93%
    • Simplified and tweaked attack angle control.
    • Increased desired distance (550 >> 650, still static).
  • 1.46 - 10/12/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.35% (4th), PL: 733-6 (6th), Survival: 93.02%
    • Fixed a bug in "smart cycling" code. (Used in some surf stats, removes point closest to point being added instead of removing oldest point.) Was using unweighted distances to find closest point.
    • More changes and additions to recent scan views, going for some diversity in distancing formulas and decay rates.
  • 1.45 - 10/11/2009
    • MeleeRumble - Not entered.
    • RoboRumble - Corrupted, but slightly above 1.444.
    • Changes to recent scans surfing stats, and added a few more recent scan views.
  • 1.444 - 10/9/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.23% (4th), PL: 732-9 (5th), Survival: 92.94%
    • Normalize surf dangers by total weight given to scans in the wave.
    • Moving away is safer the same way moving closer is more dangerous. (Note: previous design was a conscious decision, not an oversight.)
  • 1.443 - 10/8/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.29% (4th), PL: 731-15 (10th), Survival: 92.91%
    • Normalize surfing dangers by max weight given to any scan. No effect on relative dangers within one wave, but will hopefully make the two surfable waves be weighted more consistently.
  • 1.442 - 10/6/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.28% (4th), PL: 737-8 (7th), Survival: 92.99%
    • Rollback changes to surf scan weights.
    • This should be 1.42 + some refactoring + two bug fixes.
  • 1.441 - 10/6/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 84.64% (5th), PL: 725-19 (14th), Survival: 92.26%
    • Another change to how scans are weighted by distance in surfing: divide by distance squared.
  • 1.44 - 10/5/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 84.97% (5th), PL: 733-12 (9th), Survival: 92.8%
    • Rollback surfing stats to 1.42.
    • Change to how surfing weights scans by distance.
  • 1.432 - 10/4/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.26% (4th), PL: 734-10 (8th), Survival: 92.95%
    • Fixed a small bug in the k-means gun.
    • Give less weight to second wave when flattener is on. (Same as Dookious.)
    • More tweaks to surfing stats.
    • Added several layers to the flattener.
  • 1.431 - 10/3/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.37% (4th), PL: 734-11 (9th), Survival: 93.04%
    • Tweaked surfing stats: lower weight to the new mid-range views, higher decay rates on recent scans.
  • 1.43 - 10/2/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.33% (4th), PL: 733-12 (9th), Survival: 92.95%
    • Fixed a bug in / tweaked attack angle control in surfing. (I think this may explain the strange "sit still for a while" behavior sometimes displayed at start of Melee duels.)
    • Lots of changes to surfing stats.
  • 1.42 - 9/30/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.44% (4th), PL: 736-7 (6th), Survival: 93.22%
    • Rollback to 1.412.
    • In 1v1, uses latest TripHammer gun (0.8498) in place of Main Gun. Changes to TripHammer since 1.39:
      • Fixed a bug in predicting enemy next location (from Diamond 1.401).
      • Instead of pulling in nearby clusters when we don't have enough data points, do KNN instead.
      • Scale the "enough data" threshold up to 250 through about 10 rounds (7500 data points).
      • If the cluster is very large, only use the 700 nearest neighbors from within that cluster.
    • Notes: Well, this was a significant enough APS boost that I'm going to keep TripHammer as my "main gun" in 1v1 matches. Yay!
  • 1.413 - 9/27/2009
    • MeleeRumble ‒ APS: 69.85% (3rd), PL: 281-0 (1st), Survival: 94.74%
    • RoboRumble - No 1v1 changes.
    • In melee gun, instead of weighting scans by distance, weight by (bullet ticks + time since last scan).
  • 1.412 - 9/27/2009
    • MeleeRumble ‒ APS: 70.28% (1st), PL: 282-0 (1st), Survival: 95.13%
    • RoboRumble - No 1v1 changes.
    • Bullet power like 1.40 instead of like 1.392.
  • 1.411 - 9/26/2009
    • MeleeRumble ‒ APS: 70.05% (2nd), PL: 280-1 (2nd), Survival: 95.09%
    • RoboRumble ‒ APS: 85.24% (4th), PL: 733-11 (8th), Survival: 93.17%
    • Removed "light" flattener.
  • 1.41 - 9/25/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.28% (4th), PL: 735-6 (8th), Survival: 93.33%
    • Reverted to old style of melee wall distance.
    • Melee bullet power should act exactly like 1.392 now (and via sane logic).
    • Introduced a new mechanic for weighting DC scans by age:
      • A DC view can have a decay rate d.
      • Among the scans in the nearest neighbors clusters, the most recent scan gets full weight: <math>1 / {d^0} = 1</math>; the next most recent is weighted <math>1 / {d^1}</math>; and so on, raising d to the next power each time.
      • This is modeled after the relative weights of values logged to a Visit Count Stats segment using Rolling Averages. A decay rate of 2 would be very similar to a rolling average depth of 1.
      • Calculating the most similar scans is unchanged. This has nothing to do with if/how old scans are removed from the data sets - it only affects the weights of the scans being used once they're chosen.
    • Surf stats updated to weight scans by age in the recent scans and flattener views.
    • Added a "light" flattener that turns on at a lower threshold. Hoping to add some extra slight randomness without screwing up dodging.
  • 1.402 - 9/25/2009
    • MeleeRumble ‒ APS: 70.16% (1st), PL: 282-0 (1st), Survival: 94.8%
    • RoboRumble - No 1v1 changes.
    • New style of melee wall distance calculation in gun.
  • 1.401 - 9/24/2009
    • MeleeRumble ‒ APS: 70.2% (1st), PL: 282-0 (1st), Survival: 94.78%
    • RoboRumble ‒ APS: 85.18% (4th), PL: 732-10 (8th), Survival: 92.93%
    • Reverted surfing changes.
    • Fixed a glaring bug in the gun's prediction of the enemy's next location: reversed velocity and heading parameters.
  • 1.40 - 9/23/2009
    • MeleeRumble ‒ APS: 70.39% (1st), PL: 281-0 (1st), Survival: 94.87%
    • RoboRumble ‒ APS: 84.95% (4th), PL: 733-9 (7th), Survival: 92.65%
    • Lots of changes to Wave Surfing stats.
    • Slightly increased flattener thresholds.
    • Hopefully final tweaks to melee bullet power for a while. Should act very much like 1.392 without any boneheaded logic.
  • 1.395 - 9/22/2009
    • MeleeRumble ‒ APS: 70.22% (1st), PL: 281-0 (1st), Survival: 94.75%
    • RoboRumble - No 1v1 changes.
    • More melee bullet power tweaks.
  • 1.394 - 9/22/2009
    • MeleeRumble ‒ APS: 70% (2nd), PL: 251-0 (29th), Survival: 94.55%
    • RoboRumble - No 1v1 changes.
    • More melee bullet power tweaks.
  • 1.393 - 9/21/2009
    • MeleeRumble ‒ APS: 70.03% (1st), PL: 281-2 (1st), Survival: 94.14%
    • RoboRumble - No 1v1 changes.
    • Lots of bullet power changes. Fixed some bullet power mistakes introduced in 1.382 (including three <= conditions that should've been >=!)
  • 1.392 - 9/20/2009
    • MeleeRumble ‒ APS: 70.36% (1st), PL: 281-1 (2nd), Survival: 95.15%
    • RoboRumble ‒ APS: 85.02% (4th), PL: 734-9 (7th), Survival: 92.79%
    • Removed anti-grav dimension.
    • Always wait until gun is turned.
    • Speed up projections and interpolations in gun by caching sin and cos where possible.
    • Adjust gun projections to use bullet flight time-1, because bullets advance an extra time before Robocode checks for collisions. (Had this detail right in data collection, but not projection.)
    • If bullet power changes on firing tick, clear cached firing angles in Virtual Guns.
  • 1.391 - 9/19/2009
    • MeleeRumble ‒ APS: 69.06% (3rd), PL: 281-2 (1st), Survival: 93.64%
    • RoboRumble - No 1v1 changes.
    • One more try at an anti-grav gun dimension in melee. Slightly takes bot energy into account when calculating anti-grav force, and uses the magnitude of the resulting force in addition to the bearing.
  • 1.39 - 9/18/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.2% (4th), PL: 731-11 (8th), Survival: 92.86%
    • Rollback to 1.382.
    • In 1v1, uses latest TripHammer gun (0.822) in place of Main Gun. Changes to TripHammer since 1.37:
      • k = 250.
      • When there aren't many points in the nearest cluster, add in points from one or more nearby clusters. (This was the big change.)
      • In calculating kernel density, use Diamond-style if there aren't many scans to work with. This means consider the angles from the scans instead of evenly spaced angle, use a double size bandwidth, and use Gaussian kernel density.
    • Notes: Looks like TripHammer is finally on par with my KNN gun in rumble performance, which is cool to see, but not by enough to keep it in Diamond.
  • 1.383 - 9/17/2009
    • MeleeRumble ‒ APS: 68.83% (3rd), PL: 282-1 (2nd), Survival: 93.4%
    • RoboRumble - No 1v1 changes.
    • Lowered weights of wall distance dimensions in melee gun.
    • Notes: I thought this might be good because my melee wall distance calculation is so much less sophisticated than 1v1 wall distance. But the results so far are so poor that I may try increasing the weights instead!
  • 1.382 - 9/16/2009
    • MeleeRumble ‒ APS: 69.52% (3rd), PL: 280-1 (2nd), Survival: 94.01%
    • RoboRumble - No 1v1 changes.
    • Removed anti-grav gun dimension.
    • Tweaked melee bullet power management.
    • Aims gun more frequently in melee: every other tick instead of every 4th tick, last 4 ticks before firing instead of last 3 (was 3 instead of 4 because of a bug anyway).
    • Removed all traces of old melee target selection code.
  • 1.381 - 9/16/2009
    • MeleeRumble ‒ APS: 69.17% (3rd), PL: 281-0 (1st), Survival: 93.85%
    • RoboRumble - No 1v1 changes.
    • Fixed the bug in the anti-grav gun dimension.
  • 1.38 - 9/15/2009
    • MeleeRumble ‒ APS: 68.82% (3rd), PL: 280-1 (2nd), Survival: 93.45%
    • RoboRumble - No 1v1 changes.
    • Attempted an anti-grav dimension in the gun. Had a stupid bug that was either giving one of the new dimensions double weight, or (I don't think it's this) totally breaking some part of the code by having [-1,1] values instead of [0,1].
  • 1.372 - 9/14/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.23% (4th), PL: 732-9 (6th), Survival: 93.03%
    • Switched back to Diamond's normal Main Gun.
    • Notes: This should be functionally equivalent to 1.34 (in 1v1) and 1.342 (in 1v1 and melee). I just want to know for sure if I've messed anything up since then before I try to figure out why TripHammer performs so poorly in the rumble.
  • 1.371 - 9/14/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 84.82% (4th), PL: 729-13 (8th), Survival: 92.58%
    • In k-means gun, set k to 225 (from 300).
  • 1.37 - 9/13/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 84.86% (4th), PL: 735-9 (5th), Survival: 92.59%
    • Rollback to 1.342.
    • In 1v1 matches, uses TripHammer (k-means clustering gun) in Virtual Guns array, instead of the usual "Main Gun".
  • 1.361 - 9/11/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.39% (3rd), PL: 727-12 (9th), Survival: 93.12%
    • Reverted changes to my simpler / all-purpose surfing views. (In 1.36, all but the very simplest were changed to store a max of 40 scans and use the "smart cycling". Back to storing all scans.)
  • 1.36 - 9/10/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.09% (4th), PL: 731-11 (6th), Survival: 92.82%
    • Rollback to 1.342.
    • Lots of additions and changes to Wave Surfing views, especially recent and flattener scans.
    • Using "remove closest to new point" instead of "remove oldest" for all surfing views that cycle out old points (internally, I call this "smart cycle"). Anti-Surfer gun still using normal cycling.
  • 1.351 - 9/10/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 84.93% (4th), PL: 731-13 (6th), Survival: 92.54%
    • Tweaks to 1v1 wall avoidance: only look 4 ticks ahead; much tighter bound to wall considered a "wall hit" in predictions.
  • 1.35 - 9/9/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.4% (3rd), PL: 729-10 (8th), Survival: 93.11%
    • Added wall avoidance to Wave Surfing (to augment existing Wall Smoothing), so it should just about never hit walls any more.
  • 1.342DL - 9/9/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.3% (3rd), PL: 731-9 (6th), Survival: 92.86%
    • Gun from Dookious 1.573c.
    • Notes: Wow, Diamond's gun is stronger than Dooki's!
  • 1.342 - 9/9/2009
    • MeleeRumble ‒ APS: 69.44% (2nd), PL: 278-0 (2nd), Survival: 93.9%
    • RoboRumble - No 1v1 changes (from 1.34).
    • Revert bullet power changes.
  • 1.341 - 9/8/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.2% (4th), PL: 731-8 (6th), Survival: 92.79%
    • Anti-Surfer gun only collects data during 1v1 scenarios.
    • Fixed bug in melee gun introduced by 1.34 refactoring. (This was the actual cause of the melee skipped turns for 1.34.)
    • Misc tweaks to debugging graphics, mostly in gun.
    • When Virtual Guns ratings are high (1v1 only), fire higher power bullets.
  • 1.34 - 9/7/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 85.40% (3rd), PL: 735-6 (5th), Survival: 93.02%
    • Rollback to 1.33.
    • Added an Anti-Surfer gun (and Virtual Guns system).
    • Fixed a bug in the gun's wave collection affecting close range situations.
    • Notes: Skipping turns late in melee matches. I'll probably remove data collection for the Anti-Surfer gun except in 1v1.
  • 1.332 - 9/1/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 84.89% (4th), PL: 722-15 (12th), Survival: 92.66%
    • Added yet more views to Wave Surfing, tweaked some hit percentage thresholds.
    • Notes: It's remarkable how much the multiple views of 1.33 helped, yet how precisely similar 1.33/1.331/1.332 are with adding/tweaking the views further.
  • 1.331 - 9/1/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 84.85% (4th), PL: 724-14 (8th), Survival: 92.54%
    • Added a couple more views to Wave Surfing.
  • 1.33 - 8/31/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 84.9% (4th), PL: 719-18 (15th), Survival: 92.6%
    • Created a more robust system for handling multiple "views" of Wave Surfing stats. Converted and tweaked old (hard-coded) views to new system and added several more.
  • 1.323 - 8/30/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 84.29% (5th), PL: 718-21 (17th), Survival: 92.06%
    • Rollback to 1.32.
    • Fixed a bug in Wave Surfing danger calculation: when weighting scans by inverse scan distance, forgot to pass the weights, so was using unweighted distance.
  • 1.322 - 8/30/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 84.12% (6th), PL: 720-19 (16th), Survival: 91.83%
    • Changes to Wave Surfing:
      • When enemy hit percentage is above the threshold for which we add in recent scans, ignore all scans' distances from (i.e., similarity to) the current scan when calculating danger.
      • Remove duplicates between "all scans" and "recent scans" clusters (as in 1.274/1.275).
  • 1.321 - 8/30/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 84.39% (4th), PL: 719-21 (17th), Survival: 92.16%
    • In Wave Surfing, lowered hit percentage threshold for adding in extra recent scans.
  • 1.32 - 8/29/2009
    • MeleeRumble - Not entered.
    • RoboRumble ‒ APS: 84.4% (4th), PL: 723-17 (13th), Survival: 92.22%
    • Tweaks to Wave Surfing attributes:
      • Against non-simple targeters, drop lateral velocity, add velocity and relative heading.
      • For relative heading, split into two values: lateral (sin) and advancing (cos) components.
      • Tweak all the weights.
    • Slightly more danger associated with moving closer to enemy.
  • 1.31 - 8/28/2009
    • MeleeRumble ‒ APS: 69.09% (2nd), PL: 275-1 (2nd), Survival: 93.84%
    • RoboRumble ‒ APS: 84.51% (4th), PL: 721-15 (12th), Survival: 92.4%
    • Slightly tweaked kernel density calculation in Melee gun. (Not much score change, but feels more right to me.)
    • Changed how Melee gun aims when it is hot (4+ ticks before firing):
      • 1.30 left the target selection code in place and aimed at that target with HOT when the gun was hot.
      • Now, completely ignore the target selection, and just aim at everyone every few ticks while the gun is hot.
  • 1.30 - 8/27/2009
    • MeleeRumble ‒ APS: 68.29% (2nd*), PL: 276-2 (2nd), Survival: 92.77%
    • RoboRumble - No 1v1 changes.
    • Attempt at a Melee gun that targets everyone at once (a la Shadow/Melee Gun).
    • Notes: This is the second time I've tried to implement this, and I think this time I have it working right. It hasn't been producing incredible scores in my test bed, though, so I'm skeptical how well it will perform before I tweak it a bit more.
  • 1.29 - 8/26/2009
    • MeleeRumble ‒ APS: 68.14% (3rd), PL: 275-2 (3rd), Survival: 92.39%
    • RoboRumble - No 1v1 changes.
    • Slightly decreased randomness of the Melee movement.
  • 1.286 - 8/25/2009
    • MeleeRumble ‒ APS: 68.03% (4th*), PL: 275-1 (2nd), Survival: 92.05%
    • RoboRumble - No 1v1 changes.
    • Removed new gun dimension.
  • 1.285 - 8/25/2009
    • MeleeRumble ‒ APS: 67.68% (4th*), PL: 274-3 (2nd), Survival: 91.47%
    • RoboRumble - No 1v1 changes.
    • In target selection, less bias towards enemies near a corner.
    • Added a heading relative to center of battlefield dimension in gun.
  • 1.284 - 8/24/2009
    • MeleeRumble ‒ APS: 68.03% (4th*), PL: 273-3 (3rd), Survival: 92.18%
    • RoboRumble - No 1v1 changes.
    • For gun waves originating from enemies:
      • Don't fire from location of the enemy being targeted by the wave.
      • Calculate real wall distance, based on (enemy) wave source location. (1.283 just copied the wall distance values from the gun wave originating from Diamond.)
  • 1.283 - 8/23/2009
    • MeleeRumble ‒ APS: 67.45% (4th*), PL: 272-4 (4th), Survival: 91.41%
    • RoboRumble - No 1v1 changes.
    • During melee, fires and collects gun waves from locations of every enemy bot, not just from Diamond's location.
    • Increase weight of "number of bots alive" dimension in gun.
    • Add toggling of Radar, Movement, and Gun debugging graphics via keyboard input.
  • 1.282 - 8/22/2009
    • MeleeRumble ‒ APS: 67.31% (4th), PL: 272-4 (4th), Survival: 91.13%
    • RoboRumble - No 1v1 changes.
    • Rollback to 1.272.
    • Changed melee gun to calculate distance and relative heading values relative to Diamond instead of relative to the closest bot to the target.
  • 1.281 - 8/21/2009
    • MeleeRumble ‒ APS: 66.64% (6th), PL: 269-7 (7th), Survival: 90.11%
    • RoboRumble - No 1v1 changes.
    • Rollback to 1.272.
    • Removed distance-last-40-ticks attribute from melee gun.
  • 1.28 - 8/20/2009
    • MeleeRumble - APS: 66.51% (6th), PL: 272-5 (5th), Glicko-2: 1673.3, Survival: 90.01%
    • RoboRumble - No 1v1 changes.
    • Rollback to 1.272.
    • Changed all the weights in the melee gun, set intuitively with minimal testing.
  • 1.272 - 8/13/2009
    • MeleeRumble ‒ APS: 66.97% (4th), PL: 272-4 (5th), Survival: 90.75%
    • RoboRumble ‒ APS: 84.58% (4th), PL: 722-16 (13th), Survival: 92.48%
    • Add damage given risk factor.
  • 1.21 - 7/19/2009
    • MeleeRumble - Not entered.
    • RoboRumble - APS: 84.4% (6th), PL: 716-12 (16th), Glicko-2: 2121.1, Survival: 92.03%
    • Movement:
      • Surf remaining waves in the air after enemy dies.
      • In calculating wave surfing dangers, change number of scans used from Math.min(scans, CLUSTER_SIZE) to Math.min(Math.ceil(scans / 5), CLUSTER_SIZE).
    • Gun:
      • Added accel dimension.
      • Gun heat dimension uses firing-tick gun heat instead of aiming-tick gun heat.
      • Always use gun heat = 0 when aiming.
      • Actually fixed the gun wave management issues found in 1.20*. (Mainly impacts melee.)
      • A few miscellaneous tweaks and bug fixes in melee gun function.
  • 1.202 - 7/18/2009
    • MeleeRumble - Not entered.
    • RoboRumble - APS: 84.09% (7th), PL: 713-16, Glicko-2: 2115.5, Survival: 91.78%
    • More changes to gun wave management related to the 1.201 changes. (But it actually was still broken.)
  • 1.201 - 7/18/2009
    • MeleeRumble - Not entered.
    • RoboRumble - Pulled
    • Reverted bullet power changes.
    • Fixed a bug with wall distance attributes in gun: was always calculating with bullet power=3.
  • 1.20 - 7/18/2009
    • MeleeRumble - Not entered.
    • RoboRumble - APS: 83.38% (10th), PL: 707-22, Glicko-2: 2100.2, Survival: 90.56%
    • In 1v1 scenarios, uses same bullet power selection as Dookious 1.573.
  • 1.198 - 7/17/2009
    • MeleeRumble - APS: 65.82% (8th), PL: 270-6, Glicko-2: 1710.2, Survival: 87.91%
    • RoboRumble - APS: 84.06% (7th), PL: 717-11, Glicko-2: 2113.8, Survival: 91.78%
    • Functionally equivalent to 1.191.
    • Some additional debugging graphics and internal code that I wanted to keep.
  • 1.19*
    • Changes to flattener and 1v1 movement.
    • Updated debug graphics.
    • Specific details later.
  • 1.18*
    • Changes to melee movement.
    • Specific details later.
  • 1.174 - 6/3/2009
    • MeleeRumble - APS: ???%, PL: ???, Glicko-2: ???, Survival: ???%
    • RoboRumble - No 1v1 changes.
    • Rollback to 1.171.
    • Restored damage taken risk factor in melee movement.
  • 1.173 - 6/3/2009
    • MeleeRumble - APS: 65.29%, PL: 262-5, Glicko-2: 1729.6, Survival: 87.40%
    • RoboRumble - No 1v1 changes.
    • Rollback to 1.171.
    • Squaring perpendicularity factor.
  • 1.172 - 6/3/2009
    • MeleeRumble - APS: 65.14% (7th), PL: 163-5, Glicko-2: 1729.3, Survival: 87.19%
    • RoboRumble - No 1v1 changes.
    • Re-enabled point generation near previous destination.
  • 1.171 - 6/2/2009
    • MeleeRumble - APS: 65.26% (7th), PL: 262-6, Glicko-2: 1731.3, Survival: 87.26%
    • RoboRumble - No 1v1 changes.
    • Reverted conditional changes from 1.17.
    • Disabled a bunch of stuff in the melee movement that I wasn't 100% sure was helping. Will try re-enabling them one by oone to know for sure.
      • Generating possible destinations near previous destination.
      • Damage given and damage taken risk factors.
  • 1.17 - 6/2/2009
    • MeleeRumble - APS: 65.40% (7th), PL: 263-4, Glicko-2: 1734.8, Survival: 87.43
    • RoboRumble - No 1v1 changes.
    • Only factor in perpendicularity and don't-be-targeted risk factors in certain situations (per-enemy).
    • Use cosine-based formula for perpendicularity. (I do it this way in BrokenSword, but thought of it as a code size trick. Recently concluded it's actually more correct anyway, as it models lateral velocity.)
  • 1.161 - 6/1/2009
    • MeleeRumble - APS: 65.79% (7th), PL: 260-7, Glicko-2: 1737.9, Survival: 88.08%
    • RoboRumble - APS: 83.97% (7th), PL: 685-20, Glicko-2: 2112.6, Survival: 91.53%
    • Disabled flattener.
  • 1.16 - 5/30/2009
    • MeleeRumble - Not entered.
    • RoboRumble - APS: 83.74% (9th), PL: 686-19, Glicko-2: 2109.5, Survival: 91.39%
    • Rollback to 1.122.
    • Myriad changes to Wave Surfing:
      • Tracking normalized enemy hit percentage as in Dookious, used for making lots of decisions.
      • For the recent scans taken into account, uses the last X hits instead of clearing the recent scans every few rounds. Also only enables this when enemy hit-% is above a certain threshold.
      • Distancing based on Dookious (instead of just using desired distance = 525 all the time).
      • Added a flattener, enabled with similar conditions to Dookious, but permanently enabled once it is enabled.
      • Against very simple targeters, only use 3 DC dimensions.
  • 1.15 - 5/30/2009
    • MeleeRumble - APS: 65.50% (7th), PL: 263-5, Glicko-2: 1737.3, Survival: 87.56%
    • RoboRumble - No 1v1 changes.
    • Rollback to 1.122.
    • Threw caution to the wind and made a bunch of gut-feeling changes to both movement and gun. Didn't do much good, but was therapeutic. =)
  • 1.14 - 5/29/2009
    • MeleeRumble - APS: 65.37% (7th), PL: 265-3, Glicko-2: 1737.7, Survival: 87.59%
    • RoboRumble - No 1v1 changes.
    • Rollback to 1.122.
    • Added corner-distance risk factor.
    • Less bias to current destination in movement.
  • 1.13 - 5/29/2009
    • MeleeRumble - APS: 65.57% (7th), PL: 263-5, Glicko-2: 1741.1, Survival: 88.19%
    • RoboRumble - No 1v1 changes.
    • Removed gun heat consideration when switching targets in gun.
  • 1.122 - 5/28/2009
    • MeleeRumble - APS: 65.72% (7th), PL: 262-4, Glicko-2: 1744.3, Survival: 88.06%
    • RoboRumble - No 1v1 changes.
    • Restored and tweaked damage given (anti-)risk factor.
    • Tweaked damage taken risk factor similarly.
  • 1.121 - 5/27/2009
    • MeleeRumble - APS: 65.56% (7th), PL: 263-5, Glicko-2: 1740.4, Survival: 87.95%
    • RoboRumble - No 1v1 changes.
    • Removed risk for recent enemy locations.
    • Removed damage given (anti-)risk factor.
  • 1.12 - 5/26/2009
    • MeleeRumble - APS: 65.47% (7th), PL: 262-5, Glicko-2: 1742.7, Survival: 87.60%
    • RoboRumble - No 1v1 changes.
    • Restored risk for recent enemy locations (from 1.072).
  • 1.115 - 5/25/2009
    • MeleeRumble - APS: 65.69% (7th), PL: 261-5, Glicko-2: 1747.0, Survival: 87.671%
    • RoboRumble - No 1v1 changes.
    • Removed random direction change timer.
    • Tweaked risk from (Diamond's) recent locations.
    • Note: Best "bug-free" version in APS comparison. Only down .1% from 1.111 (w/performance enhancing bug), up .3% from 1.11 (bug fixed version). Good enough for me, so now I can move on with my life. =)
  • 1.114 - 5/25/2009
    • MeleeRumble - APS: 65.26% (6th), PL: 256-7, Glicko-2: 1740.4, Survival: 87.10%
    • RoboRumble - No 1v1 changes.
    • Tweaked random direction change formula.
  • 1.113 - 5/25/2009
    • MeleeRumble - APS: 65.56% (6th), PL: 258-4, Glicko-2: 1747.1, Survival: 87.60%
    • RoboRumble - No 1v1 changes.
    • Tweaked random direction change formula.
  • 1.112 - 5/25/2009
    • MeleeRumble - APS: 65.40% (6th), PL: 259-3, Glicko-2: 1745.0, Survival: 87.21%
    • RoboRumble - No 1v1 changes.
    • Rollback to "bug-free" 1.11.
    • Tweaked random direction change formula.
  • 1.111 - 5/24/2009
    • MeleeRumble - APS: 65.84% (6th), PL: 259-3, Glicko-2: 1751.1, Survival: 88.50%
    • RoboRumble - No 1v1 changes.
    • Reverting the change to current heading / random direction change code.
    • Note: Trying to figure out which of the minor changes in 1.11 caused a .4% APS drop.
    • Note #2: Yep, I've officially got a Performance Enhancing Bug on my hands.
  • 1.11 - 5/23/2009
    • MeleeRumble - APS: 65.37% (6th), PL: 258-4, Glicko-2: 1746.7, Survival: 87.17%
    • RoboRumble - No 1v1 changes.
    • Fixed a bug in the Wave Surfing HoT avoidance (when there's no data to surf) - was marking negative GFs as dangerous, too.
    • Fixed a bug where Diamond might shoot himself disabled.
    • Fixed a bug in the current heading / random direction changing code.
    • Enhanced Wave Surfing debugging graphics, including drawing color-coded dangers along two closest waves.
    • Only executes graphical debugging code if painting is enabled. (This also fixed the buffer-overflow I was hitting when enabling paint mid-match.)
  • 1.09 - 5/23/2009
    • MeleeRumble - APS: 65.85% (6th), PL: 259-3, Glicko-2: 1752.5, Survival: 88.62%
    • RoboRumble - APS: 83.94% (7th), PL: 680-20, Glicko-2: 2115.5, Survival: 91.53%
    • Myriad Wave Surfing tweaks:
      • Changed several scan distancing dimensions: removed time since direction change, added time since velocity change, added distance last eight ticks, tweaked weights.
      • Fixed one more off-by-1 bug in the surfing (using my location from 3 ticks ago instead of 2).
      • Fixed the bandwidth used in kernel density calculations. (I'd set it to a static 0.1 as a placeholder, should be based on distance.)
      • Added a mechanic for factoring in similar scans from recent rounds in addition to similar scans from the whole match.
  • 1.08 - 5/22/2009
    • MeleeRumble - APS: 65.93% (6th), PL: 258-4, Glicko-2: 1754.0, Survival: 88.79%
    • RoboRumble - No 1v1 changes.
    • Removed risk for recent enemy locations.
    • Added damage given (anti-)risk factor.
  • 1.072 - 5/21/2009
    • MeleeRumble - APS: 66.03% (6th), PL: 257-5, Glicko-2: 1756.5, Survival: 88.51%
    • RoboRumble - No 1v1 changes.
    • Fixed off-by-1-bug in the movement, once and for all (I hope).
  • 1.071 - 5/20/2009
    • MeleeRumble - APS: 65.75% (6th), PL: 257-5, Glicko-2: 1753.4, Survival: 88.15%
    • RoboRumble - No 1v1 changes.
    • Fixed a big bug adding in the risk to enemies' recent locations.
  • 1.07 - 5/20/2009
    • MeleeRumble - Pulled
    • RoboRumble - No 1v1 changes.
    • Reverted tweak to perpendicularity factor.
    • Tweaked risk to enemies' recent locations.
    • Tweaked anti-being-targeted factor - count bots 10% closer instead of just bots closer.
    • Tried to fix the off-by-1 bug, introduced a different one.
  • 1.06 - 5/19/2009
    • MeleeRumble - APS: 65.70% (6th), PL: 258-4, Glicko-2: 1754.3, Survival: 88.61%
    • RoboRumble - No 1v1 changes.
    • Re-introduced some risk to enemies' recent locations.
    • Tweaked perpendicularity factor.
    • Introduced an off-by-1 bug in the Wave Surfing - locations used for Enemy Wave sources and absolute bearings.
  • 1.05 - 5/19/2009
    • MeleeRumble - APS: 65.99% (6th), PL: 260-2, Glicko-2: 1758.1, Survival: 88.71%
    • RoboRumble - No 1v1 changes.
    • Rolled back all movement changes from 1.03 and 1.04, except:
      • Greatly reduced weight of previously dominant anti-being-targeted factor.
  • 1.04 - 5/18/2009
    • MeleeRumble - APS: 65.48% (6th), PL: 258-4, Glicko-2: 1753.3, Survival: 87.91%
    • RoboRumble - No 1v1 changes.
    • Myriad melee movement tweaks:
      • Tweaked reverse direction timer.
      • Added corner distance risk factor.
      • Greatly reduced weight of previously dominant anti-being-targeted factor.
      • Tweaked risk of enemies' recent locations: fewer, more recent points, much higher weight.
    • Risk evaluation debugging graphics now based off standard deviations, capped at -1.5/+1.5. A lot more meaningful (used to get many pure blue points when a few were super duper risky).
  • 1.03 - 5/17/2009
    • MeleeRumble - APS: 65.82% (6th), PL: 258-4, Glicko-2: 1758.5, Survival: 88.25%
    • RoboRumble - No 1v1 changes.
    • Added some risk to enemies' recent locations.
  • 1.02 - 5/16/2009
    • MeleeRumble - APS: 65.70% (6th), PL: 259-3, Glicko-2: 1758.4, Survival: 88.05%
    • RoboRumble - APS: 83.05% (12th), PL: 676-25, Glicko-2: 2096.2, Survival: 90.52%
    • A bunch of gun tweaks, including a gun heat dimension (only used in 1v1), time since velocity change instead of direction change, and tweaked dimension weights.
    • Note: Didn't expect much rating change, but wanted to know that there wasn't, going forward.
  • 1.01 - 5/15/2009
    • MeleeRumble - APS: 65.76% (6th), PL: 260-3, Glicko-2: 1760.3, Survival: 88.55%
    • RoboRumble - No 1v1 changes.
    • Added factor for targeting bots near corners (to take their position).
    • Removed factor that favors spots where enemies will be non-perpendicular in risk evaluation.
    • Increased weight of damage-taken factor in risk evaluation.
    • Note: Despite lower ELO, was about .3% APS better than 1.0.
  • 1.0 - 5/14/2009