Difference between revisions of "Knight/VersionHistory"

From Robowiki
Jump to navigation Jump to search
Line 46: Line 46:
 
* Use old AS gun (it is good, believe it).
 
* Use old AS gun (it is good, believe it).
 
* Keep MEA stick 125.
 
* Keep MEA stick 125.
 +
* Changes to anti-random gun: add virtuality, remove bullets-fired, increase K from 100 to 200, weight by inverse distance.
 +
* Use gaussian KDE instead of max overlap in GF gun. Should be slow.
  
 
{| border="1" cellpadding="3" style="border-collapse: collapse; font-size: 85%; color: black;" class="sortable"
 
{| border="1" cellpadding="3" style="border-collapse: collapse; font-size: 85%; color: black;" class="sortable"

Revision as of 19:41, 7 November 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 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.
  • Try to tune the movement parameters with a SGD approach.
0.x, the peek finder series
  • Try to force myself into a situation the enemy has seen before when his gun is cool.
0.6, the gun series

Things to investigate

working on
  • Improve on hitting simple movement.
movement investigations
  • Improve against simple bots, the firing wave flattener is doing ok for now, I'll stick to that a bit.
  • Use a cool gauss weighting scheme for the flattener scans based on the hit scans (kinda inspired by the fuzzy-like approach Xor used in Scalar, though it is way different).
  • Work on some better threshold for the flattener.
  • Investigate why I'm diving that often.
  • After all that, let's go back to flattening and maybe test a tick flattener.
new movement view conclusion (0.5.9)
  • It's working fine, it gave me awesome results in MC2K7, but still, a lot to improve in terms of flattener in two fronts:
    • Dodging simple movement in such a way that I can really use a good hit threshold.
    • Strong flattening against top guns.
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.6.1 - 11.07.2017
  • Do not stick with the main gun for at least two rounds (rollback 0.6.0).
  • Use old AS gun (it is good, believe it).
  • Keep MEA stick 125.
  • Changes to anti-random gun: add virtuality, remove bullets-fired, increase K from 100 to 200, weight by inverse distance.
  • Use gaussian KDE instead of max overlap in GF gun. Should be slow.
Name Author Gun CC RMX SHA WS WOE Surf DM FT GG RMC WLO No Surf Total Comment
Knight TC48 - Type 74.84 83.07 65.19 82.3 81.51 77.38 89.02 81.31 87.66 80.71 83.87 84.51 80.94 10.0 seasons
0.6.0 - 11.07.2017
  • RoboRumble ‒ APS: 88.01% (8th), PL: 1147-5 (4th), Survival: 96.68%
  • Use main gun for at least two rounds (VG).
  • Use other AS gun.
  • Increase enemy MEA stick to 125.
  • This setup gave me 77% at TC 2K7. I'll definitely stop touching my AS gun. It is already good, I must accept that.
0.5.9 - 11.06.2017
  • Series-unrelated change: change the VG, give more room for the main gun to breathe, but still offers some possibility for the AS to catch up.
  • Disable fast math when dealing with shadows.
  • Tired of working at the same thing for too much time. Let's go back to the gun.
0.5.8 - 11.06.2017
  • RoboRumble ‒ APS: 88.25% (6th), PL: 1148-4 (4th), Survival: 96.88%
  • Flattener: hit% -> whit%, keep it turned on if round > 17.5.
  • Take enemy distance (instead of only the wave source) on account when evaluating the wave danger.
0.5.7 - 11.06.2017
  • RoboRumble ‒ APS: 88.03% (8th), PL: 1149-3 (3rd), Survival: 96.71%
  • Drop in a flattening view.
  • Log hits and flattening scans to distinct buffers and merge them accordingly.
  • After 30 seasons it is worth a #1 spot at MC2K7 (pretty outdated ranking, but a good reference anyways). Let's see how it does in RR.
0.5.6 - 11.05.2017
  • +0.7% compared to 0.5.4
  • Remove x.x5 exploit for a while.
  • Remove the flattener.
  • Change wave danger formula (how impact time, bullet damage and distance were handled).
  • Point of transition between surfed waves is now the break point of the first wave (before it was the pass point).
  • Fix a tiny bug in wall smoothing: now I get closer to the wall. Not sure if it is a good thing.
  • Add gun-heat waves, good improvement against close-rangers, but again, no flattener enabled. Gotta think about new flattening conditions if I want to keep this improvement.
0.5.5b - 11.02.2017
  • RoboRumble ‒ APS: 87.65% (8th), PL: 1148-4 (4th), Survival: 96.38%
  • Improve the x.x5 exploit to the best I can think.
0.5.5 - 11.02.2017
  • RoboRumble ‒ APS: 87.18% (10th), PL: 1148-4 (4th), Survival: 96.33%
  • Try a reweighted flattener.
0.5.4 - 11.02.2017
  • RoboRumble ‒ APS: 87.29% (9th), PL: 1144-8 (7th), Survival: 96.1%
  • Add a basic tree (max 4 attributes).
  • Apply gauss weighting to all the trees as a group instead of to each of them individually.
0.5.3 - 11.02.2017
  • RoboRumble ‒ APS: 87.26% (10th), PL: 1142-10 (10th), Survival: 95.92%
  • Remove flattener.
  • Break the only tree into monotonic trees.
0.5.2 - 11.02.2017
  • RoboRumble ‒ APS: 87.23% (10th), PL: 1148-4 (4th), Survival: 96.07%
  • Temporarily revert targeted distance to 675.
  • Add a adaptive strategy and plug it into the flattener.
0.5.1 - 11.02.2017
  • -0.25% compared to 0.5.0.
  • Try to keep distance equals to 425 instead of 675.
0.5.0 - 10.31.2017
  • RoboRumble ‒ APS: 87.4% (9th), PL: 1147-5 (4th), Survival: 96.2%
  • Pretty hyped, long time since the last good improvement :)
  • 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
  • RoboRumble ‒ APS: 86.2% (14th), PL: 1135-9 (15th), Survival: 95.47%
  • 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.