01
City bake
A build step reads Frankfurt's OpenStreetMap extract and writes one world file: 24,499 footprints with heights, roof shapes and facade classes, a 35,000-edge road graph with lanes, bridges and tram rails, the river, parks, piers, lamps, signals, stops and 52,000 trees.
02
Renderer
three.js with cascaded shadow maps, ground-truth ambient occlusion, bloom, a full day-and-night cycle and rain with wet-road reflections. Buildings, vegetation and props stream in grids around the player.
03
Physics and vehicles
Rapier rigid bodies with a raycast vehicle controller: nine vehicle classes with damage and deformation, sampled engines — and lamp posts that fall over when you hit them.
04
Traffic and transit
AI drivers on the road graph, pedestrians on the pavements, two-car Straßenbahnen on the tram network with stops and bells, city buses in Frankfurt turquoise, and police with a five-star wanted system.
05
Missions and story
Ten story missions across the city, a prologue told in panels, money, weapons, a helicopter, a swim in the Main and a save system that remembers where you left off.
06
Audio
Sampled engines, sirens, footsteps, rain and tram bells, spatialised through the Web Audio API — plus radio stations, including Radio 069, Frankfurt rap produced for the game.