Devlog #1 — Turning Real-World Map Data Into an Unreal Engine Town

For this project, I wanted to test whether real-world geographic data could be used as the foundation for a playable Unreal Engine environment.

The idea was simple on paper: take map data from OpenStreetMap, export it as GeoJSON, and build a generator that could reconstruct the location inside Unreal Engine.

Data

With Codex, Claude and a lot of iteration, I built a system that reads the map data and attempts to recreate the original road layout, buildings, river, bridges, vegetation and important landmarks using existing game assets.

The generator also uses Unreal Engine’s Procedural Content Generation tools to create roads, sidewalks, junctions and roundabouts.

At least, that was the plan.

The First Attempt

First Attempt

Things did not go exactly as expected.

Some buildings appeared in the middle of roads or pathways. Others overlapped with each other. Roads occasionally generated with the wrong width, elevation or shape, and bridges were particularly difficult to connect properly to the road network.

The original asset set also turned out to be a bad fit for some parts of the generator. Certain road pieces looked fine individually but broke apart once they had to follow real map geometry.

Roundabouts, junctions and curved roads exposed another problem: real roads are not just static meshes placed beside each other. They need to deform, merge and adapt depending on how they connect.

That is much closer to how road systems work in games such as Cities: Skylines than simply spawning a row of road assets.

What Actually Worked

Despite all of those problems, the first result was much better than I expected.

The generator successfully read the real-world map layout and produced a recognisable town structure. The main roads followed the original routes, the river was placed correctly, and the general positioning of the buildings and different areas of the town was surprisingly accurate.

It was not ready to be called a finished map, but it proved that the core idea works.

For a first attempt, that is a big result.

Instead of manually building an entire town from an empty level, I now have a system that can generate the basic structure from real data and give me something I can refine.

Working With Codex and Claude

This project was not built by asking an AI to “make a town” and waiting for a finished result.

I defined the system, inspected the generated output, identified what was wrong and then used Codex and Claude to help implement, debug and restructure it.

A large part of the work was explaining spatial problems that are obvious when looking at the map but difficult to describe in code.

A road may technically be connected but still look completely wrong. A bridge may reach both sides of a river but fail to line up with the road surface. A building may be inside the correct parcel while still blocking a sidewalk.

Issues

Issues2

The AI could write and modify the code quickly, but it still needed constant direction, testing and correction.

The process was closer to working with extremely fast programmers who could not see the final result unless I explained it clearly.

What Comes Next

The next step is to improve the road system.

Instead of relying heavily on road assets that were never designed to follow arbitrary real-world geometry, I am testing a simpler procedural approach using generated road surfaces, lane markings, sidewalks and curbs.

The bridges also need to connect directly to the road splines, with proper supports and better height handling.

Building placement needs stronger exclusion zones so structures cannot overlap roads, pathways or each other.

There is still a lot to fix, but the difficult question has already been answered:

Yes, real-world map data can be turned into a playable Unreal Engine environment with a mostly automated workflow.

It is rough, occasionally broken and nowhere near finished.

But it works.