BROWSER-NATIVE · WEBGL2 · THE REAL FRANKFURT · NOTHING TO INSTALL

Grand Theft Frankfurt

An open-world driving and action game set in the real Frankfurt am Main. Every street, bridge, tram line and tower stands where it does in the city — and all of it runs in a browser tab.

Needs a WebGL2 browser and a few seconds to build the city on your GPU. Keyboard and mouse, gamepad or touch.

Backdrop: key art — not actual gameplay

01 — THE TRAILER

Half a minute of Mainhattan.

Captured in the running game through the project's own render harness and cut to an original score. Sound on.

Captured in engine · 1280 × 720 · 35 sScore: original, produced for the trailer

02 — THE REAL CITY

Every street is where it really is.

The map is not designed, it is baked. Frankfurt's OpenStreetMap data — building footprints and heights, roof shapes, road classes, tram rails, the river, parks, bridges, lamps and street trees — is turned into one compact world file at build time. The engine then rebuilds the city around you as you move: facades with real window rhythms, the Römer's stepped gables, the Kaiserdom, the Alte Oper, the towers of the Bankenviertel.

Kaiserstraße leads to the Hauptbahnhof, the Eiserner Steg crosses to Sachsenhausen, the trams run on the real rails, and the Main is deep enough to swim in.

  • 0buildings, with heights, roofs and facade classes from the map
  • 0of drivable roads on a graph with lanes, bridges and one-way streets
  • 0of tram track, served by two-car Straßenbahnen with stops and bells
  • 0trees along the streets, in the parks and on the riverbanks
  • 0districts, from the Bahnhofsviertel to Sachsenhausen
  • 0story missions, a prologue in panels and a save system

03 — CAPTURED IN ENGINE

Every frame here is a screenshot.

Unedited captures from the running game, taken with the project's own harness. None of these are concept art.

The Frankfurt skyline seen from the Sachsenhausen bank of the Main at dusk, with the towers lit
The Mainhattan skyline from the Sachsenhausen bank at dusk — every tower at its real height.
The Römer city hall with its three stepped gables on the Römerberg square
Römerberg — the Römer's stepped gables and the Ostzeile, rebuilt from their footprints.
The Alte Oper concert hall with its portico of six columns on the Opernplatz
The Alte Oper on Opernplatz: portico, loggia and quadriga.
A city street at night with street lamps, lit windows and reflections on wet asphalt
The Kaiserstraße at night — street lamps, lit windows and wet asphalt after the rain.
A white and turquoise tram on its rails in the old town with passengers visible behind the windows
A Straßenbahn on the real rails, passengers behind the glass.
Chase-camera view of a car driving along the river with the speedometer and minimap on screen
Chase camera, speedometer and minimap on the Mainkai.
Key art of the Römerberg at night in the rain, with a tram passing and a police car turning the corner

Key art — not actual gameplay

04 — THE SYSTEMS

A city, an engine and a game, from the map data up.

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.

05 — WHERE IT CAME FROM

One brief. Then the city.

“Build Grand Theft Frankfurt — an open-world game in the real Frankfurt am Main, in the browser. Make it utterly perfect, AAA quality, from textures to physics to anything you could think of.”

The map bake, the engine, the vehicles, the missions, the art and the audio were written by an AI agent working in Claude Code sessions, round after round: a screenshot harness photographs the city at street level, and a human tester plays every build and sends back what looks wrong.

Found something odd? Press B in the game. The bug report stores where you stood, where you looked and what kind of bug it is — layout, map, object or gameplay — so it can be fixed in the next round.

NOTHING TO INSTALL

Open a tab. Frankfurt loads.