Difference between revisions of "Geomancy/Version History"
< Geomancy
Jump to navigation
Jump to search
(Version 2, now with velocity snapping) |
(The numbers are in, and it's finally improving again.) |
||
(25 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
== Versions == | == Versions == | ||
− | ; | + | ;[http://sites.google.com/site/synapsebots/home/synapse.Geomancy_15.jar?attredirects=0 15] - G1935.9 - Return to Robocode |
− | : | + | :Restored adaptive bullet power. |
+ | :Changed fudge factor to be much less dramatic. | ||
+ | :Tested against top problembots from versions 13 and 14 with encouraging results. | ||
+ | :''Finally, an improvement! Now I just need to surpass version 6's Glicko score of 1942. 2000 or bust! | ||
+ | |||
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_14.jar 14] - G1892.8 - Big bullets and patience | ||
+ | :Added default negative fudge factor of 0.9 to all axes, so that additional axes are only present in the selected segmentation if they're helping. | ||
+ | :Increased gun bin smoothing factor to roughly double the previous amount. | ||
+ | :Added condition to firing - selected best segment must be above a certain crest factor. If the best segment is too flat, wait for a better opportunity rather than wasting energy. | ||
+ | :Changed bullet power to 3. | ||
+ | :''Notes: this was quite effective against a some opponents, but overall ended up hurting my score against opponents with very inconsistent movement, since I was holding my fire too much. A better approach is to fire fast bullets when there's uncertainty and slow ones when the data indicates a better chance of hitting. Also the fudge factor was far too small - with five axes a segment was penalized by about 40%. This resulted in the bot preferring simpler, slower-learning segmentations, which hurt my score against bots that required fast adaptation.'' | ||
+ | |||
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_13.jar 13] - G1929.6 - Tweaks | ||
+ | :Increased gun depth to values closer to those from version 6. | ||
+ | :Returned to ''velocity'' and ''orthogonality'' segmentations. | ||
+ | :Increased the fineness of movement segmentation. | ||
+ | :Minor optimization in danger checking. | ||
+ | |||
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_12.jar 12] - G1909.2 - Multi-wave surfing improved, bug checking, tweaks | ||
+ | :Changed ''velocity'' and ''orthogonality'' to ''lateral velocity'' and ''approaching velocity''. | ||
+ | :Replaced multi-wave surfing mechanism. Now uses recursion to find the best path rather than modified danger summation. | ||
+ | :Experimented with combining segments, ultimately discarding the idea for now. | ||
+ | :Probably changed some other minor things too. | ||
+ | |||
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_11.jar 11] - G1916.2 - Removed an axis, bugfixes, tweaks | ||
+ | :Fixed another disabled opponents bug. | ||
+ | :Fixed a skipping turns bug revealed by proper onDeath and onWin handling. | ||
+ | :Decreased non-impacting wave weight when flattening from 1.0 to 0.5. | ||
+ | :Tweaked flattener activation and deactivation thresholds. | ||
+ | :Decreased spread on bin smoothing. | ||
+ | :Removed ''Last Stopped'' axis from gun and movement. | ||
+ | :Minor tweaks. | ||
+ | |||
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_10.jar 10] - G1905.9 - Nothing major, should fix anomalous scores | ||
+ | :Added full-match stat tracking, including proper onDeath and onWin handling. | ||
+ | :Added dynamic non-firing wave weighting. | ||
+ | :Linked dynamic distance and flattener with enemy hitrate. | ||
+ | :Linked dynamic non-firing wave weight with my hitrate. | ||
+ | :Added end-of-round garbage collection, which seems to prevent my bot from skipping turns mid-fight. | ||
+ | :Changed bin smoothing function to a not use <code>Math.pow</code>. | ||
+ | |||
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_9.jar 9] - G1905.3 - Bad idea recovery mode | ||
+ | :Disabled flattener until I'm losing badly. | ||
+ | :Re-added dynamic distancing. | ||
+ | :Associated bullet power with normal distance such that I still fire at normal power if my preferred distance increases. | ||
+ | :Internal changes making power and distance tweaks simpler. | ||
+ | :Added graph showing danger of future positions. Red marks the current position. | ||
+ | |||
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_8.jar 8] - G1867.3 - Flattening, distancing, and memory changes | ||
+ | :Decreased number of buckets on the gun from 64 to 32. | ||
+ | :Replaced most segmentation doubles with floats. | ||
+ | :Removed dynamic distancing. | ||
+ | :Added dynamic flattening, with a default weight for non-impacting waves of 0.1 (vs 1 for a bullet). | ||
+ | ::''This hurt my ranking against simple targeters badly.'' | ||
+ | :Added color changes to waves in debug graphics to reflect their bullet's condition (hit target, hit bullet). This makes watching battles with debug graphics on more fun. | ||
+ | |||
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_7.jar 7] - G1927.7 - Major tweaks | ||
+ | :Switched to sane rolling depths for surfing. | ||
+ | :Made surfing and gun rolling depths variable based on degree of segmentation. | ||
+ | :Increased minimum distance for dynamic distancing. | ||
+ | :Fixed equation for orthogonality. (Thanks [[User:Viodious|Voidious]]) | ||
+ | :Decreased velocity weighting to 12.5%. | ||
+ | |||
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_6.jar 6] - G1941.7 - Tweaks and adjustments | ||
+ | :Decreased surfing rolling depth a lot - from 50 to 15. Should be much more adaptable now. | ||
+ | :Added dynamic distancing. | ||
+ | :Added axis weighting, permitting a degree of influence on which segments are trusted more, regardless of how their data looks. | ||
+ | :Weighted velocity 25% higher than other axes. This should produce solid gains against simple targeters. | ||
+ | |||
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_5.jar 5] - G1940.9 - Added Orthogonality and BulletFlightTime axes | ||
+ | :Added two new axes. | ||
+ | :Updated debug graphics. | ||
+ | |||
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_4a.jar 4a] - G1941.1 - Not ProGuarded | ||
+ | :Same as 4 but no after-compile optimizations. | ||
+ | |||
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_4.jar 4] - ? - Lots of bugfixes | ||
+ | :Resolved some silliness where multi-wave surfing was falsely seeing a safe spot. | ||
+ | :Improved statistic calculations. | ||
+ | :Updated debug graphics slightly. | ||
+ | :Narrowly avoided adding a false optimization (thanks [[User:Rsim|Rsim]]!). | ||
+ | :Corrected firing wave origin point. | ||
+ | :Adjusted aim location to fire through the center of wave bins rather than at the first corner. | ||
+ | :Optimized by ProGuard - likely why it fails on many clients. | ||
+ | |||
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_3.jar 3] - G1936 - removed velocity snapping, refined bot width calculation | ||
+ | :Rolled back changes from version 2 -- while the velocity manipulation is quite effective against some bots, notably Geomancy 1, it hurts my overall ranking badly. | ||
+ | :Added more precise bot width calculation, including partial bin addition for bins at the edges of the bot width. | ||
− | ;2 - | + | ;[http://synapticflame.googlepages.com/synapse.Geomancy_2.jar 2] - NA - Velocity snapping added |
+ | ;[http://synapticflame.googlepages.com/synapse.Geomancy_2a.jar 2a] - G1898.9 - bugfix release | ||
:In the two turns before enemy gunheat reaches zero, I limit my velocity to 0, 4, or 8 (whichever's closest) so that the enemy's segmentation has lowered resolution. | :In the two turns before enemy gunheat reaches zero, I limit my velocity to 0, 4, or 8 (whichever's closest) so that the enemy's segmentation has lowered resolution. | ||
+ | :My first upload of version 2 used AdvancedRobot.setDebugVariable, which is not present in Roborumble-sanctioned versions of Robocode. As a result a few clients who got the buggy version are seeing crashes 100% of the time. 2a has the function removed. | ||
− | ; | + | ;[http://synapticflame.googlepages.com/synapse.Geomancy_1.jar 1] - G1937.0, 59{{sups|th}} - Release |
− | : | + | :Cleaned up [[Watermelon]], removed old code it didn't need, fixed some minor issues, tweaked some numbers, and gave it a shiny new name. |
− | : | ||
− | |||
− | |||
__NOTOC__ | __NOTOC__ | ||
+ | [[Category:Bot Version Histories]] |
Latest revision as of 17:10, 19 March 2010
Pages: Main page · Code · Version History · Discussion
Versions
- 15 - G1935.9 - Return to Robocode
- Restored adaptive bullet power.
- Changed fudge factor to be much less dramatic.
- Tested against top problembots from versions 13 and 14 with encouraging results.
- Finally, an improvement! Now I just need to surpass version 6's Glicko score of 1942. 2000 or bust!
- 14 - G1892.8 - Big bullets and patience
- Added default negative fudge factor of 0.9 to all axes, so that additional axes are only present in the selected segmentation if they're helping.
- Increased gun bin smoothing factor to roughly double the previous amount.
- Added condition to firing - selected best segment must be above a certain crest factor. If the best segment is too flat, wait for a better opportunity rather than wasting energy.
- Changed bullet power to 3.
- Notes: this was quite effective against a some opponents, but overall ended up hurting my score against opponents with very inconsistent movement, since I was holding my fire too much. A better approach is to fire fast bullets when there's uncertainty and slow ones when the data indicates a better chance of hitting. Also the fudge factor was far too small - with five axes a segment was penalized by about 40%. This resulted in the bot preferring simpler, slower-learning segmentations, which hurt my score against bots that required fast adaptation.
- 13 - G1929.6 - Tweaks
- Increased gun depth to values closer to those from version 6.
- Returned to velocity and orthogonality segmentations.
- Increased the fineness of movement segmentation.
- Minor optimization in danger checking.
- 12 - G1909.2 - Multi-wave surfing improved, bug checking, tweaks
- Changed velocity and orthogonality to lateral velocity and approaching velocity.
- Replaced multi-wave surfing mechanism. Now uses recursion to find the best path rather than modified danger summation.
- Experimented with combining segments, ultimately discarding the idea for now.
- Probably changed some other minor things too.
- 11 - G1916.2 - Removed an axis, bugfixes, tweaks
- Fixed another disabled opponents bug.
- Fixed a skipping turns bug revealed by proper onDeath and onWin handling.
- Decreased non-impacting wave weight when flattening from 1.0 to 0.5.
- Tweaked flattener activation and deactivation thresholds.
- Decreased spread on bin smoothing.
- Removed Last Stopped axis from gun and movement.
- Minor tweaks.
- 10 - G1905.9 - Nothing major, should fix anomalous scores
- Added full-match stat tracking, including proper onDeath and onWin handling.
- Added dynamic non-firing wave weighting.
- Linked dynamic distance and flattener with enemy hitrate.
- Linked dynamic non-firing wave weight with my hitrate.
- Added end-of-round garbage collection, which seems to prevent my bot from skipping turns mid-fight.
- Changed bin smoothing function to a not use
Math.pow
.
- 9 - G1905.3 - Bad idea recovery mode
- Disabled flattener until I'm losing badly.
- Re-added dynamic distancing.
- Associated bullet power with normal distance such that I still fire at normal power if my preferred distance increases.
- Internal changes making power and distance tweaks simpler.
- Added graph showing danger of future positions. Red marks the current position.
- 8 - G1867.3 - Flattening, distancing, and memory changes
- Decreased number of buckets on the gun from 64 to 32.
- Replaced most segmentation doubles with floats.
- Removed dynamic distancing.
- Added dynamic flattening, with a default weight for non-impacting waves of 0.1 (vs 1 for a bullet).
- This hurt my ranking against simple targeters badly.
- Added color changes to waves in debug graphics to reflect their bullet's condition (hit target, hit bullet). This makes watching battles with debug graphics on more fun.
- 7 - G1927.7 - Major tweaks
- Switched to sane rolling depths for surfing.
- Made surfing and gun rolling depths variable based on degree of segmentation.
- Increased minimum distance for dynamic distancing.
- Fixed equation for orthogonality. (Thanks Voidious)
- Decreased velocity weighting to 12.5%.
- 6 - G1941.7 - Tweaks and adjustments
- Decreased surfing rolling depth a lot - from 50 to 15. Should be much more adaptable now.
- Added dynamic distancing.
- Added axis weighting, permitting a degree of influence on which segments are trusted more, regardless of how their data looks.
- Weighted velocity 25% higher than other axes. This should produce solid gains against simple targeters.
- 5 - G1940.9 - Added Orthogonality and BulletFlightTime axes
- Added two new axes.
- Updated debug graphics.
- 4a - G1941.1 - Not ProGuarded
- Same as 4 but no after-compile optimizations.
- 4 - ? - Lots of bugfixes
- Resolved some silliness where multi-wave surfing was falsely seeing a safe spot.
- Improved statistic calculations.
- Updated debug graphics slightly.
- Narrowly avoided adding a false optimization (thanks Rsim!).
- Corrected firing wave origin point.
- Adjusted aim location to fire through the center of wave bins rather than at the first corner.
- Optimized by ProGuard - likely why it fails on many clients.
- 3 - G1936 - removed velocity snapping, refined bot width calculation
- Rolled back changes from version 2 -- while the velocity manipulation is quite effective against some bots, notably Geomancy 1, it hurts my overall ranking badly.
- Added more precise bot width calculation, including partial bin addition for bins at the edges of the bot width.
- 2 - NA - Velocity snapping added
- 2a - G1898.9 - bugfix release
- In the two turns before enemy gunheat reaches zero, I limit my velocity to 0, 4, or 8 (whichever's closest) so that the enemy's segmentation has lowered resolution.
- My first upload of version 2 used AdvancedRobot.setDebugVariable, which is not present in Roborumble-sanctioned versions of Robocode. As a result a few clients who got the buggy version are seeing crashes 100% of the time. 2a has the function removed.
- 1 - G1937.0, 59th - Release
- Cleaned up Watermelon, removed old code it didn't need, fixed some minor issues, tweaked some numbers, and gave it a shiny new name.