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.
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.
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.