WARBIRDS.IO Dev Log

← All posts

The damper that taxed the turn

The porpoise damper shipped, the pull-up stopped humping, and two days later the field reports came back: “turns are too wide — the jets need to be a little more maneuverable” and “roll and pull toward lift just keeps rolling instead of pulling through the turn.” Both were the truth. The first one was the porpoise fix's own invoice.

The jets finally get their own fence

The touch-feel probe that guards the WW2 fleet's handling never flew a jet — the jets roster lives in its own era block, and the probe looped over the base list. So the era where the instructor's prop-tuned assumptions crack — twice the speed, four times the dynamic pressure — was exactly the era with no regression fence. tools/jet_feel_probe.mjs fixes that: it drives the real client control chains (thumb stick, mouse aim, raw keyboard) through the real flight model for every jet and prints the dogfight vocabulary as numbers — sustained turn rate, the G it actually rides, turn radius, a porpoise-meter, and the roll-through gates from both sides.

Exhibit one: a 6 g fighter turning at 3.9 g

The Balalaika's maximum-effort turn — stick to the rim, full pull, fourteen seconds — sustained 13.3°/s on a 714 m radius, riding 3.9 g of the 6 g the instructor advertises. A full loop pull got 3.6 g. Where did a third of the turn go? Into the porpoise damper. jetLead eases the elevator while the pitch rate is high, so the G stops arriving after the overshoot — but it read the RAW pitch rate, and a steady 6 g turn at 190 m/s legitimately carries 0.3 rad/s of pitch rate. The damper billed the turn about 2 g, every second, for rotating the way a turn is supposed to rotate.

The fix keeps the damper and corrects the bill: the pitch rate the current G at the current speed already explains (nz·g/V) is the turn, and only rotation outrunning that — the porpoise's actual signature — pays the tax. Entry damping barely changes (at 1 g the allowance is a rounding error), the hump stays dead in the porpoise-meter, and the sustained turn gets its G back.

Exhibit two: the carve that read as a slam

The roll report reproduced instantly in the probe: a thumb at the rim 30° above sideways, pulling toward lift — the oblique carve, a turn that isn't on the horizon's axis — and the Balalaika snap-rolled continuously for eight seconds (minUp −1.0, a tumble at −4 g) instead of biting. The roll-through gate that lets a rim slam roll to inverted was fully open at 30° off horizontal on both sides of the axis, and the pull-releases veto didn't engage until 37°. Between those angles a deliberate bank-and-yank read as “roll forever.”

But an honest slam arcing 25° high and a deliberate 30° carve are five degrees apart, so the boundary has to be sharp and it has to be asymmetric: nobody carves downward. The gate now weighs pull-side deflection 1.3× against its direction cone with a steep ramp — pulling toward lift, the roll-through door closes between 27° and 29°; drifting low, it stays open to 37° as before. The probe fences both: the 25° slams (both drifts) still roll clean through inverted, and the 30° carve now captures its bank and turns at full rate.

Exhibit three: rolls pinned against the safety rail

The “roll seems to snap too easily” half of the report had a number too: at combat speed the Starfang and Balalaika hit 344°/s of roll — which is not a tuned value, it's the integrator's hard 6 rad/s stability clamp. The airframes' roll damping was set at prop-era values, and at jet dynamic pressure the ailerons simply out-ran it to the rail. The jets now carry the roll damping their speed demands (clRollRate −0.33 → −0.75 on the Balalaika, similar on the Starfang, a touch on the Rhino), which caps combat-speed rolls around 230–270°/s — still emphatically a jet, no longer a coin flip.

While the wing was open: the instructor refuses to fly the last 15% to the stall, and the Balalaika's shallow lift slope meant that refusal capped it at CL 1.16 — wasting the wing. Lift slopes and stall margins across the jet roster are now aligned so the wing can deliver its maximum inside the margin the instructor will actually use. The WW2 roster — including the kill-gated WW2 Starfang, which is balanced against props and pinned by the golden test — is untouched.

Before and after, maximum-effort turn

Same probe, same fourteen-second maximum-effort turn, sustained (second-half) numbers:

Balalaika — thumb: 13.3°/s @ 714 m → 15.8°/s @ 509 m; mouse: 15.4°/s @ 647 m → 21.6°/s @ 408 m.
Starfang — thumb: 13.3°/s @ 718 m → 14.7°/s @ 606 m; mouse: 13.8°/s @ 777 m → 19.1°/s @ 494 m.
Rhino — thumb: 13.6°/s @ 696 m → 16.3°/s @ 498 m; mouse: 15.4°/s @ 655 m → 20.9°/s @ 434 m.

The pecking order holds — the Balalaika out-knives the Starfang, the Starfang keeps its energy — everything just bites the way a jet on the edge of its envelope should. And the live-client playtest agrees with the probe: a real headless Chromium thumb holding the 30° diagonal carved at 81° of bank, 16.2°/s, zero inverted passes, then slammed the rim flat and rolled through inverted twice in four seconds. The porpoise-meter stayed clean through a five-second maximum pull on every jet.

And the missiles write in the sky

Third report, smallest fix, biggest visual: heat-seekers flew as a dark dart with a short glow — at a kilometer they were functionally invisible, which wasted the era's best drama and its fairest warning. Every missile in flight now lays a fat white motor-smoke rope through the contrail pool: it billows as it ages and drifts on the wind, so a launch is legible from across the valley. The trail IS the counterplay — you rarely see the missile, you see the finger pointing at whoever it's chasing, with time to break and drop flares. The land theater's wire-guided missiles inherit the same rope.

The combat photographer's death-seat view over the Brick Gulf at dusk: a salvo of sea-skimming missiles streaks the water with long white smoke ropes, a warship dark on the right, the ropes drifting and widening as they age

Confession

The wide turns were self-inflicted: the porpoise damper from two days ago was measured against pull-ups — rate non-negative, hold pinned, obedience suite green — and never against a sustained turn, because the probe that would have asked that question didn't include the jets. The damper passed every test it was given and quietly taxed the one maneuver it wasn't. The jet-feel probe now asks both questions of every jet, so the next damper pays for overshoot and only overshoot.