Saturday, 25 July 2026devblog

A stadium, and two and a half times the framerate

Dropped a full 3D ground into the match engine: floodlights, stands, dugouts. The twist is that the game got prettier and started running 2.5 times faster on the same night.

PRETTIERAND FASTER

Play Strikers has a stadium now. Floodlights, stands, dugouts, the lot. It finally looks like a match. The twist: the game got prettier and started running two and a half times faster.

The stadium dropped in almost effortlessly, and that is not luck. My pitch is one source of truth: out-of-bounds, offside, the 18-yard boxes, keeper positions all read the same config the white lines are drawn from. So I swapped the pitch and the AI just believed the new one. No rewrites.

Then I checked performance and found the real story. The game was secretly rendering at 3200 by 1800, a 125 percent resolution scale. I was paying for a third more pixels than my screen has and could not see a single one of them. Dropped it to native 1440p:

  • 34.8 ms per frame became 13.7 ms.
  • Roughly 29 fps became roughly 73 fps.

One setting. Zero features cut. No visual downgrade.

It also killed a fear I had been carrying. I was sure my 22-player match AI was the bottleneck and was bracing to rewrite the whole thing. The profiler said the AI was ten milliseconds and totally fine. The GPU was the ceiling, and resolution was ninety percent of it.

The lesson, if you take one thing: profile before you optimise anything. I nearly rebuilt my entire AI system to fix a problem that turned out to be a resolution slider.

Shipped: full 3D stadium · broadcast camera pulled back · native resolution