re: quantify why the OB kill test keeps failing -- attackers are damaged, not missed
Fourth Stage 02 run: 520s of pilot with SYLPH_PREFER=e010 (198 fire=1), per-class counts every 10s, OB+TIME throughout. ARRIVAL TIMING n=4: 008 first at 02:05.00 (step bracket contains 120), 012 first at 03:45.47 (bracket contains 210), then 012 held 3.5 more minutes with no fall and no 016. THE BLOCKER IS MEASURED, and it is not aim. Reading hull at pos+0x154 for every live e010 at the end: 14 of 16 are damaged, hulls 360..500, lowest 360/500 = 28% gone. The shots land; they just do not finish. A kill needs roughly 3-4x longer on one target than ~8 minutes of combat produced. The contrast with the control shows the mechanism is hit points: e007 turrets (HP 100) lost ~9 dead, 106 -> 97 live, while e010 attackers (HP 500) lost none and the floor never moved off 16. Decrement therefore still unproven after four runs, and "fly longer" is not a fix since ~half of runs end early. Options recorded for a redesign: point the pilot at the WEAKEST attacker (hull is readable per entity; one is at 360/500), use missiles (never deliberately fired), or wait on a scripted kill.
This commit is contained in:
BIN
docs/re/captures/ob-fourth-run-timeline.png
Normal file
BIN
docs/re/captures/ob-fourth-run-timeline.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 540 KiB |
@@ -400,3 +400,59 @@ effectiveness, not instrumentation — `pilot-never-fires.md` and the
|
||||
because turrets are nearer and far more numerous. ❔ Options not yet tried:
|
||||
pick a lone attacker while the squadron is still inbound, or wait for the
|
||||
wingmen/ACROPOLIS guns to kill one (which counts just as well).
|
||||
|
||||
---
|
||||
|
||||
# 2026-08-27 (fourth run) — why the kill test keeps failing, quantified
|
||||
|
||||
520 s of `pilot.py` with `SYLPH_PREFER=e010` (198 `fire=1`), per-class counts
|
||||
every 10 s, OB+TIME sampled throughout
|
||||
([capture](captures/ob-fourth-run-timeline.png)).
|
||||
|
||||
## ✅ Arrival timing, n=4
|
||||
|
||||
`008` first at **02:05.00** (step ∈ (111.1 s, 125.0 s] ∋ **120**); `012` first at
|
||||
**03:45.47** (step ∈ (209.7 s, 225.5 s] ∋ **210**); `012` then held for a further
|
||||
**3.5 minutes** to 07:07.21 — no fall, no `016`.
|
||||
|
||||
## ✅ The blocker is a DAMAGE RATE, and it is now measured
|
||||
|
||||
The obvious reading of four failed runs is "the pilot cannot hit attackers". That
|
||||
is **wrong**. Reading `hull` at `pos+0x154` for every live `e010` at the end of
|
||||
the run:
|
||||
|
||||
```
|
||||
live e010: 16
|
||||
hulls: 360 365 395 405 407 410 420 445 470 475 480 490 495 495 500 500
|
||||
damaged: 14 of 16 ; lowest 360/500 = 28 % gone
|
||||
```
|
||||
|
||||
**Fourteen of sixteen marked attackers are damaged.** The shots land. What they
|
||||
do not do is finish: after ~8 minutes of combat the worst-hurt attacker has lost
|
||||
28 % of its hull, so a kill needs roughly **3–4× longer on a single target**.
|
||||
|
||||
The contrast with the control makes the mechanism plain — it is simply hit points:
|
||||
|
||||
| class | HP | deaths this run | live-count change |
|
||||
|---|---|---|---|
|
||||
| `UN_e007_ADAN_Turret` | **100** | ~9 | 106 → 97 |
|
||||
| `UN_e010_ADAN_Attacker_S` | **500** | **0** | 16 → 16 (floor never moved) |
|
||||
|
||||
Turrets die because they have a fifth of the hull; attackers absorb everything
|
||||
the player, the wingmen and the ACROPOLIS's guns produce in a run and survive.
|
||||
|
||||
## 🟡 So the decrement remains unproven after four runs — and the test needs redesigning
|
||||
|
||||
The `e010` floor has never once dropped, so the counter has never had the chance
|
||||
to decrement, and its stillness continues to say nothing about the claim. But the
|
||||
reason is no longer mysterious, and "fly longer" is not a fix: ~half of Stage 02
|
||||
runs end early, so a 30-minute engagement on one target is not reachable.
|
||||
|
||||
❔ Options for a next attempt, none tried:
|
||||
* **Concentrate on an already-damaged attacker** — one is at 360/500, and hull is
|
||||
readable per entity, so the pilot could be pointed at the weakest rather than
|
||||
the nearest.
|
||||
* **Missiles.** The pilot logs a missile counter (`msl=73` in an earlier run) and
|
||||
they were never deliberately used.
|
||||
* **Accept it as a long-run experiment** and check the counter after a scripted
|
||||
event kills an attacker, rather than trying to force one.
|
||||
|
||||
Reference in New Issue
Block a user