WARBIRDS.IO Dev Log

← All posts

Two thumbs, the whole war: a mobile playability pass

A player summed it up kindly: “great and ambitious, but the flight handling could be easier to control, and the UI/UX on mobile could be clearer.” Both are fair. We spent a phone in landscape with it and came back with a fix for the feel and a declutter for the screen.

The plane was fighting your thumb

Warbirds flies on a real six-degree-of-freedom model with a genuine stall, and on touch your thumb drives the same mouse-aim assist mouse players use. The problem: that assist mapped a full thumb deflection straight to full elevator. At combat speed, one flick of the stick pulled 6 G and departed into a stall inside a second. New pilots over-pulled, stalled, and spun in — on a phone, at night, into the scenery. That’s the “hard to control” complaint, and it was a design bug, not the player.

War-Thunder-style mouse aim solves this with an instructor that respects the airframe’s limits. We had the aim; we didn’t have the instructor.

So we added one. The flight model already computes angle of attack and load factor every frame for the G-meter and the stall buffet, so we let the assist read them: as the wing nears its stall angle or the pilot nears a 6 G ceiling, a pull command tapers off. Hold the stick all the way over now and it commands “turn as hard as the plane safely can” — the airframe rides its best sustained turn at ~5–6 G instead of snapping into a departure. Push commands are untouched (you can always unload), and the expert escape hatch stays: keyboard pitch still commands the full stall, so you can wring it out on purpose. The physics didn’t change — our server-and-browser parity check still passes byte-for-byte — only how much of the elevator your thumb is allowed to slam down at once.

The mobile HUD in flight: a gold virtual stick anchored under the left thumb, a THR 100 throttle slider, the flight-data gauges with the G-meter reading 4.2 in a hard turn, an AP button under the minimap, FIRE and BOMB buttons, a bright gold aim cursor, and blue off-screen enemy markers hugging the top, left and bottom edges
Full deflection, a hard turn, no stall banner — the instructor holds the plane at its best turn instead of departing. The gold cursor is where you’re pointing the plane; the edge markers point at bandits off-screen.

We also widened the stick’s fine-control band (more travel, a gentler curve, a small deadzone so a resting thumb flies straight), gave the throttle a live THR % readout with full/idle detents, and added a PULL UP warning that samples the terrain ahead and flashes before you fly into a ridge in the dark.

The screen was shouting over itself

On a 390-pixel-tall phone, the desktop HUD was elbowing itself: the autopilot pill sat on top of the minimap, the throttle label collided with the gauge stack, and the kill feed marched right through the band of sky where enemies appear. Worse, when you died the scoreboard and every flight gauge kept painting over the respawn card. So we cleared the deck: the AP button moved below the minimap, the kill feed became a tidy three-line column tucked under it, and while the join or respawn card is up the flight HUD behind it simply hides — the killcam has already played, so there’s nothing back there worth seeing.

Seeing the fight you can’t see

A phone’s field of view is narrow, and the moment a bandit slides off the edge he’s gone. So enemies within range that leave the frame now get a team-coloured arrow that hugs the screen edge and points at them, fading with distance — the single biggest awareness win on a small screen. The projection reuses scratch vectors and allocates nothing per frame, and it’s a data path desktop simply hides, since desktop has freelook and a big minimap already.

And because the best time to teach the controls is the first second you hold them, a first-flight coach now labels each zone — STEER, DRAG TO LOOK, THROTTLE — and each label fades the instant you use that control. Have a rough start and lose two planes early, and Flight School taps you on the shoulder once.

A first-flight spawn on touch with three ghosted coach labels over the live control zones: STEER with a curved thumb-arc glyph on the left, DRAG TO LOOK on the right, and THROTTLE beside the left-edge slider
Your first spawn on a phone: the controls name themselves, then bow out the moment you use them.

None of it touches desktop, and none of it touches the flight model. The plane you’re flying is exactly as honest as it was — it just stopped fighting your thumb, and the screen stopped fighting the plane.