Developer postOriginal post (opens in a new tab)

How Every Track is Born

How Every Track is Born — Procedural Circuit Generation

The Undercut generates a new circuit for every race. No two tracks are the same. Here's how a blank canvas becomes a fully playable circuit in under a second.

From random points to a real circuit

Every track starts as anchor points on a ring — like numbers on a clock face. Each point sits at a random distance from the center, giving the shape an organic feel.

A gap between two points naturally becomes the main straight — the fastest section where the pit lane and start/finish line live.

The game reads corners like a driver would

Once the path exists, the game measures curvature at every point. High curvature = slow corner. Near zero = fast section.

From curvature alone, a realistic speed profile emerges:

  • A forward pass computes max speed at each point

  • A backward pass caps speeds based on braking zones

  • Each section gets classified: Accelerating, Braking, or Cornering

These zones drive everything — tire wear, overtaking opportunities, dirty air effects, and mistake probabilities.

Automatic racing line

The game computes an outside-apex-outside racing line for every generated circuit. No manual tuning — pure geometry.

Scenery from physics data

Nothing is hand-placed:

  • Kerbs on the inside of corners

  • Tire walls on the outside — height scales with danger

  • Sand traps in front of barriers — depth follows curvature

  • Grandstands along the fastest straights

  • Pit lane parallel to the main straight with smooth entry/exit

Four circuit personalities

Same algorithm, different parameters:

  • High-Speed — 10-12 corners, 5.5-8 km. Flowing arcs, long straights

  • Technical — 16-20 corners, 3-4.5 km. Tight hairpins, constant direction changes

  • Street — 13-16 corners, 3.5-5 km. Mix of fast straights and chicanes

  • Balanced — 12-16 corners, 4-6 km. A bit of everything

The result

In under a second: a smooth circuit with realistic proportions, a full speed profile, a natural racing line, kerbs, tire walls, sand traps, grandstands — all from geometry and physics.

Every race on a new track. Every track with its own personality.

Full devlog with technical details on our website: https://www.the-undercut.com/blog/devlog-001/

Join our Discord for development updates and to share your feedback.