==================================================================================================================================== LEAD CAPTURE BY RANGE -- live ModularBot vs real DrussGT ==================================================================================================================================== corpus : /tmp/tfil_ab2/out battles (runs) : 70 per-run owner maps: {('e', 's'): 70} (expect all ('e','s')) runs with a broken owner map : 0 fire events w/ ambiguous position : 12112 death events side-validated : 496/496 side s = US (ModularBot) n= 56242 top powers: [(1.0, 32044), (0.5, 14556), (0.1, 807), (0.51, 225), (0.55, 208), (0.53, 199)] side e = DrussGT n= 67065 top powers: [(0.15, 27209), (0.95, 22789), (0.45, 5274), (0.25, 3071), (0.65, 2862), (0.35, 2340)] ==================================================================================================================================== SAMPLE ==================================================================================================================================== our shots (aligned, with an interception) : 54926 server hit / hitwall / hitbullet / other : 5480 / 47101 / 1203 / 1142 capture excluded (|required| < 2.0 px lateral) : 887 ==================================================================================================================================== GEOMETRY VALIDATION (hits must separate from misses) ==================================================================================================================================== n |leadErr|deg |leadErr|px misPx mean misPx med <18px HITS 5480 1.478 11.4 11.6 10.8 80.8% MISSES 48304 16.724 141.3 134.1 123.7 0.8% miss separation ratio (misses/hits) = 11.59x -> OK (bearing recovery validated) overall measured hit rate = 9.98% ==================================================================================================================================== MAIN TABLE -- all our shots, by RANGE band ==================================================================================================================================== reqL/appL = mean signed lead vs LOS (deg). capt = mean ratio, capSlp = robust proportional capture, capLin = the same slope for a naive linear predictor (control). by range band cell n excl range flt reqL appL capt capSlp capLin |err| +/- |err|px tol hit% ------------------------------------------------------------------------------------------------------------------------- 0-100 27 1 81 10.3 1.51 -0.23 0.72 0.401 0.597 16.76 11.13 23.2 13.01 44.00 100-200 274 14 162 14.7 -0.95 2.23 0.07 0.391 0.600 17.74 13.38 50.1 6.57 25.28 200-300 990 30 261 17.9 -1.67 0.37 0.04 0.246 0.428 16.65 11.97 75.8 3.99 16.04 300-450 17178 259 405 24.5 -0.56 0.40 0.01 0.198 0.404 15.98 11.27 112.9 2.56 11.79 450+ 36457 583 535 31.0 0.19 -0.44 0.15 0.135 0.291 14.71 10.36 137.0 1.95 9.14 ==================================================================================================================================== POWER WITHIN RANGE BAND -- this is what separates 'range' from 'power' ==================================================================================================================================== range 0-100 cell n excl range flt reqL appL capt capSlp capLin |err| +/- |err|px tol hit% ------------------------------------------------------------------------------------------------------------------------- 0-100 0.50-0.75 6 1 83 6.5 -4.82 -1.09 0.41 0.448 0.669 12.35 3.75 17.7 12.61 66.67 0-100 1.00-1.50 2 0 77 7.5 -28.19 -7.90 0.27 0.292 0.730 20.29 10.29 27.8 13.17 50.00 0-100 >=1.50 19 0 80 11.8 6.63 0.85 0.84 0.405 0.574 17.78 12.32 24.4 13.12 35.29 range 100-200 cell n excl range flt reqL appL capt capSlp capLin |err| +/- |err|px tol hit% ------------------------------------------------------------------------------------------------------------------------- 100-200 <0.50 5 0 161 10.4 4.77 -1.52 -0.08 0.436 0.495 14.84 8.18 41.5 6.48 20.00 100-200 0.50-0.75 53 12 166 10.8 1.78 5.83 0.04 0.481 0.567 14.31 8.72 41.2 6.38 30.77 100-200 0.75-1.00 5 0 177 11.2 0.60 -4.71 -1.53 0.527 0.394 11.72 7.59 35.6 5.89 40.00 100-200 1.00-1.50 23 0 168 12.5 -0.21 6.11 -0.04 0.442 0.616 14.50 11.98 46.5 6.47 42.86 100-200 >=1.50 188 2 159 16.3 -2.00 1.02 0.13 0.375 0.606 19.34 14.50 53.7 6.65 21.43 range 200-300 cell n excl range flt reqL appL capt capSlp capLin |err| +/- |err|px tol hit% ------------------------------------------------------------------------------------------------------------------------- 200-300 <0.50 6 0 257 15.7 -0.40 -3.70 0.06 0.512 0.839 10.39 8.54 50.9 4.07 50.00 200-300 0.50-0.75 130 12 267 16.1 -1.54 1.25 -0.40 0.202 0.415 15.92 10.93 74.3 3.90 18.55 200-300 0.75-1.00 21 4 263 17.1 -3.60 3.14 0.34 0.135 -0.015 17.32 10.06 79.1 3.96 11.11 200-300 1.00-1.50 780 13 261 17.8 -1.29 0.29 0.08 0.287 0.462 16.04 11.33 73.0 3.99 15.92 200-300 >=1.50 53 1 248 25.3 -6.97 -1.28 0.29 0.063 0.291 27.83 17.66 122.1 4.20 8.70 range 300-450 cell n excl range flt reqL appL capt capSlp capLin |err| +/- |err|px tol hit% ------------------------------------------------------------------------------------------------------------------------- 300-450 <0.50 333 63 409 22.0 -0.93 0.92 -0.67 0.094 0.493 16.30 9.09 116.4 2.54 3.07 300-450 0.50-0.75 5268 82 411 23.4 0.12 0.75 0.25 0.216 0.431 15.16 10.68 108.9 2.52 11.65 300-450 0.75-1.00 880 12 408 24.7 -0.72 -0.36 -0.19 0.203 0.458 16.00 11.28 113.6 2.55 13.14 300-450 1.00-1.50 10696 102 402 25.0 -0.86 0.27 -0.07 0.191 0.386 16.38 11.59 114.8 2.59 12.02 300-450 >=1.50 1 0 312 22.0 -7.39 22.61 -3.06 -3.062 -3.217 30.00 nan 163.1 3.31 0.00 range 450+ cell n excl range flt reqL appL capt capSlp capLin |err| +/- |err|px tol hit% ------------------------------------------------------------------------------------------------------------------------- 450+ <0.50 950 120 537 28.2 0.80 0.67 0.02 0.106 0.302 14.61 8.72 136.8 1.94 1.18 450+ 0.50-0.75 12957 205 536 29.6 0.32 -0.12 0.13 0.151 0.314 14.04 9.96 131.1 1.94 10.20 450+ 0.75-1.00 2424 28 540 31.6 0.52 -0.41 0.01 0.132 0.284 14.92 10.42 140.6 1.93 9.50 450+ 1.00-1.50 20126 230 534 32.0 0.05 -0.71 0.18 0.126 0.279 15.11 10.66 140.4 1.95 8.80 ==================================================================================================================================== CONFOUND CHECK -- the sub-0.5-power shots at long range are the ENDGAME finish ==================================================================================================================================== hit% of our 450+ shots, by the ENEMY's remaining energy at the fire tick: enemy energy [ 0, 2) n= 1017 meanP= 0.22 capSlp= 0.111 hit%= 1.10 enemy energy [ 2, 5) n= 1076 meanP= 0.54 capSlp= 0.128 hit%= 8.55 enemy energy [ 5, 10) n= 2614 meanP= 0.59 capSlp= 0.135 hit%= 9.69 enemy energy [ 10, 20) n= 6758 meanP= 0.63 capSlp= 0.146 hit%= 9.85 enemy energy [ 20, 40) n= 10733 meanP= 0.83 capSlp= 0.147 hit%= 9.43 enemy energy [ 40,150) n= 14259 meanP= 0.97 capSlp= 0.122 hit%= 9.12 same table, EXCLUDING shots fired while the enemy still has >= 5 energy (this removes the near-dead-target endgame and leaves the clean power comparison): range 0-100 (enemy energy >= 5) cell n excl range flt reqL appL capt capSlp capLin |err| +/- |err|px tol hit% ------------------------------------------------------------------------------------------------------------------------- 0-100 0.50-0.75 5 0 80 6.6 -5.78 -4.34 0.41 0.448 0.669 11.80 3.88 16.2 13.00 80.00 0-100 1.00-1.50 2 0 77 7.5 -28.19 -7.90 0.27 0.292 0.730 20.29 10.29 27.8 13.17 50.00 0-100 >=1.50 16 0 81 11.3 5.37 0.41 0.98 0.503 0.605 14.99 11.43 20.8 13.05 40.00 range 100-200 (enemy energy >= 5) cell n excl range flt reqL appL capt capSlp capLin |err| +/- |err|px tol hit% ------------------------------------------------------------------------------------------------------------------------- 100-200 0.50-0.75 42 2 168 11.2 2.51 2.50 0.03 0.481 0.573 12.93 8.67 37.8 6.33 35.71 100-200 0.75-1.00 5 0 177 11.2 0.60 -4.71 -1.53 0.527 0.394 11.72 7.59 35.6 5.89 40.00 100-200 1.00-1.50 23 0 168 12.5 -0.21 6.11 -0.04 0.442 0.616 14.50 11.98 46.5 6.47 42.86 100-200 >=1.50 175 2 161 16.3 -2.60 1.10 0.05 0.384 0.590 19.19 14.48 54.1 6.57 22.35 range 200-300 (enemy energy >= 5) cell n excl range flt reqL appL capt capSlp capLin |err| +/- |err|px tol hit% ------------------------------------------------------------------------------------------------------------------------- 200-300 <0.50 6 0 257 15.7 -0.40 -3.70 0.06 0.512 0.839 10.39 8.54 50.9 4.07 50.00 200-300 0.50-0.75 119 2 267 16.2 -1.88 -0.63 -0.41 0.192 0.412 15.49 11.23 72.5 3.89 20.35 200-300 0.75-1.00 17 0 265 17.5 -4.44 -0.78 0.34 0.135 -0.015 16.75 10.98 77.4 3.93 14.29 200-300 1.00-1.50 776 9 261 17.8 -1.30 0.17 0.08 0.287 0.462 16.00 11.34 72.8 3.98 16.01 200-300 >=1.50 40 0 249 25.5 -3.41 -0.27 0.03 0.061 0.290 26.76 18.77 118.8 4.19 11.11 range 300-450 (enemy energy >= 5) cell n excl range flt reqL appL capt capSlp capLin |err| +/- |err|px tol hit% ------------------------------------------------------------------------------------------------------------------------- 300-450 <0.50 4 0 381 21.5 2.94 -0.28 -1.41 1.202 1.280 17.26 10.28 109.0 2.76 25.00 300-450 0.50-0.75 4825 54 412 23.5 0.14 0.58 0.24 0.220 0.430 15.08 10.64 108.4 2.52 11.82 300-450 0.75-1.00 860 9 408 24.8 -0.72 -0.53 -0.19 0.205 0.453 15.94 11.27 113.3 2.54 13.32 300-450 1.00-1.50 10681 99 402 25.0 -0.87 0.26 -0.07 0.191 0.385 16.38 11.60 114.8 2.59 12.03 300-450 >=1.50 1 0 312 22.0 -7.39 22.61 -3.06 -3.062 -3.217 30.00 nan 163.1 3.31 0.00 range 450+ (enemy energy >= 5) cell n excl range flt reqL appL capt capSlp capLin |err| +/- |err|px tol hit% ------------------------------------------------------------------------------------------------------------------------- 450+ <0.50 4 0 519 26.8 -1.51 -11.72 -5.43 -3.021 -1.809 26.98 6.38 247.2 2.00 0.00 450+ 0.50-0.75 11882 137 535 29.5 0.31 -0.21 0.16 0.154 0.312 13.97 9.96 130.3 1.95 10.39 450+ 0.75-1.00 2377 28 540 31.6 0.47 -0.45 0.01 0.127 0.275 14.94 10.41 140.7 1.93 9.60 450+ 1.00-1.50 20101 230 534 32.0 0.04 -0.71 0.18 0.127 0.279 15.11 10.66 140.4 1.95 8.80 ==================================================================================================================================== RESPONSE CURVE -- do we move the aim in proportion to the required lead? ==================================================================================================================================== range 200-300 (deciles of required lead -> mean applied lead): required [ -46.11, -23.72] meanReq= -27.79 meanApp= -9.18 hit%=19.67 n= 123 required [ -23.71, -16.96] meanReq= -19.97 meanApp= -1.30 hit%=14.53 n= 124 required [ -16.83, -11.27] meanReq= -13.99 meanApp= -0.85 hit%=14.29 n= 124 required [ -11.23, -2.84] meanReq= -7.43 meanApp= 0.34 hit%=14.41 n= 124 required [ -2.76, 5.10] meanReq= 1.01 meanApp= 1.67 hit%= 9.24 n= 123 required [ 5.11, 13.22] meanReq= 9.12 meanApp= -3.36 hit%=14.88 n= 124 required [ 13.23, 23.92] meanReq= 18.32 meanApp= 3.04 hit%=11.76 n= 124 required [ 23.94, 45.18] meanReq= 27.20 meanApp= 12.55 hit%=29.41 n= 124 range 300-450 (deciles of required lead -> mean applied lead): required [ -28.84, -19.87] meanReq= -24.21 meanApp= -6.04 hit%=13.39 n= 2147 required [ -19.87, -13.44] meanReq= -16.43 meanApp= -0.20 hit%= 9.09 n= 2147 required [ -13.44, -7.81] meanReq= -10.63 meanApp= -0.19 hit%=10.22 n= 2147 required [ -7.80, -1.44] meanReq= -4.66 meanApp= -0.12 hit%=11.82 n= 2148 required [ -1.44, 5.26] meanReq= 1.83 meanApp= 0.34 hit%= 9.96 n= 2147 required [ 5.26, 12.33] meanReq= 8.84 meanApp= 0.39 hit%= 9.00 n= 2147 required [ 12.33, 20.39] meanReq= 16.05 meanApp= 0.44 hit%= 9.60 n= 2147 required [ 20.39, 28.98] meanReq= 24.76 meanApp= 8.54 hit%=21.20 n= 2148 range 450+ (deciles of required lead -> mean applied lead): required [ -28.60, -17.03] meanReq= -21.60 meanApp= -4.09 hit%= 9.27 n= 4557 required [ -17.03, -10.56] meanReq= -13.70 meanApp= -1.51 hit%= 7.92 n= 4557 required [ -10.56, -5.13] meanReq= -7.79 meanApp= -1.00 hit%=10.29 n= 4557 required [ -5.13, 0.00] meanReq= -2.51 meanApp= -0.55 hit%=10.08 n= 4557 required [ 0.00, 5.27] meanReq= 2.50 meanApp= 0.36 hit%= 9.95 n= 4557 required [ 5.27, 11.06] meanReq= 8.12 meanApp= -0.16 hit%= 8.75 n= 4557 required [ 11.06, 17.66] meanReq= 14.26 meanApp= 0.14 hit%= 7.22 n= 4557 required [ 17.66, 28.54] meanReq= 22.26 meanApp= 3.26 hit%= 9.69 n= 4558 ==================================================================================================================================== DIRECT ANSWER -- does capture degrade with range / power? ==================================================================================================================================== range band n capSlp capLin us/lin medcap |req| |app| |err|px tol |err|/tol hit% 0-100 27 0.401 0.597 0.67 0.450 24.77 13.38 23.2 13.01 1.27 44.00 100-200 274 0.391 0.600 0.65 0.442 20.21 16.95 50.1 6.57 2.70 25.28 200-300 990 0.246 0.428 0.58 0.238 15.71 13.84 75.8 3.99 4.17 16.04 300-450 17178 0.198 0.404 0.49 0.174 13.46 13.09 112.9 2.56 6.23 11.79 450+ 36457 0.135 0.291 0.46 0.120 11.59 11.43 137.0 1.95 7.54 9.14 (capSlp = our proportional lead capture; capLin = naive linear predictor control; us/lin = our capture / the trivial-predictor ceiling; |req|/|app| = mean ABSOLUTE lead magnitude in deg; |err|/tol = mean lead error px / 18px) POWER WITHIN 450+ BAND, enemy energy >= 5 (removes the endgame confound): power <0.50 n= 4 meanP= 0.10 meanRange= 519 capSlp=-3.021 capLin=-1.809 |err|px= 247.2 hit%= 0.00 power 0.50-0.75 n= 11882 meanP= 0.53 meanRange= 535 capSlp= 0.154 capLin= 0.312 |err|px= 130.3 hit%=10.39 power 0.75-1.00 n= 2377 meanP= 0.87 meanRange= 540 capSlp= 0.127 capLin= 0.275 |err|px= 140.7 hit%= 9.60 power 1.00-1.50 n= 20101 meanP= 1.00 meanRange= 534 capSlp= 0.127 capLin= 0.279 |err|px= 140.4 hit%= 8.80 ==================================================================================================================================== ROBUSTNESS CROSS-CHECK -- powtest corpus (35 runs, 24277 shots, DIFFERENT binary) ==================================================================================================================================== by range band (powtest) cell n excl range flt reqL appL capt capSlp capLin |err| +/- |err|px tol hit% ------------------------------------------------------------------------------------------------------------------------- 0-100 6 0 91 11.2 -6.18 -0.00 0.60 0.529 0.496 14.10 10.10 20.8 11.38 60.00 100-200 83 0 170 15.8 -3.28 -2.27 0.89 0.354 0.470 19.49 14.92 58.1 6.16 23.46 200-300 442 3 260 17.6 -2.70 0.80 -0.02 0.283 0.380 16.47 11.92 74.2 4.01 16.55 300-450 9843 102 405 24.9 -1.13 0.09 0.05 0.219 0.417 16.12 11.52 114.1 2.56 11.90 450+ 13903 143 525 30.9 0.12 -0.88 0.18 0.136 0.301 15.14 10.80 138.6 1.98 9.24 [json] wrote common_libs/tests/fixtures/lead_capture_by_range_results.json