Difference between revisions of "Scalar/Version History"

From Robowiki
Jump to navigation Jump to search
(Initial commit)
 
m (rank)
 
(76 intermediate revisions by the same user not shown)
Line 7: Line 7:
 
----
 
----
 
<!--
 
<!--
** '''{{subst:rumblestats:roborumble|aaa.mega.Scalar xxx|RumbleStatsDefault}}'''
+
** '''{{subst:rumblestats:meleerumble|aaa.mega.Scalar xxx|RumbleStatsDefault}}'''
 
-->
 
-->
  
* {{SimpleVersion|date=2017-?|version=0.01?}}
+
* {{SimpleVersion|date=2018-07-01|version=0.01e22}}
** Rewrite [[ScalarBot]]’s framework from scratch
+
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e22|rumble=MeleeRumble|scorelabel=APS|score=67.08|rank=12th|win=389|loss=14|plrank=15th|glicko2=N/A|pwin=96.53|vote=0.25|anpp=90.8|score2label=Survival|score2=34.08}}'''
 +
** get back some old drop detector behavior
 +
** inaccurate wave get less weight
 +
** fix time to hit using intersect instead of my current location (performance enhancing bug?)
 +
 
 +
* {{SimpleVersion|date=2018-06-30|version=0.01e21}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e21|rumble=MeleeRumble|scorelabel=APS|score=67.45|rank=12th|win=390|loss=13|plrank=14th|glicko2=N/A|pwin=96.77|vote=0.25|anpp=91.48|score2label=Survival|score2=37.14}}'''
 +
** based on 0.01e19
 +
** use gradle to generate jar automatically
 +
** use proguard to remove dead code
 +
 
 +
* {{SimpleVersion|date=2018-06-28|version=0.01e20}}
 +
** use different surf kernel density
 +
 
 +
* {{SimpleVersion|date=2018-06-28|version=0.01e19}}
 +
** better energy drop tracking
 +
** detect wave hits on all enemies
 +
 
 +
* {{SimpleVersion|date=2018-06-25|version=0.01e18}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e18|rumble=MeleeRumble|scorelabel=APS|score=67.53|rank=12th|win=389|loss=14|plrank=15th|glicko2=N/A|pwin=96.53|vote=0|anpp=91.69|score2label=Survival|score2=37.79}}'''
 +
** rewrite medianScale
 +
** surf a wave longer based on sourceError
 +
 
 +
* {{SimpleVersion|date=2018-06-24|version=0.01e17}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e17|rumble=MeleeRumble|scorelabel=APS|score=67.57|rank=12th|win=389|loss=14|plrank=15th|glicko2=N/A|pwin=96.53|vote=0|anpp=91.73|score2label=Survival|score2=38.35}}'''
 +
** based on 0.01e14
 +
** migrate fix from 0.01e16
 +
 
 +
* {{SimpleVersion|date=2018-06-24|version=0.01e16}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e16|rumble=MeleeRumble|scorelabel=APS|score=67.65|rank=12th|win=389|loss=14|plrank=15th|glicko2=N/A|pwin=96.53|vote=0|anpp=91.82|score2label=Survival|score2=38.04}}'''
 +
** fix ptLineDist used instead of ptSegDist, which ''disables'' a bunch of movement options.
 +
 
 +
* {{SimpleVersion|date=2018-06-23|version=0.01e15}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e15|rumble=MeleeRumble|scorelabel=APS|score=67.47|rank=12th|win=389|loss=14|plrank=15th|glicko2=N/A|pwin=96.53|vote=0.25|anpp=91.52|score2label=Survival|score2=37.66}}'''
 +
** rebase MeleeMove onto ''Unit''
 +
 
 +
* {{SimpleVersion|date=2018-06-20|version=0.01e14}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e14|rumble=MeleeRumble|scorelabel=APS|score=67.59|rank=12th|win=390|loss=13|plrank=14th|glicko2=N/A|pwin=96.77|vote=0|anpp=91.75|score2label=Survival|score2=38.06}}'''
 +
** Back to 0.01e10
 +
** Switch some part to ''Unit''
 +
** Pseudocolor inspired by Neuromancer
 +
 
 +
* {{SimpleVersion|date=2018-06-20|version=0.01e12}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e12|rumble=MeleeRumble|scorelabel=APS|score=67.43|rank=12th|win=390|loss=12|plrank=13th|glicko2=N/A|pwin=97.01|vote=3.23|anpp=91.5|score2label=Survival|score2=38.93}}'''
 +
** tune surfing bandwidth in another direction
 +
 
 +
* {{SimpleVersion|date=2018-06-19|version=0.01e11}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e11|rumble=MeleeRumble|scorelabel=APS|score=67.63|rank=12th|win=388|loss=14|plrank=14th|glicko2=N/A|pwin=96.52|vote=0|anpp=91.75|score2label=Survival|score2=37.84}}'''
 +
** tune surfing bandwidth
 +
 
 +
* {{SimpleVersion|date=2018-06-19|version=0.01e10}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e10|rumble=MeleeRumble|scorelabel=APS|score=67.56|rank=12th|win=388|loss=14|plrank=14th|glicko2=N/A|pwin=96.52|vote=0.25|anpp=91.73|score2label=Survival|score2=38.15}}'''
 +
** fix onHitByBullet not correctly tracked
 +
** fix melee wave source using outdated data
 +
** introducing ''Unit'', where every bot is treated equally. Turned off completely yet.
 +
 
 +
* {{SimpleVersion|date=2018-06-16|version=0.01e9}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e9|rumble=MeleeRumble|scorelabel=APS|score=67.6|rank=12th|win=388|loss=14|plrank=14th|glicko2=N/A|pwin=96.52|vote=0|anpp=91.79|score2label=Survival|score2=38.14}}'''
 +
** rework energy management
 +
 
 +
* {{SimpleVersion|date=2018-06-14|version=0.01e8}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e8|rumble=MeleeRumble|scorelabel=APS|score=67.44|rank=12th|win=388|loss=14|plrank=15th|glicko2=N/A|pwin=96.52|vote=0|anpp=91.49|score2label=Survival|score2=36.74}}'''
 +
** more accurate power selection
 +
 
 +
<!--
 +
* {{SimpleVersion|date=2018-06-14|version=0.01e6}}
 +
** Quick fix 0.01e5 forever loop bug
 +
 
 +
* {{SimpleVersion|date=2018-06-14|version=0.01e5}}
 +
** Quick fix to always use same power that aims.
 +
-->
 +
 
 +
* {{SimpleVersion|date=2018-06-14|version=0.01e4}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e4|rumble=MeleeRumble|scorelabel=APS|score=67.51|rank=12th|win=388|loss=14|plrank=14th|glicko2=N/A|pwin=96.52|vote=0|anpp=0|score2label=Survival|score2=35.63}}'''
 +
** Iterative power selection.
 +
** Remarkable survival improvement.
 +
 
 +
* {{SimpleVersion|date=2018-06-14|version=0.01e2}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e2|rumble=MeleeRumble|scorelabel=APS|score=67.35|rank=12th|win=388|loss=14|plrank=14th|glicko2=N/A|pwin=96.52|vote=7.4|anpp=91.49|score2label=Survival|score2=35.6}}'''
 +
** Bullet power selection takes who I can hit into account. No longer power 3 bullet on dying bot!
 +
** Inaccurate aim power due to bugs.
 +
 
 +
 
 +
<!--
 +
* Planned — 0.011
 +
** <s>Migrate [[ScalarBot]]’s 1v1 movement & gun</s>
 +
** Migrate [[ScalarBot]]’s 1v1 gun.
 +
** Rewrite a 1v1 movement that’s first optimized for simple guns, then slow learning guns. And find out a way to dodge pattern matchers well.
 +
** After that, add a tick flattener to help dodging the top guns, and a firing wave flattener agaisnt AS guns. (Only after I can dodge anything else very well can I start working on this and set a better threshold).
 +
 
 +
* Planned — 0.01f
 +
** kNN melee gun
 +
 
 +
* Planned — 0.01e2
 +
** Keep track of everyone’s firing for literal melee wave surfing
 +
--
 +
 
 +
 
 +
* Working — 0.01e1
 +
** Try some redesigned 1v1 movement inspired by its (Neuromancer style “brute force”) melee surfing. It should give PMs a hard time since more movement options are examined (which creates complex paths) and more prediction power is involved (which allows some DrussGT style random decelerating).
 +
** End up some goto movement similar to [[Carbon]], but without second wave surfing or object creation in loops.
 +
-->
 +
 
 +
* {{SimpleVersion|date=2017-11-06|version=0.01e}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01e|rumble=MeleeRumble|scorelabel=APS|score=67.62|rank=11th|win=389|loss=12|plrank=13th|glicko2=N/A|pwin=97.01|vote=1.5|anpp=91.65|score2label=Survival|score2=36.51}}'''
 +
** Rewrite melee movement, implement Neuromancer style “brute force” true melee surfing (only surfing preloaded HOT now).
 +
** Merge [[ScaledBot]] movement graphics & adapt it to show predicted paths like [[Neuromancer]] does, pretty cool now!
 +
** Well it takes me an hour to write, two nights to tune & fix bugs...
 +
 
 +
* {{SimpleVersion|date=2017-11-05|version=0.01d1}}
 +
** Thanks [[Skilgannon]] for mentioning paper "Fast Polynomial Approximations to Sine and Cosine" in his code ;) I'll try some approximated function as the replacement of StrictMath.
 +
*** Use approximations from "Fast Polynomial Approximations to Sine and Cosine" for sin & cos, 3~5x faster!
 +
*** Use floor for faster normalAbsoluteAngle & normalRelativeAngle, 5.4x faster!
 +
*** Use Chebyshev Approximations (http://metamerist.com/cheby/example38.htm) for atan & atan2, 13.86x faster! (my version uses degree 5 while [[Skilgannon]] uses degree 4, not sure the speed difference though)
 +
 
 +
* {{SimpleVersion|date=2017-11-02|version=0.01d}}
 +
** '''{{RumbleStatsDefault|link=http://literumble.appspot.com/BotDetails?game=meleerumble&name=aaa.mega.Scalar%200.01d|rumble=MeleeRumble|scorelabel=APS|score=63.94|rank=25th|win=362|loss=39|plrank=39th|glicko2=N/A|pwin=90.27|vote=0|anpp=85.08|score2label=Survival|score2=26.62}}'''
 +
** Fixed a lot of bugs in PIF gun ;)
 +
** Implemented melee wave tracking (no gun heat waves yet), and no reaction to that information yet.
 +
 
 +
* {{SimpleVersion|date=2017-10-31|version=0.01c}}
 +
** Simple melee movement that dodges a lot of HOT bullets without surfing ;)
 +
** Simple PIF gun that selects scans randomly
 +
 
 +
* {{SimpleVersion|date=2017-10-29|version=0.01b}}
 +
** Rewrite [[ScalarBot]]’s framework from scratch, so that every single object is either static or pooled. No object creation/deletion between ticks or even rounds!
 
** Write a melee radar
 
** Write a melee radar
 
** Migrate [[ScalarBot]]’s 1v1 radar into melee radar
 
** Migrate [[ScalarBot]]’s 1v1 radar into melee radar

Latest revision as of 12:25, 2 July 2018

Scalar Sub-pages:
ScalarVersion History - Understanding Scalar

  • 0.01e22 – 2018-07-01
    • MeleeRumble ‒ APS: 67.08% (12th), PL: 389-14 (15th), Survival: 34.08%
    • get back some old drop detector behavior
    • inaccurate wave get less weight
    • fix time to hit using intersect instead of my current location (performance enhancing bug?)
  • 0.01e21 – 2018-06-30
    • MeleeRumble ‒ APS: 67.45% (12th), PL: 390-13 (14th), Survival: 37.14%
    • based on 0.01e19
    • use gradle to generate jar automatically
    • use proguard to remove dead code
  • 0.01e20 – 2018-06-28
    • use different surf kernel density
  • 0.01e19 – 2018-06-28
    • better energy drop tracking
    • detect wave hits on all enemies
  • 0.01e18 – 2018-06-25
    • MeleeRumble ‒ APS: 67.53% (12th), PL: 389-14 (15th), Survival: 37.79%
    • rewrite medianScale
    • surf a wave longer based on sourceError
  • 0.01e17 – 2018-06-24
    • MeleeRumble ‒ APS: 67.57% (12th), PL: 389-14 (15th), Survival: 38.35%
    • based on 0.01e14
    • migrate fix from 0.01e16
  • 0.01e16 – 2018-06-24
    • MeleeRumble ‒ APS: 67.65% (12th), PL: 389-14 (15th), Survival: 38.04%
    • fix ptLineDist used instead of ptSegDist, which disables a bunch of movement options.
  • 0.01e15 – 2018-06-23
    • MeleeRumble ‒ APS: 67.47% (12th), PL: 389-14 (15th), Survival: 37.66%
    • rebase MeleeMove onto Unit
  • 0.01e14 – 2018-06-20
    • MeleeRumble ‒ APS: 67.59% (12th), PL: 390-13 (14th), Survival: 38.06%
    • Back to 0.01e10
    • Switch some part to Unit
    • Pseudocolor inspired by Neuromancer
  • 0.01e12 – 2018-06-20
    • MeleeRumble ‒ APS: 67.43% (12th), PL: 390-12 (13th), Survival: 38.93%
    • tune surfing bandwidth in another direction
  • 0.01e11 – 2018-06-19
    • MeleeRumble ‒ APS: 67.63% (12th), PL: 388-14 (14th), Survival: 37.84%
    • tune surfing bandwidth
  • 0.01e10 – 2018-06-19
    • MeleeRumble ‒ APS: 67.56% (12th), PL: 388-14 (14th), Survival: 38.15%
    • fix onHitByBullet not correctly tracked
    • fix melee wave source using outdated data
    • introducing Unit, where every bot is treated equally. Turned off completely yet.
  • 0.01e9 – 2018-06-16
    • MeleeRumble ‒ APS: 67.6% (12th), PL: 388-14 (14th), Survival: 38.14%
    • rework energy management
  • 0.01e8 – 2018-06-14
    • MeleeRumble ‒ APS: 67.44% (12th), PL: 388-14 (15th), Survival: 36.74%
    • more accurate power selection


  • 0.01e4 – 2018-06-14
    • MeleeRumble ‒ APS: 67.51% (12th), PL: 388-14 (14th), Survival: 35.63%
    • Iterative power selection.
    • Remarkable survival improvement.
  • 0.01e2 – 2018-06-14
    • MeleeRumble ‒ APS: 67.35% (12th), PL: 388-14 (14th), Survival: 35.6%
    • Bullet power selection takes who I can hit into account. No longer power 3 bullet on dying bot!
    • Inaccurate aim power due to bugs.


  • 0.01e – 2017-11-06
    • MeleeRumble ‒ APS: 67.62% (11th), PL: 389-12 (13th), Survival: 36.51%
    • Rewrite melee movement, implement Neuromancer style “brute force” true melee surfing (only surfing preloaded HOT now).
    • Merge ScaledBot movement graphics & adapt it to show predicted paths like Neuromancer does, pretty cool now!
    • Well it takes me an hour to write, two nights to tune & fix bugs...
  • 0.01d1 – 2017-11-05
    • Thanks Skilgannon for mentioning paper "Fast Polynomial Approximations to Sine and Cosine" in his code ;) I'll try some approximated function as the replacement of StrictMath.
      • Use approximations from "Fast Polynomial Approximations to Sine and Cosine" for sin & cos, 3~5x faster!
      • Use floor for faster normalAbsoluteAngle & normalRelativeAngle, 5.4x faster!
      • Use Chebyshev Approximations (http://metamerist.com/cheby/example38.htm) for atan & atan2, 13.86x faster! (my version uses degree 5 while Skilgannon uses degree 4, not sure the speed difference though)
  • 0.01d – 2017-11-02
    • MeleeRumble ‒ APS: 63.94% (25th), PL: 362-39 (39th), Survival: 26.62%
    • Fixed a lot of bugs in PIF gun ;)
    • Implemented melee wave tracking (no gun heat waves yet), and no reaction to that information yet.
  • 0.01c – 2017-10-31
    • Simple melee movement that dodges a lot of HOT bullets without surfing ;)
    • Simple PIF gun that selects scans randomly
  • 0.01b – 2017-10-29
    • Rewrite ScalarBot’s framework from scratch, so that every single object is either static or pooled. No object creation/deletion between ticks or even rounds!
    • Write a melee radar
    • Migrate ScalarBot’s 1v1 radar into melee radar