Old Save Files · 2026-10-13

The bucket test

"You can't fix feel through a programmer who is busy shipping the rest of the game."

Crimson Skies (Xbox, 2003)Microsoft Game Studios, early 2000s

Crimson Skies was one of the first games I ever worked on. The team had built combat flight sims for years and wanted this one to land with action-adventure players. Everyone in the building played it like a sim. Nobody outside the building did.

If you played it like an action game, it wasn't fun. Your plane felt slow. Turning and aiming felt like arguing with the stick. You got killed by enemies you never saw.

The camera had an extra problem. In the usability lab, people got so motion sick that they stopped the session and walked out. I started counting them. I called it the bucket test. The metric was how many people had to leave the room.

The fix wasn't a mystery. The problem was the speed of the fix. Every tiny adjustment to how aiming and turning felt had to go through the lead engineer, who was busy with everything else. So I asked for one thing: break the feel numbers out into a script file I could hand-edit, and hot-swap it while a player was in the chair. We tuned it live, person by person.

Two things came out of that. Off-screen fire got much less lethal, so you could see and hear it before you took damage. And damage moved onto the wings as explosions, because nobody looks at a gauge in the top left while they're being shot at.

The bigger thing came after. Because the controls worked, the team trusted us with the rest: boss fights, the onboarding, mission balance, matchmaking on a very early Xbox Live. Late in the project a friend and I added a mode on a weekend. Capture the Chicken. It shipped. It would never have made it in if people hadn't already seen that we could make something fun before it was too late to change.

The decision I'd make again: put the feel in a file, not in a programmer's queue. I still make that call, twenty years on, just with different files.

Draft · under review Source: Told at a conference talk, September 2026

← All stories