2026-10-01 · MPOWER RACING

Twenty kilometres of Nordschleife

The Nürburgring Nordschleife, built from map data to within 56 metres of its official length. The AI laps it 10 to 23 percent slower than published times, a tree pass took 20 ms to 1-2 ms, and a stray newline in a shader string stopped the build.

The Nordschleife, from data

The Nürburgring is now in, with three layouts: the Nordschleife, the Grand Prix circuit, and the two combined. Each Nordschleife section is its own named one-way road in OpenStreetMap, so chaining them in driving order is the lap. The pipeline splines and resamples the chain to 2 m, starts the lap at T13, reads heights from the EU-DEM terrain tiles, smooths them, and caps gradients at the published 18%. Sharper crests are kept where the real track jumps.

builtofficial
Nordschleife length20,776 m20,832 m
Nordschleife elevation range289 mabout 290 m
Grand Prix circuit5,121 m5,148 m
both combined25,862 mabout 25.9 km

The elevation runs from 339 m to 628 m. There are 39 named sections, each one a corner marker at that section's sharpest point, and the Karussell is banked at 22 degrees. Road width is 11 m, which is an assumption, not a measurement.

The Nordschleife went in on a new multi-track foundation, which also carries a second track, NCM Motorsports Park. Laguna Seca's data and racing lines were checked afterwards and came out identical, with its AI lap still at about 1:58.

How slow is the AI, against real laps

The AI laps the Nordschleife with no wall hits and no off-track moments. Against the published times, it is slower:

carAI lappublished
E46 M39:36.6about 8:10 to 8:30
E46 CSL9:07.17:50
G80 M3 Competition9:23.2about 7:30 to 7:40
M4 GT37:40.4about 6:45 to 7:00

That is 10 to 23 percent slower. The G80 is the 23: its gap is a known traction cap in the car physics, and the number is left in rather than tuned away.

Two changes were made to the AI for this track only, and the other tracks were left to compute exactly as before.

  • Friction-circle braking. When the car is already using its lateral grip, it can brake less. Without it the speed plan braked in fast bends instead of before them, which sent a car into the Fuchsröhre barrier. The plan now brakes earlier.
  • Banking counts as grip. The Karussell adds grip to the plan using the standard effective-friction formula for a banked turn.

A grip margin of 0.93 and a racing line kept 0.8 m off the edges give it a safety margin on a bumpy, narrow road.

Cost of a 20 km forest

The first Nordschleife cost about twice what Laguna did per frame. GPU time per frame on an integrated-graphics test machine that was busy with other work, so these are rough (the medium figure in particular is noisy, with a 90th percentile of 85 ms):

qualityNordschleife beforeafterLaguna, 30 cars
low44 ms18 ms18 ms
medium49 ms39 ms28 ms
high113 ms34 ms46 ms
ultra89 ms48 ms52 ms

Breaking down medium showed trees, terrain, cars and shadows each costing 12 to 17 ms. The cuts:

  • trees drawn out to 460 m, camera far plane at 2.6 km inside grey Eifel haze, and mid-distance trees no longer casting shadows
  • terrain tiles starting at twice the step on big tracks, about 556k down to about 300k triangles
  • barriers cut into roughly 800 m meshes so off-screen ones are culled, and a 200 m spatial hash for the per-frame tree pass
  • 20 cars maximum on the Nordschleife, 8 on phones

Earlier in the day, instancing the trees took that cost from about 20 ms to 1-2 ms.

The newline that stopped the build

During the pre-release check, the build refused a file: a literal newline had ended up inside the ground shader's uniform string. A shader string is just text until the build tries to read it as code, and a newline in the middle of a quoted string is a syntax error. It was replaced with the escaped \n.

The rest of that pre-release run passed: 0 to 100 km/h in 5.76 s in the launch test, 130 cars with no outliers, and the production build booting with no errors.

Smaller things that shipped

  • Crash damage has a Realistic level, the default, at 0.55 of the arcade severity. Fewer parts detach and cars almost never flip. Off, Fun and Ridiculous remain, and Off leaves the physics bit-identical.
  • A phone HUD fix. The speed dial sat on top of the car on small screens, so it became a small speed-and-gear pill, with tilt steering as the phone default and a quick toggle to dragging.
  • Real engine recordings. Two of the four engine clips downloaded were judged worse than the synthesised engine and were not shipped.
  • Wheels and pedals. Support for the common wheel brands is written and the test suite of 84 passes. Nothing has been tried on real hardware.