45 lines
3.0 KiB
Plaintext
45 lines
3.0 KiB
Plaintext
# ─────────────────────────────────────────────────────────────────────────────
|
|
# arms_movement_b1.txt — BATCH 1 of the movement campaign: isolate the
|
|
# RANGE / AGGRESSION axis. Five arms, ONE frozen binary, env vars only.
|
|
#
|
|
# Format: name | ENV=value ENV=value | label
|
|
#
|
|
# Prior data this batch is built on (all DrussGT-only, all MEASURED):
|
|
# * shipped `tfil` 293 dmg/run, 45/105 round wins, 10.40% incoming hit rate
|
|
# * `strafe` (range 325) 250 dmg/run, 37/105 wins, 9.40% incoming -> best
|
|
# dodger, fewest wins: the 325px range preference may COST wins
|
|
# * j107: drifting 25-30 px closer made damage AND wins worse, so "get
|
|
# closer" is not the lever by itself
|
|
# This batch closes the caveat that all of that is DrussGT-only and decomposes
|
|
# the range-steering lever from the engine.
|
|
# ─────────────────────────────────────────────────────────────────────────────
|
|
|
|
# 1. the arm to beat: shipped default, no env at all
|
|
tfil | | shipped baseline (movement engine tfil, every knob at its default)
|
|
|
|
# 2. pure perpendicular strafe with the range steering DISABLED: tilt is zero
|
|
# whenever |dist - StrafeRange| <= TOL, so a huge TOL makes `tilt` provably
|
|
# 0 every tick (and the approach-direction branch that depends on tiltMag is
|
|
# skipped). This isolates the COST of the 325px preference: same engine, same
|
|
# wall logic, no range steering at all.
|
|
strafe_notilt | TR_MOVEMENT=strafe TR_STRAFE_RANGE_TOL=999999 | strafe, range steering OFF (tilt always 0)
|
|
|
|
# 3. the current strafe default: range 325, tol 25, tilt max 15, gain 0.10
|
|
strafe_325 | TR_MOVEMENT=strafe | strafe default (range 325, tol 25, tilt 15/0.10)
|
|
|
|
# 4. the owner's own retuned mover: tfil semantics + retuned heat field
|
|
# (CorridorHeat 10 = the safety threshold, WallHotness 15, WallRadiance 5,
|
|
# BulletCore/Aura 20/10, commit 5 ticks) + range-weighted tile draw
|
|
# (band 100-200, temp 0.4, K 60). Range steering ON, different heat field.
|
|
ring | TR_MOVEMENT=tfil_ring | tfil_ring (retuned heat field + range weighting 100-200)
|
|
|
|
# 5. the control for arm 4: TR_TFIL_RANGE_TEMP=0 makes the tile draw UNIFORM
|
|
# again (the documented OFF path), so arm 5 = the retuned heat field with NO
|
|
# range steering. (4) - (5) is therefore the range-weighting lever alone, on
|
|
# a heat field that is already retuned. NOTE: there is no env knob for the
|
|
# heat constants of the SHIPPED tfil mover (CorridorHeat/WallHotness are
|
|
# Nim `const` there, only REPORTED by env_report.nim), so the suggested
|
|
# "tfil with less saturated heat" arm cannot be built without a rebuild,
|
|
# which this campaign forbids. This is the honest substitute.
|
|
ring_notemp | TR_MOVEMENT=tfil_ring TR_TFIL_RANGE_TEMP=0 | tfil_ring, range weighting OFF (temp 0)
|