7d3645da5a
Same frozen panel, same 3x3 design, new session on commit8efa627(no source file changed since1984a78, so the same code), 225 battles, 0 invalid runs. Arms: tfil, strafe_notilt, strafe_325 + the tilt re-armed at 600px and 250px. Paired vs tfil: strafe_325 +0.58 wins/run [CI +0.27,+0.89] 11/12 p=0.0063; strafe_notilt +0.47 [+0.22,+0.72] 10/11 p=0.0117; tilt_600 +0.40 [+0.04,+0.76] (sign test 8/11 p=0.23, sign-flip p=0.049); tilt_250 +0.38 [+0.07,+0.69] 10/12 p=0.039. Incoming hit rate -5.2..-6.9 pp with 0/15 opponents favouring tfil. The range TARGET is not the lever: re-arming the tilt moved the achieved distance from 459px (no steering) to 478px and 415px, and none of the three is separable on wins. This overturns Batch 1's reading that the tilt costs wins - the honest statement is that the tilt's win effect is below this design's resolution. tfil reproduced to within 1.4 pp (40.7% -> 39.3% of rounds), so the baseline itself is stable across sessions. Ledger: Batch 2 section, the verbatim analyzer report, a data-driven what-to-try-next, and the session log.
26 lines
1.7 KiB
Plaintext
26 lines
1.7 KiB
Plaintext
# ─────────────────────────────────────────────────────────────────────────────
|
|
# arms_movement_b2.txt — BATCH 2: the range axis ON THE WINNING ENGINE.
|
|
#
|
|
# Batch 1 (docs/movement_campaign.md) found that pure perpendicular strafe with
|
|
# the range tilt DISABLED (`strafe_notilt`) beats the shipped `tfil` on round
|
|
# wins across the frozen panel: Δwins/run +0.38 (9/9 decisive opponents,
|
|
# p=0.0039) with no detectable damage cost, and it does so while fighting
|
|
# FARTHER away (456 px vs tfil's 382). The shipped `tfil` came last of five arms
|
|
# on wins. This batch asks the obvious next question:
|
|
#
|
|
# does the range the mover ends up at drive the win, or is the tilt MECHANISM
|
|
# itself the cost?
|
|
#
|
|
# `strafe_notilt` has no range control at all and drifts to ~456 px. Re-arming
|
|
# the tilt with a target FAR (600) and NEAR (250) around that emergent 456
|
|
# separates "range value" from "tilt present".
|
|
#
|
|
# Format: name | ENV=value ENV=value | label
|
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
tfil | | shipped baseline, re-measured in this session (replication)
|
|
strafe_notilt | TR_MOVEMENT=strafe TR_STRAFE_RANGE_TOL=999999 | Batch-1 winner, replication
|
|
strafe_325 | TR_MOVEMENT=strafe | strafe default (range 325), replication
|
|
tilt_600 | TR_MOVEMENT=strafe TR_STRAFE_RANGE=600 | tilt ON, target 600 (farther than the emergent 456)
|
|
tilt_250 | TR_MOVEMENT=strafe TR_STRAFE_RANGE=250 | tilt ON, target 250 (much nearer than the emergent 456)
|