Case study · Angry Birds Fury Road
Designing an Arcade Racer
A racer that builds every track at runtime. I tuned the karts, abilities, scoring and AI running on it.
The game
Angry Birds Fury Road is an arcade-style racer Exient built for motion cabinets and PC, in partnership with DOF Robotics.
- Role
- Game Designer
- Date
- 2023 – 2025
- Skills
- Level Design
- Content Design
- Game Balancing
- Procedural Content Design
- Documentation
- Collaboration
- Tools
- Unity
- Figma
- Google Sheets
The challenge
The player is a stranger who just paid to sit in a motion cabinet in a shopping mall, with one race to work out what the game wants. How do you make a track nobody has driven readable in seconds, and keep the fight fair when the difficulty system hasn’t seen it either?
Dressing the Track
The generator came with the project. The Lead Designer who started it specified how a race assembles itself at runtime: it picks one of four themes, derives a track length from the race duration and the karts’ average velocity, then distributes ramps, boosters and obstacles across the sections, weighted to that theme and varied at random. Forest sections favour wooden crates, ice sections introduce surfaces that change handling. When the Lead left partway through, I took the project over. The rest of this is what I built on top of it.
Every destructible is defined by two numbers: how many hits to break and damage points awarded. A single-hit crate pays minor points, a three-hit Piggy Totem pays out substantially. I specified the larger structures by material, theme and size, using Angry Birds 2 as my reference, and catalogued 44 so the generator never ran short of options.
A Question Mark Crate runs a 1.5-second roulette that lands on one of seven power-ups: a homing rocket, a blinding tornado, a mine and TNT on a fuse among them. They all resolve into the same daze, briefly slowing whoever it catches, which is what keeps the game readable at arcade pace. Boosters do the opposite, placed before jumps and near destructibles so the player picks between speed and score.
Balancing the Fight
Eight birds, eight driving feels. Each kart is defined by acceleration, steering, drift and top speed, and the stats on the selection screen have to match how the kart behaves. Abilities are fuelled by Eggnergizers, and I pegged the balance on the ratio of duration to charge cost: Stella’s Barrier runs 7 seconds for 10 pickups, Bomb’s Eruption costs 30. I documented balancing guidance beside each number so Code had a direction to iterate in, because on a track that changes every run you find the right number by playing.
Damage is what the game scores. The session goes to the highest cumulative damage after the final race, so a player who drives untidily but wrecks brilliantly can still take it. A combo multiplier rewards sustained aggression: 10 destructibles to step it up, 3 seconds before it lapses, a x3 cap. Those numbers set how densely the track has to be dressed, because a combo threshold is only fair if the generator puts enough breakables within reach.
Most of the eight-kart grid is AI, and its driving profiles were already in place: Normal in range, Rear when chasing from behind, Front when leading, so the race stays competitive around the player instead of off-screen. What I tuned was the difficulty. Four profiles scale as the session progresses, and I set their target scores from the damage each generated track actually held rather than a flat number. It’s the only way the curve stays consistent when no two tracks are alike.
Designing for the Cabinet
In an arcade, nobody stands by to resolve ambiguous states. Every timer needs a defined default, every screen a way out that doesn’t require player knowledge. I mapped the whole cabinet flow with a UX designer: the attract loop and Pay To Start prompt, the seatbelt confirmation the motion pod requires, mode select defaulting to Single Player after 30 seconds, character select with fallbacks for players who never lock in.
The same thinking shaped the controls. There is no accelerator; the karts drive themselves. The player gets the wheel and two buttons: A charges a slingshot launch at the line and fires the character ability once Eggnergizers have filled it, B throws whatever power-up they’re holding. Nothing to learn, and one job: aiming at things worth breaking. A session is four races with only the top finishers advancing, giving it an arc even for players who never win.
Multiplayer runs across four adjacent cabinets. Players who finish early spectate the human racers rather than the AI, keeping odd bot behaviour off-screen, and a QR code sends everyone to an online leaderboard.
What Shipped
Angry Birds Fury Road shipped as a full motion-cabinet product: eight characters, four procedurally generated environments, single-player and four-cabinet multiplayer, running at 4K on a three-axis motion platform with wind effects and haptics. It debuted at IAAPA 2024 in Orlando, and DOF Robotics began rolling it out globally the following year, into theme parks, shopping malls and cruise ships.
The generator can build a track nobody’s driven before, but only because the damage scoring gives a stranger something to aim at immediately and the difficulty scales to what it produced. Procedural content wasn’t the hard part. Getting an unseen track readable in thirty seconds was.
The cabinet is out in the world.