48 lines
2.9 KiB
Plaintext
48 lines
2.9 KiB
Plaintext
# ─────────────────────────────────────────────────────────────────────────────
|
||
# arms_movement_b3.txt — BATCH 3 of the movement campaign: the REVERSAL/DWELL
|
||
# TIMING of the strafe picker, plus the picker's hedge geometry.
|
||
#
|
||
# Prior data this batch is built on (docs/movement_campaign.md §3–§5, MEASURED
|
||
# on the frozen panel across two independent sessions):
|
||
# * `TR_MOVEMENT=strafe` BEATS the shipped `tfil` on round wins (+0.33…+0.58
|
||
# wins/run, all four 95% CIs excluding 0, 9/9…11/12 decisive opponents).
|
||
# * It wins by SURVIVAL: incoming hit rate 12.1–12.5% vs tfil's 17.6–18.2%,
|
||
# ~50 less damage taken/run, with NO detectable damage cost.
|
||
# * The RANGE knob is NOT the lever (Batch 2: none/250/600 made no separable
|
||
# difference). The untouched axis is the picker ITSELF.
|
||
#
|
||
# The strafe engine flips the SIGN of `setForward` (a free reversal) and keeps
|
||
# each sign for `rand(DWELL_MIN..DWELL_MAX)` ticks. That dwell IS the reversal
|
||
# period, so it is the most likely remaining lever: the whole design premise is
|
||
# "movement is about WHEN to flip direction".
|
||
#
|
||
# REFERENCE is `strafe` (current defaults), NOT `tfil` — every delta is
|
||
# (arm − strafe). `tfil` is kept as the shipped control for cross-batch
|
||
# calibration.
|
||
#
|
||
# Format: name | ENV=value ENV=value | label
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
|
||
# 1. the reference: current strafe defaults (dwell 6-20, spread 1, reach 144)
|
||
strafe | TR_MOVEMENT=strafe | reference — current strafe defaults
|
||
|
||
# 2. the shipped control (no env): lets this session be calibrated against
|
||
# Batches 1-2 and shows the strafe-over-tfil effect again.
|
||
tfil | | shipped control (movement engine tfil, every knob at default)
|
||
|
||
# 3. FAST FLIP: reversal every ~5 ticks (dwell 2-8) instead of ~13.
|
||
# Predicts LOWER incoming hit rate (each direction is exposed for less time)
|
||
# but a less stable perpendicular line.
|
||
fast_flip | TR_MOVEMENT=strafe TR_STRAFE_DWELL_MIN=2 TR_STRAFE_DWELL_MAX=8 | reversal every ~5 ticks
|
||
|
||
# 4. SLOW FLIP: reversal every ~26 ticks (dwell 12-40). The opposite extreme:
|
||
# predicts HIGHER incoming hit rate (a pattern gun gets a longer straight run
|
||
# to learn) and worse survival.
|
||
slow_flip | TR_MOVEMENT=strafe TR_STRAFE_DWELL_MIN=12 TR_STRAFE_DWELL_MAX=40 | reversal every ~26 ticks
|
||
|
||
# 5. WIDE SPREAD: perpendicular jitter ±2 tiles and a 216px reach (vs ±1 / 144).
|
||
wide_spread | TR_MOVEMENT=strafe TR_STRAFE_SPREAD=2 TR_STRAFE_REACH=216 | wider hedge (±2 tiles, 216px reach)
|
||
|
||
# 6. NARROW: no perpendicular jitter and a 108px reach (vs ±1 / 144).
|
||
narrow | TR_MOVEMENT=strafe TR_STRAFE_SPREAD=0 TR_STRAFE_REACH=108 | no hedge, short 108px reach
|