Files
SirRoboGarage/tools/ab/arms_movement_b3.txt

48 lines
2.9 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ─────────────────────────────────────────────────────────────────────────────
# 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