Difference between revisions of "Geomancy/Version History"
< Geomancy
Jump to navigation
Jump to search
(Geomancy 14) |
(The numbers are in, and it's finally improving again.) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
== Versions == | == Versions == | ||
− | ;[http://synapticflame.googlepages.com/synapse.Geomancy_14.jar 14] - | + | ;[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. | :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. | :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. | :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. | :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 | ;[http://synapticflame.googlepages.com/synapse.Geomancy_13.jar 13] - G1929.6 - Tweaks |
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.