Art of Roads in Games

Published: (February 8, 2026 at 04:05 PM EST)
8 min read

Source: Hacker News

Cleaned Markdown

# Art of Roads in Games

[Home](https://sandboxspirit.com/) • [Blog](https://sandboxspirit.com/blog)

*January 29, 2026**7 min read*

![Roads Cover](https://sandboxspirit.com/_astro/roads_cover.Bk50jKgP_ZVBIb6.webp)

Not sure if it’s just me, but I often get a primal satisfaction whenever I see intricate patterns emerging from seemingly disordered environments.

Think about the galleries of ant colonies, the absurdly perfect hexagons of honeycombs, or the veins on a leaf. No architect, no blueprint—just simple rules stacking on each other that result in beautiful patterns. I can’t explain why, but seeing those structures always feels good.

Humans do this too. And for me, one of the most fascinating patterns we’ve come up with is **roads**.

Sometimes I imagine aliens from far‑away galaxies discovering Earth long after we’re gone—forests reclaimed by nature, cities reduced to rubble—yet between them a faint pattern is still visible: the road network. I like to think they will feel the same way I do when looking at natural patterns.

> “Man, someone really thought this through.”

What was fixed

  • Removed the stray back‑ticks surrounding the entire block and placed the content inside a single fenced code block for clarity.
  • Ensured consistent spacing and line breaks for readability.
  • Kept all original links, dates, image, and formatting (bold, italics, blockquote) intact.

City Builders and Their Roads

Roads have fascinated me since I was a kid.

I still remember playing SimCity 2000 for the first time when I was about five or six years old. I didn’t understand much—definitely didn’t know what zoning, taxes, or demand were—but roads fascinated me from the start.

I think roads lie at the heart of every city‑builder; they are the fabric on which cities are built. Since that moment I’ve played almost every modern‑themed city‑builder out there, and I’ve begun noticing the same details in the real world: roundabouts, interchanges, overpasses, merge lanes, and every other intricacy.


The Evolution of Road‑Building in Games

GameNotable Road Feature
SimCity 4Added elevation and diagonal roads
SimCity (2013)Introduced curved roads
Cities: SkylinesFreedom to place roads at any angle, build flyovers at different elevations, and create complex (if sometimes unrealistic) interchanges – a major breakthrough

Even with these improvements something always felt… off. Highway ramps were unrealistically sharp or wobbly, high‑speed lanes bent too sharply, and the corner radii of intersections looked strange.

Unrealistic highway interchange from Cities: Skylines
Figure 1 – An interchange that would give highway engineers nightmares.


The Modding Revolution

Mods changed everything. The great community enabled a new kind of freedom:

  • Perfect merge lanes
  • Realistic road markings
  • Smooth transitions between road segments

I’m particularly proud of this 5‑lane turbo roundabout created with a mod:

5‑lane turbo roundabout
Figure 2 – A mod‑crafted turbo roundabout.

Even then, mods didn’t feel completely natural because they were still limited by the game’s original road system.


Cities: Skylines 2 – Pushing Realism Further

Cities: Skylines 2 took realism to the next level. Lanes and markings now look so accurate that a non‑trained eye might not distinguish them from reality.


Digging Deeper

I stopped stumbling around and started asking why. I tried to understand how engineers design roads and how game developers code them. That’s when I ran straight into the fundamental issue—right at the base of it. And it comes down to something every developer knows about and loves:

[Insert the developer‑focused insight or quote here]


Feel free to add the missing developer insight in the blockquote above.

The Bezier Spline

If you’re a Unity or Unreal developer—or have played with any vector‑graphics editing software—you already know them well. Bézier curves are an elegant, intuitive, and incredibly powerful way to smoothly interpolate between two points while taking into consideration a direction of movement (the tangent).

That’s exactly what roads are supposed to do, right? Of course, developers naturally think they are the perfect tool.

They’ve got their beauty; I need to admit that. But hidden beneath the surface lies an uncomfortable truth.

When Bézier Splines Fall Short

The shape of real‑world roads is dictated by a simple physical fact: the wheel axles of a vehicle keep a constant distance apart. Whether a car is turning left or right, the left‑hand and right‑hand tyre tracks remain parallel and maintain the same separation. In snow or sand you can see two perfectly parallel lines that follow the same curved path.

Why Bézier Curves Aren’t Enough

  • No shape preservation on offset – Offsetting a Bézier curve does not produce another Bézier curve.
  • Curvature mismatch – At gentle bends the offset looks acceptable, but on tighter turns the inner and outer edges diverge in curvature.
  • Mesh artifacts – When a game engine builds a road mesh from a Bézier spline, the inner edge may curve at a different rate than the outer edge, causing “pinching” or self‑intersection of the geometry.

Visual Example

The image below shows how the offset fails dramatically in an extreme scenario:

CS2 example

Bottom Line

Bézier curves are unconstrained; the flexibility that makes them popular also becomes their Achilles’ heel for road generation. Real roads must respect the constraints of vehicle motion—most importantly, the constant axle width—so their centerline and offsets cannot intersect or distort arbitrarily. Using a spline representation that preserves offset shape (e.g., clothoids, offset‑aware splines, or dedicated road‑generation algorithms) is essential for reliable road meshes.

Kindergarten Math

What preserves parallelism? If you’ve already been through kindergarten, you already know the answer: the circle.

A circle has a “magical” property: no matter how you offset it, the resulting curve is still a circular arc—perfectly parallel to the original.

Bezier vs Circle

Replacing Bézier curves with circular arcs also brings an unexpected bonus. To procedurally build intersections, the engine must perform many curve‑curve intersection tests each frame. Intersecting two Bézier curves is notoriously complex: it involves polynomial root finding, iterative numerical methods, de Casteljau’s algorithm, bounding‑box checks, and multiple convergence tests. In contrast, intersecting circular arcs can be done with a simple, constant‑time (O(1)) formula.

By stitching together circular arcs of different radii, you can create any shape while adhering to sound engineering principles.

The Next Level

But this is not the end of the story. Circle arcs have issues as well (oh no). The problem with circles in infrastructure is that they have constant curvature. When entering a circular curve from a straight line, the lateral force jumps from 0 to a fixed constant value (determined by the radius of the circle). If you were in a car or train entering such a curve at high speed, it would feel terrible.

Civil engineers have to account for this, too. So, what curve maintains parallelism when offset and has a smoothly increasing curvature?

Introducing transition curves – most famously, the clothoid

A clothoid gradually increases curvature over distance. You start almost straight, then slowly turn tighter and tighter. The steering wheel rotates smoothly, the forces ramp up naturally, and a passenger’s body barely notices the transition.

These curves provide comfortable rides at high speeds by:

  • Maintaining parallel offsets
  • Offering continuous curvature changes

…and they are also a math nightmare: differential geometry, integrals, and more. That’s probably why most games don’t even dare to implement them.

But that’s fine. Vehicles move slowly on city streets, and for intersections of urban roads, circular arcs are more than a decent choice.

Why I Built My Own Road System

Does everything I just rambled about matter? Do 99 % of city‑builder players care what shape the corner radius of an intersection has? Most likely, no. Then why bother?

First, because of curiosity. Like any nerd obsessed with the nitty‑gritty details of a very specific subject, I just wanted to see how I would implement it—challenging the status quo.

Second, even if established titles don’t render roads perfectly, they are still light‑years ahead of what an indie developer can find online. The tutorials and assets for this are, frankly, sad. I personally got bored with grids, so I built a better solution to share with anyone who wants to make a city builder.

Sad assets
These assets make me sad.


What’s next?

In the next blog post I’ll dive into the technical details and show how I built my own solution. If you want to follow along or get notified when I release the asset, drop your email below.

Join my mailing list

Hello there 👋 – I share a new blog post roughly once a month. If you find my work interesting and want to stay in the loop, enter your email below. I guarantee I’ll never spam you.

0 views
Back to Blog

Related posts

Read more »

My first week at WWC!

Introduction Welcome to my first week of work for A Wargame Without Compromise WWD! Over the next four months we will be simulating a game‑studio environment a...