← BACK TO PROJECTS

FIG. 06 · NO BRAKES: TRAFFIC RUSH · IPHONE AND IPAD

no brakes: traffic rush

a vehicle-dynamics game for iphone and ipad: a tyre model, rigid-body crashes, synthesized engines and physically based light, at up to 120 frames a second on a phone.

SCROLL TO DRIVE ↓

no brakes is an arcade driving game i made for iphone and ipad. you hold a car at full throttle through rush-hour traffic with no brake pedal, and survive by reading gaps, skimming bumpers and timing junctions. under the arcade it is a physics project: a tyre model with a magic-formula force curve, a power-and-drag powertrain in six real gears, rigid-body crashes, engines synthesized from their firing order, and headlights calibrated to the inverse-square law, all inside an 8.3 ms frame on a phone.

COMING SOON TO THEApp StoreSOON
FREE · NO ADS · NO IN-APP PURCHASES · IOS 17+
0
CARS IN 10 CLASSES
0
CAREER LEVELS IN 5 CHAPTERS
0
PLACES TO DRIVE
0 fps
FRAMES A SECOND ON IPAD PRO
0 Hz
PHYSICS STEPS A SECOND
0
GAME CENTER LEADERBOARDS
0
ACHIEVEMENTS
0
TRIANGLES IN THE CAR ABOVE

a test run

thirty seconds of a no brakes run on sunset blvd, recorded from the iphone simulator with the game’s own autopilot driving (the one i use to test levels). the score climbs with every near miss; the hourglass is the slow-motion meter.

TEST RUN · NO BRAKES MODE · SUNSET BLVD · AUTOPILOT · 30 S

four ways to drive

weaving through traffic at 225 km/h
NO BRAKES · ENDLESS, ON ANY OF 10 MAPS
police cars chasing at night
POLICE PURSUIT · BRAKES, NITRO, RISING HEAT
express run on a city road at sunset
EXPRESS RUN · ONE STREAMED WORLD
the career map
CAREER · 50 LEVELS, ONE RULE EACH
  • career: 50 levels in 5 chapters, easy to brutal, each with one rule stated in one sentence: reach the finish, survive a clock, outrun a chase, thread checkpoints, drive the wrong way, take a jump, keep a glass car unscratched.
  • no brakes: endless survival on the map of your choice; traffic thickens the longer you last, and your best run drives beside you as a ghost.
  • police pursuit: brakes and nitro this time. units chase and ram, roadblocks close lanes, and any contact is busted.
  • express run: one big streamed map of interstates, districts, coast roads, bridges and passes with no loading between them: drop-offs against the clock, cash to bank, and police who don’t like speeding.

FIG. 06.2 · WHAT’S IN THE GAME · SPLITTING LANES

LANE 1 · SLOWER TRAFFIC
no brakes · sunset blvd
NO BRAKES · SUNSET BLVD
devil's pass · sunset
DEVIL'S PASS · SUNSET
harbor bridge
HARBOR BRIDGE
snow on the road
SNOW ON THE ROAD
downtown · your best run's ghost
DOWNTOWN · YOUR BEST RUN'S GHOST
main menu · rooftop
MAIN MENU · ROOFTOP
garage · rims and calipers
GARAGE · RIMS AND CALIPERS
no brakes · sunset blvd
NO BRAKES · SUNSET BLVD
devil's pass · sunset
DEVIL'S PASS · SUNSET
harbor bridge
HARBOR BRIDGE
snow on the road
SNOW ON THE ROAD
downtown · your best run's ghost
DOWNTOWN · YOUR BEST RUN'S GHOST
main menu · rooftop
MAIN MENU · ROOFTOP
garage · rims and calipers
GARAGE · RIMS AND CALIPERS
LANE 2 · TRAFFIC
police pursuit · night
POLICE PURSUIT · NIGHT
rain · wet roads
RAIN · WET ROADS
pine pass · fog
PINE PASS · FOG
hollow ridge · airborne
HOLLOW RIDGE · AIRBORNE
pursuit · roadblock ahead
PURSUIT · ROADBLOCK AHEAD
pursuit lobby
PURSUIT LOBBY
career · 50 levels
CAREER · 50 LEVELS
police pursuit · night
POLICE PURSUIT · NIGHT
rain · wet roads
RAIN · WET ROADS
pine pass · fog
PINE PASS · FOG
hollow ridge · airborne
HOLLOW RIDGE · AIRBORNE
pursuit · roadblock ahead
PURSUIT · ROADBLOCK AHEAD
pursuit lobby
PURSUIT LOBBY
career · 50 levels
CAREER · 50 LEVELS
LANE 3 · ONCOMING
express run · the map
EXPRESS RUN · THE MAP
coastal cliff road
COASTAL CLIFF ROAD
skyway · insane pass
SKYWAY · INSANE PASS
express run · driving
EXPRESS RUN · DRIVING
a level's rule card
A LEVEL'S RULE CARD
achievements · cash prizes
ACHIEVEMENTS · CASH PRIZES
hud editor
HUD EDITOR
express run · the map
EXPRESS RUN · THE MAP
coastal cliff road
COASTAL CLIFF ROAD
skyway · insane pass
SKYWAY · INSANE PASS
express run · driving
EXPRESS RUN · DRIVING
a level's rule card
A LEVEL'S RULE CARD
achievements · cash prizes
ACHIEVEMENTS · CASH PRIZES
hud editor
HUD EDITOR

the garage: sixteen cars

sixteen cars in ten classes, voiced by eight synthesized engines, from a turbo four to a v10 and an electric motor. nine are free cc by models from sketchfab (credited in the game), the rest cc0 or built for it. every one went through the same pipeline: converted to the game’s compact model format, cleaned up by hand, and given a low-detail copy for slower phones.

ardent vx-r
01 / 16 · SPORTSARDENT VX-Rthe original. fast, loud, no brakes.
ardent kestrel
02 / 16 · SALOONARDENT KESTRELsporty street saloon
garrick brimstone
03 / 16 · MUSCLEGARRICK BRIMSTONEsupercharged four-door american muscle
haldern sechs s
04 / 16 · SPORTSHALDERN SECHS Srear-engined flat-six fastback
vollmark sturm cabrio
05 / 16 · SPORTSVOLLMARK STURM CABRIOtwin-turbo sports convertible
valtorre fendente
06 / 16 · SUPERCARVALTORRE FENDENTEmid-engined v10 wedge with a fixed wing
kaizora hayate
07 / 16 · JDMKAIZORA HAYATEtwin-turbo awd gt
lanzari deltra evo
08 / 16 · HOT HATCHLANZARI DELTRA EVOboxy turbo four-wheel-drive rally hatch
vollmark drei e3
09 / 16 · SALOONVOLLMARK DREI E3nineties straight-six sports coupe
garrick hellion
10 / 16 · MUSCLEGARRICK HELLIONwidebody supercharged v8 drag car
kaizora fairwind z
11 / 16 · JDMKAIZORA FAIRWIND Zretro-modern twin-turbo v6 coupe
kaizora skyvane rs-4
12 / 16 · JDMKAIZORA SKYVANE RS-4nineties twin-turbo straight-six
mercator 300 sg
13 / 16 · CLASSICMERCATOR 300 SGgull-winged fifties road racer
valtorre ursa
14 / 16 · SUVVALTORRE URSAtwin-turbo v8 super suv
ohmen model tre
15 / 16 · ELECTRICOHMEN MODEL TREsilent dual-motor electric saloon
kronsegg agira rs
16 / 16 · HYPERCARKRONSEGG AGIRA RStwin-turbo v8 hypercar, the one above
the garage body tab with a gt stripe livery
BODY · 19 LIVERIES, FITTED TO EACH CAR'S SHAPE
carbon fibre parts on the agira
CARBON · HOOD, ROOF, MIRRORS, WING, SPLITTER
the cabin tab, camera inside the car
CABIN · SEATS, STITCHING, TRIM, AMBIENT LIGHT
the tune tab with exhaust flames
TUNE · HORNS AND A FLAMES-AND-POPS EXHAUST

the engineering

a driving game is a dynamics simulation that has to feel right, run in real time and never lie in a way the player can feel. most of the work was mechanical engineering wearing a game’s clothes.

a car is a bicycle with a magic formula

the player car is a planar rigid body: a bicycle model (one tyre per axle) with real mass properties. lateral tyre force follows a pacejka-style magic formula of slip angle, and the vertical load on each axle shifts with longitudinal acceleration through the height of the centre of gravity, as it does in a real car.

parametervaluewhy it matters
mass · yaw inertia1,580 kg · 2,100 kg·m²how quickly it rotates into a turn
cg to front / rear axle1.32 m / 1.58 m54 % of the weight on the front at rest
cg height0.52 m1.4 kN shifts between axles at 0.5 g
tyre μ · B · C · E2.0 · 11 / 13 · 1.4 / 1.45 · 0.1front peaks at 11.4° of slip, rear at 8.7°
body roll springωn 9.2 rad/s · ζ 0.54a 1.5 Hz roll mode, slightly underdamped
wet · snow grip× 0.85 · × 0.72turning circle +15 % · +28 %
00.250.50.751051015202530SLIP ANGLE (DEG)FY / (MU · FZ)FRONT PEAK 11.4°REAR PEAK 8.7°FRONT · B 11 · C 1.40REAR · B 13 · C 1.45
FIG. 06.3 · LATERAL FORCE VS SLIP ANGLE, THE GAME'S MAGIC FORMULA (MU = 2.0 ON BOTH AXLES)

μ = 2.0 is about twice a road tyre. that is deliberate: a phone game has to answer a thumb faster than a real car answers a wheel. but the shape of the curve, a linear region, a peak, and a gentle fall past it, is what makes slides progressive and catchable instead of a switch between gripping and spinning.

power, drag, gears and top speed

drive force is the smaller of the traction limit (11.5 kN) and power over speed (420 kW / v); resistance is aerodynamic drag plus rolling resistance, 0.36·v² + 14·v newtons. below 131 km/h the car is traction-limited, above it power-limited. left to itself it would stop accelerating where the curves cross, at about 338 km/h, but the six-speed box (3.8 down to 0.93, final drive 3.6) reaches the 7,200 rpm limiter in sixth at 284 km/h first: it is geared out, not drag-limited. the hero above climbs through the same gears.

02.557.51012.5060120180240300360SPEED (KM/H)FORCE (KN)POWER-LIMITED ABOVE 1316TH-GEAR LIMITER 284DRAG LIMIT 338DRIVE FORCE (KN)DRAG + ROLLING (KN)
FIG. 06.4 · TRACTION-LIMITED, THEN POWER-LIMITED, THEN GEARED OUT BEFORE DRAG CATCHES IT

predicting the player

traffic has to know when you will reach the next junction, to time cross traffic and red lights so a gap exists. my first version assumed a flat 3.2 m/s² of acceleration and was 3.5 s late at the first junction, which made the level impossible. integrating the car’s real acceleration curve (the same force model as above, with 5 % lost to gear changes) matched the simulated car to about 0.1 s.

240 steps a second

the physics substeps at 240 Hz whatever the frame rate (60 or 120), and collisions are resolved inside each substep, so a car at 280 km/h moves 32 cm per step, never far enough to tunnel through another. a scrape pushes the cars apart over a few substeps instead of teleporting them, so contact reads as a scrape with sparks rather than a glitch.

airtime and crashes

crests launch the car on a ballistic arc. while it flies, the game flies the arc ahead against the road’s height to predict where it lands, and the camera tilts down over the landing spot. the hollow ridge kicker gives about 0.95 s of air at 157 km/h; landings faster than about 3.6 m/s scrape the floor pan. hit a car and rigid-body physics takes over: bodies dent, cars roll, and a slow-motion replay plays it back from seven camera angles.

the car airborne over the hollow ridge crest
AIRBORNE OVER HOLLOW RIDGE · THE CAMERA LOOKS FOR THE LANDING
a head-on crash with sparks
RIGID-BODY CRASH · DEVIL'S PASS

engines built from their firing order

there are no engine recordings in the game. each of the eight engine voices is synthesized live from how that engine works: every cylinder firing sends a pressure pulse into its bank’s exhaust at the right angle of the 720° four-stroke cycle, in firing order; each pipe is modelled as a comb filter whose resonances stay put while the harmonics sweep through them as revs rise, which is what makes a real engine howl instead of sounding like a sped-up recording. turbos, superchargers, blow-off valves, overrun pops and the rev limiter are added on top.

the electric ohmen has no cylinders, so it gets a motor model instead: the motor’s electrical frequency and its harmonics, a reduction-gear mesh tone slightly off them, the inverter’s switching carrier (2.4 to 2.9 kHz) with sidebands at twice the motor frequency, and the pedestrian warning hum that fades out by 30 km/h.

light, measured

the headlights are a physically based spot light shaped by a beam-pattern mask. i measured the renderer with a test card: a white card 10 m away reads 3.14 × lumens / 1000, falling with the square of distance. the old 3,400 lm lamps lit a car 10 m ahead ten times too bright; at 400 lm (900 on high beam) they look like real lamps. two colour bugs taught me how much numerics matter in light: half-float overflow on glossy paint made black squares on device, and clamping each colour channel separately turned the city’s orange street lights pure yellow, and with them every car roof that faced them.

a frame budget is a weight budget

at 120 fps everything (physics, traffic, audio, rendering) has to fit in 8.3 ms, the way a design has to fit a mass or a cost budget. that meant measuring before cutting: an express run that took 22 s to load turned out to be ~600 car models each waiting a frame to prepare, fixed by preparing them in one call; shadow maps in tower districts were the real cost on device, so they drop to 1024 px there; and the first launch of every new build warms up its shaders behind an “optimizing for your device” screen so the game never hitches later. on an ipad pro (m4) it holds 120 fps.

an insane pass between towers on the skyway
SKYWAY · TOWER DISTRICTS, WHERE THE SHADOWS COST MOST
first-person cockpit at speed
COCKPIT · LIVE MIRRORS AND SAT-NAV

tested like a machine

the same autopilot that drove the test run above plays every level, without god mode, to set difficulty: chapter pass rates were tuned to roughly 96, 70, 56, 56 and 10 %. traffic is audited the same way: on two-lane roads the share of runs where an oncoming car made an overtake impossible went from 28 % to 0 % once an oncoming scheduler kept “overtake windows” clear.

how it maps to mechanical engineering

in the gamethe engineeringwhere it shows up
tyre model · handlingvehicle dynamics, tyre mechanicsslides you can catch, wet and snow grip
body roll and pitchvibrations: a damped second-order system1.5 Hz, ζ 0.54
power, drag, gearspowertrains, aerodynamic dragtraction- vs power-limited, geared top speed
junction timingkinematics, numerical integration3.5 s error → 0.1 s
240 Hz substepsnumerical methods, stabilityno tunnelling at 284 km/h
engine soundfour-stroke cycle, acoustics, resonance8 engine voices, no recordings
headlightsphotometry, inverse-square law400 lm measured, not guessed
frame budgetdesign budgets, profiling8.3 ms at 120 fps
car modelsgeometry, tolerances16 cleaned models, measured wheel radii
autopilot sweepstesting and validationdifficulty set from data

what i learned

  • model first, tune second. when slow motion felt wrong, a version with extra steering lock felt unnatural; normal physics with slightly easier steering felt right. the model kept me honest about which knob was actually wrong.
  • measure, don’t guess. the junction timing, the headlight brightness and the 22 s load all had an obvious-looking fix that was wrong. each real fix came from measuring the thing first.
  • budgets are design constraints. frame time, triangles and memory behaved exactly like mass and cost: everything is cheap on its own and too expensive together.
  • small numbers make visible bugs. a clamp applied per channel instead of to the whole colour, or a 16-bit float overflowing, showed up as a yellow roof or a black square. precision is a design choice.
  • automate the test driver. an autopilot that can play a level a hundred times turns “feels too easy” into a pass rate, and a pass rate is something you can engineer toward.
  • feel is a specification. players don’t read numbers; they notice when a slide can’t be caught or a landing doesn’t match the arc. the physics had to be right enough that nothing ever felt like a lie.

every feature

areawhat's in it
modescareer (50 levels, 5 chapters) · no brakes (endless, ghost of your best run) · police pursuit · express run (one streamed world, drop-offs, cash in)
level rulesreach the finish · brakes with limited slow-mo · endurance · police chase · no slow-mo · near-miss targets · checkpoint rush · wrong way · airtime · glass car · adrenaline · speed floor
drivingnear-miss combos and insane passes · slow motion · nitro · handbrake drift · jumps and air control · red lights for a bonus · manual gears in the modes with brakes
cars16 cars in 10 classes · 8 synthesized engine voices, an electric motor for the ohmen · bought with cash earned in every mode
garagepaints and special finishes (chrome, matte, candy, pearl, neon, chameleon, gold) · 19 liveries · carbon parts · rims and calipers · window tint · plate frames · underglow · horns · flames-and-pops exhaust · cabin: seats, stitching, trim, ambient light, steering wheel
world10 places: downtown, sunset blvd, midnight rush, harbor bridge, pine pass, interstate, devil's pass, coastal cliff road, skyway, hollow ridge · morning, day, sunset, night · rain, fog, snow that settles · days that move on by themselves
policechases, rams, roadblocks, heat levels, takedowns, a synthesized siren and light bars
cameraschase · first-person cockpit with live mirrors, working gauges and a sat-nav · air camera · crash replay from 7 angles
controlstouch, tilt, an on-screen wheel, or a dualsense / xbox controller with rebindable buttons per mode
hudmove, resize and hide every piece · tap-anywhere actions · telemetry overlay for recorded clips
progresscash, speed tiers unlocked by surviving, 26 achievements, 94 game center leaderboards, career stats
soundper-car engine synthesis, sirens, horns, crash sounds, an adaptive procedural soundtrack
techgraphics presets low to ultra · up to 120 fps on promotion displays · first-launch shader warm-up · clips saved to photos
COMING SOON TO THEApp StoreSOON

support

how do i steer? touch is the default; tilt and game controllers are in settings › controls. it feels slow on my device. settings › graphics has presets from low to ultra. why can’t i play express run? it gives you 5 attempts a day; getting caught uses one, and they come back at midnight. where are my recordings? in your photos library. new phone? progress is saved on the device; game center keeps your scores and achievements.

the game collects nothing: no account, no analytics, no ads, no tracking. read the privacy policy.

NEXTFIG. 01 · 01 / 06CASE chocolates: automating a chocolate production lineread it next ← BACK TO ALL PROJECTS