Skip to content

Map editor ​

How to use it

The map editor and mod tools, with pictures.

Done (M1.5)

The map editor is a desktop program written in Rust with egui. It works on the generator's data directly and runs the generator for you, so it's native rather than a gasm program like the game.

The generator builds regions from open data, and open data is never perfect: a road that should sit on an embankment follows the terrain, a bridge is missing its deck, a farm track is tagged as asphalt. The map editor is for fixing that by hand, without editing the source data.

What it does ​

  • Bridges and culverts: set the levels of their two ends.
  • Roads: surface (and with it the grip), width, lanes, markings, street lamps along it; move, add or delete its points; draw a new road; leave one out.
  • Junctions: how round their corners are; zebra crossings, stop and give-way lines where the map has none (or none where it has them).
  • The ground: flatten an area, or raise or lower it, easing into the land around.
  • Lamps and trees: add or remove them one at a time, or keep an area clear of trees.
  • Buildings: move, turn, reshape, change the height or the roof, leave one out, or draw a new one.
  • A 3D view of the built land around the selection, then rebuild and open the game at the spot.
  • Share it as a mod: export the place you built and edited as a mod, one zip that anyone can drop into their mods folder; places near the game's own join its world.

Next, with the Garage: your own models, a 3D model (glTF) placed on the map (a landmark, a statue, the station building), replacing a generated building or standing on its own, each with its licence and author.

The Garage (next) ​

A second tab for vehicles: load a 3D model, mark its wheels, set the weight, power, drive (front, rear, four-wheel), suspension and grip, and test-drive it on the proving ground. Saved vehicles show up in the game's car list next to the built-in five, and a car can be saved as a mod to share.

How edits are stored ​

Edits are saved as an override layer, separate from the generated tiles. The generator applies the layer on top of the open data every time it builds a region, so the edits survive regenerating the map with newer OpenStreetMap or elevation data.