Difference between revisions of "Knight/VersionHistory"

From Robowiki
Jump to navigation Jump to search
m
Line 23: Line 23:
 
; 0.5 series, the movement series
 
; 0.5 series, the movement series
 
* Add gunheat waves.
 
* Add gunheat waves.
* Improve close-range movement.
+
* Try a tick-flattener, kinda inspired by the good results [[User:Xor|Xor]] could achieve using it.
 +
* Improve close-range movement. Disable flattener if the bot is likely a rammer.
 
* Tweak movement against some simple problem bots like RaikoMicro, Charo and LauLectrik, against WSC (MC 2k6) and complement against advanced targeters.
 
* Tweak movement against some simple problem bots like RaikoMicro, Charo and LauLectrik, against WSC (MC 2k6) and complement against advanced targeters.
 
* Improve my movement when close to the wall (avoid being stuck pointing directly to the enemy).
 
* Improve my movement when close to the wall (avoid being stuck pointing directly to the enemy).
Line 30: Line 31:
  
 
== Things to investigate ==
 
== Things to investigate ==
 +
 +
; working on
 +
* Building a strategy and a view structure to perform better against surfers and pattern matchers. At the moment I have a point of start, but it really hurts (around 1.5% ~ 2%) my score against simple bots like WSC C, Splinter and GrubbmGrb (although it increases my score against Waylander in around 5% or so, but giving no real improvement against surfers at the moment). My intention is to gradually get a good flattener.
  
 
; new random gun conclusion (0.4.9)
 
; new random gun conclusion (0.4.9)
Line 36: Line 40:
 
== Past Releases ==
 
== Past Releases ==
  
; working on
+
; 0.5.0 - 10.31.2017
* Time to move to the movement series.
+
* Got a new movement view with a single strategy (no distinction between flattener and hit stats). It has a flattener with higher decay and a basic hit tree. The cluster size is 100 in both, the cluster limit is sqrt(size) and the flattener has a decreasing hit threshold (no margin of error) as the battle goes on (0.1/0.085/0.075/0.065 [the last one from [[Diamond]]]). Its strategy is pretty simple by now, should be poor against pattern matchers and not that strong against surfers, but it performs really well against the non-adaptive branches of both MC 2K6 and 2K7.
 +
* This tree was developed while tuning against MC 2K6 basic bots, when I figured out that my old hit tree was really weak against them and made me turn my flattener earlier/too often. When I finally got a good score against them, I moved on, always ensuring that my score against them was not really hurt.
 +
* Surprisingly, it seemed to help against close rangers, which I usually did very bad (probably because of turning the flattener too often?).
  
 
; 0.4.9 - 10.31.2017
 
; 0.4.9 - 10.31.2017

Revision as of 14:38, 31 October 2017


Planned Series

1.x series, the PM series
  • Try a very complex pattern matching gun.
1.0 series, the bullet shielding series
0.x, the movement tuning series
  • Try to tune the movement parameters with a SGD approach.
  • Should take a long time.
0.x, the gun tuning series
  • Try to tune the random gun parameters with a SGD approach.
  • Try to tune the anti-surfer gun, but it is pretty damn good already.
0.x, the peek finder series
  • Try to force myself into a situation the enemy has seen before when his gun is cool.
0.5 series, the movement series
  • Add gunheat waves.
  • Try a tick-flattener, kinda inspired by the good results Xor could achieve using it.
  • Improve close-range movement. Disable flattener if the bot is likely a rammer.
  • Tweak movement against some simple problem bots like RaikoMicro, Charo and LauLectrik, against WSC (MC 2k6) and complement against advanced targeters.
  • Improve my movement when close to the wall (avoid being stuck pointing directly to the enemy).
  • Tweak wall stick and distance parameters.
  • Probably do a bunch of optimizations along the way.

Things to investigate

working on
  • Building a strategy and a view structure to perform better against surfers and pattern matchers. At the moment I have a point of start, but it really hurts (around 1.5% ~ 2%) my score against simple bots like WSC C, Splinter and GrubbmGrb (although it increases my score against Waylander in around 5% or so, but giving no real improvement against surfers at the moment). My intention is to gradually get a good flattener.
new random gun conclusion (0.4.9)
  • Finally, those last changes traded a bit of PL for some (~0.2%) of APS, which is explained by the fact that the new anti-random gun does a bit worse than the old (which was named general purpose, btw) gun against surfers in general, or by the fact I changed the VG to stick with the anti-random in the first few rounds. Tired of working in the gun, I'll get back to it soon.

Past Releases

0.5.0 - 10.31.2017
  • Got a new movement view with a single strategy (no distinction between flattener and hit stats). It has a flattener with higher decay and a basic hit tree. The cluster size is 100 in both, the cluster limit is sqrt(size) and the flattener has a decreasing hit threshold (no margin of error) as the battle goes on (0.1/0.085/0.075/0.065 [the last one from Diamond]). Its strategy is pretty simple by now, should be poor against pattern matchers and not that strong against surfers, but it performs really well against the non-adaptive branches of both MC 2K6 and 2K7.
  • This tree was developed while tuning against MC 2K6 basic bots, when I figured out that my old hit tree was really weak against them and made me turn my flattener earlier/too often. When I finally got a good score against them, I moved on, always ensuring that my score against them was not really hurt.
  • Surprisingly, it seemed to help against close rangers, which I usually did very bad (probably because of turning the flattener too often?).
0.4.9 - 10.31.2017
  • Change MEA calculation a bit, its performance increase should be negligible.
  • More compact version of the new random gun combined with the old anti-adaptive (which is still killing it all).
  • Log hits in the adaptive gun and add a tree of size 8, K = 1;
0.4.8b - 10.30.2017

RoboRumble ‒ APS: 86.16% (15th), PL: 1141-10 (10th), Survival: 95.48%

  • Revert VG scoring and fast exp.
0.4.8 - 10.30.2017
  • Try a more recent version of the random gun with the old adaptive gun to see how it is going. Should be kinda frustrated...
    • Now during the MEA calculation handle a bot hitting the wall (and stop the calculation).
    • Won't touch the tree view for now, it's identical to 0.4.7 except for the addition of current-gf.
  • Change VG scoring.
  • Add fast exp.
0.4.7 - 10.29.2017
  • RoboRumble ‒ APS: 86.07% (16th), PL: 1118-15 (29th), Survival: 95.35%
  • Test how it goes with a simpler version of the new main gun, no AS.
  • No distance weighting + bullets-fired.
  • Set K to 100.
0.4.6 - 10.28.2017
  • RoboRumble ‒ APS: 85.74% (15th), PL: 1042-10 (87th), Survival: 95.37%
  • Test how it goes only with its older general purpose gun.
0.4.4b - 10.12.2017
  • RoboRumble ‒ APS: 85.98% (18th), PL: 1145-6 (5th), Survival: 95.42%
    • Sanity check version after many changes in shared classes during Medina's development.
0.4.4 - 10.08.2017
Quite surprised by its PL
  • RoboRumble ‒ APS: 86.01% (16th), PL: 1156-4 (4th), Survival: 95.47%
    • Revert all the gun & movement changes, but stick with BFT, abs(lateralVelocity) and the bug-fix (bullet-hit-bullet).
    • Improve wave graphics, better to see the danger.
    • Try wider (fixed) bandwidth.
    • Clear shadowed bins when getting the precise intersection danger.
0.4.3e - 10.07.2017
  • RoboRumble ‒ APS: 85.18% (19th), PL: 1149-10 (7th), Survival: 94.49%
    • Add displaceLast10 back and revert random gun weights.
0.4.3d - 10.06.2017
  • RoboRumble ‒ APS: 85.48% (16th), PL: 1116-11 (37th), Survival: 94.72%
    • Replacing distance with BFT seems to be valuable, but maybe add displaceLast10 again?
    • Revert adaptive gun weights.
    • lateralVelocity -> Math.abs(lateralVelocity)
0.4.3c - 10.06.2017

RoboRumble ‒ APS: 85.44% (16th), PL: 1146-13 (12th), Survival: 94.68%

    • Revert movement changes. Now only the bug-fix and the gun parameter changes applies.
0.4.3b - 10.06.2017
  • RoboRumble ‒ APS: 84.92% (22nd), PL: 1142-10 (14th), Survival: 94.49%
    • Fix a bug when logging enemy shot angle after bullet-hit-bullet events.
    • Test some tuned gun parameters for both guns.
    • Unfortunately incorporate some changes in movement strategies I was testing for 0.5, my commit from last version somehow did not happened...
0.4.3 - 10.05.2017
  • RoboRumble ‒ APS: 85.3% (17th), PL: 1150-9 (8th), Survival: 94.69%
    • Replace distance attribute with BFT in anti-adaptive gun.
    • Remove displaceLast10 attribute from anti-adaptive gun.
0.4.2c - 10.02.2017
  • RoboRumble ‒ APS: 85.45% (16th), PL: 1146-13 (12th), Survival: 94.74%
    • Fix a bug where I would not log hits (only logged wave breaks) in the anti-adaptive gun.
0.4.2b - 10.01.2017
  • RoboRumble ‒ APS: 85.37% (17th), PL: 1133-10 (19th), Survival: 94.84%
    • Change bandwidth picking.
    • Add fast math everywhere except for the bullet shadowing.
0.4.2 - 10.01.2017
  • RoboRumble ‒ APS: 84.86% (22nd), PL: 1145-14 (12th), Survival: 94.38%
    • Revert to 0.4.1 (monotonic trees).
    • Optimize gun and movement, should skip less turns (or even no turns at all?).
    • Fix bandwidth in KDE.
0.4.1c - 09.30.2017
  • RoboRumble ‒ APS: 84.1% (27th), PL: 1139-14 (18th), Survival: 94.19%
    • Try a heavier flattener.
0.4.1b - 09.29.2017
  • RoboRumble ‒ APS: 85.05% (21st), PL: 1147-12 (12th), Survival: 94.76%
    • Try to decay the queried entries on the movement.
0.4.1 - 09.29.2017
  • RoboRumble ‒ APS: 85.23% (17th), PL: 1147-12 (12th), Survival: 94.77%
    • Enable bullet shadowing.
    • Add virtuality in random gun.
    • Fix flattening condition.
    • Increase surfing deviation.
0.4 - 09.29.2017
  • RoboRumble ‒ APS: 84.53% (24th), PL: 1144-15 (14th), Survival: 93.88%
    • Major fixes both in gun and movement (now I can beat Ascendant, cool).
0.3
  • RoboRumble ‒ APS: 82.01% (51st), PL: 1129-30 (25th), Survival: 92.54%
    • Changes in the gun.
0.2.1
  • RoboRumble ‒ APS: 81.64% (53rd), PL: 1091-69 (60th), Survival: 87.12%
    • Uses Raiko Gun.
0.2 - 09.20.2017
  • RoboRumble ‒ APS: 80.14% (64th), PL: 1058-102 (88th), Survival: 89.56%
    • Fix an old bug which would affect Roborio too.
    • Fix my Kd-Tree.
    • Tweak movement.
0.1.3 - 09.16.2017
    • Fix precise intersection issues.
    • Add general purpose DC-GF gun from Roborio without tick wave logging, though.
0.1.2 - 09.15.2017
  • RoboRumble ‒ APS: 80.53% (59th), PL: 1079-79 (70th), Survival: 90.3%
    • Fix stat tracking.
    • Fix movement tree weights.
    • Add my precise intersection when logging a wave break.
0.1.1 - 09.13.2017
  • RoboRumble ‒ APS: 81.91% (52nd), PL: 1098-61 (54th), Survival: 91.48%
    • Incorporate Roborio's movement trees with different use conditions. No flattener, though.
    • Revert order my afterRun() function is executed.
    • Log when wave passes me. Still have to log when my wave passes an enemy, though.
    • Make a class dedicated to hold stats from the battle, which is used, for example, to decide which tree to use in the movement. It can be used just for logging purposes as well.
0.1 - 09.13.2017 - first release
  • RoboRumble ‒ APS: 75.55% (101st), PL: 916-178 (211th), Survival: 84.32%
    • Incorporate Monk 0.2.2 1v1 gun and movement. The wave surfing attributes are very simple and the gun is not well suited for 1v1.