• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.
Hi everybody!
I am posting this dev diary on behalf of @co_visa as he has caught a cold.

Green Cities is going to be released tomorrow, and with it we are also happy to introduce a new completely free Asset Editor tool, the Road Editor. Today we’re going to take a quick look at its features and create our own custom road.

picture 1 - importer.png


First a few general words about roads and the editor. Cities Skylines’ network system is one versatile beast allowing for anything from elevated tram lines with hanging wires to castle walls and sunken canals, so when initially designing the editor we had to decide whether to create a simple easy to use tool for slightly modifying existing roads or to expose the system in its full extent. We chose the latter so prepare for a lot more knobs and switches than what you might be used to. The good news is that most of the placeable network objects will be available as templates, so you can always check out how the existing objects are set up. Detailed instructions on road modding will also be added to the community wiki upon release.

picture 2 - overview.png


Here is an overview of the new editor. On the right side you can see the main panel, and on its left side two side panels that were opened just to make this all look overly scary and exciting.

Most of the roads in Cities: Skylines consist of five variations: the basic terrain level road, the slightly elevated version, the bridge, the slope leading from terrain to underground, and the underground tunnel. The variations can be selected from the main panel’s tab strip. The main panel also contains sub menus for editing the general properties, lanes and models of the selected variation.

The road’s 3D models are divided into segments and nodes. Segments are used for the continuous parts of the road, and nodes for intersections, road endings, and transitions from road type to another. Both are usually modeled as straight road stubs, and if everything is set up right the game will automatically take care of bending and smoothly combining them. The segments and nodes can also contain additional conditions to control when each model is drawn into the screen. You might for example want to use a different segment model when a road segment contains a bus stop, or leave out the overhead bridge wires when a bridge takes a sharp turn.

Lanes can be set up to allow different vehicle types or pedestrians, and they also contain the road’s propping. The props can also be set up with conditions, for instance to use proper turn signs before intersections.

picture 3 - empty.png


So without further ado, let’s make our own custom road. I’ve already started by selecting the Six-Lane Road as our template, removing all lanes, segments, and nodes, and placing down our road to marvel at the blue error color. I have prepared a 3D model of a single straight 64 * 64 units block of road, which we’re going to import as a segment by creating a new segment and clicking the Model button on the segment’s side panel.

picture 4 - glitching.png


Not quite there yet. Our custom model is way wider than our template so next we need to set up its dimensions in the Properties sub menu. Our road is 64 units wide in total, with 5 units wide and 0.3 units high pavements on both sides. Correct Half Width is – among other things – needed to determine where the terrain ends and the road starts to prevent overlapping as seen in the picture, so we’ll set that to 32. Pavement Width is needed so that the game can smoothly combine our road’s pavement to other road types with differing pavement widths, so we’ll set that to 5. Since the pavements were set to 0 level along vertical axis in our model, our road is actually a bit sunken so we’ll set the Surface Level to -0.3 to act as the base height. The Segment Length is already set correctly to 64.

picture 5 - models done.png


Magic! Because our model was originally created using a grid-like layout, it contains a lot of “free” vertices the game can now move around. We also imported the same model as a node, but this time without the road markings in the texture. I’ll just leave it to your imagination what happens when those start bending all over the place. Due to the hasty texturing you can now also see faint seams on the intersection where our road’s node models meet Two-Lane Road’s.

picture 6 - adding lanes.png


The remaining step is to configure the lanes and their propping. 2 pedestrian lanes on the sides and 16 car lanes. The model was thrown together quite hastily and the lane markings weren’t separated with a uniform distance so I’m temporarily attaching a prop to each lane to see where they are while tweaking their positions. After the lane configuration is done we’ll throw in some street lamps to pedestrian lanes and call it a day.

picture 7 - done.png


Our quick example is now done and working quite nicely. The inner lanes rarely saw any action unless I created some artificial congestion, but to fix that we’d need to completely rethink our design to be a little less ridiculous. Next we would also need to configure our other elevations and any properties such as speed limits and prices, but let’s leave that for another time.

Beyond what was shown here, any objects like train tracks, tram tracks, quays, canals, monorails etc. are also available for editing. We’ve added a multitude of different shaders in the editor which will enable you to create anything from shiny tracks to wires that sway on the wind. More info on modeling and shaders will be added to the community wiki. The existing road pillars have been made available as building templates so we could import one with a custom model, save it, and use it in our road’s elevated and bridge variations. In the end all the elevations and pillars will be saved into one package so there will be no need to subscribe to any external dependencies when looking for new roads.

Stay tuned for tomorrow’s release, and happy modding!

EDIT: Fixed my Finglish grammar ;)
 
Last edited:
I'm totally gobsmacked. I have no idea what you're talking about. Hopefully modders will. This is a great addition to the game for modders. For me, I'm not so sure. I would have much preferred the system you used in CiM2; but maybe this will work out well. Thanks for all your efforts.
 
Hi everybody!
I am posting this dev diary on behalf of @co_visa as he has cached a cold.

Green Cities is going to be released tomorrow, and with it we are also happy to introduce a new completely free Asset Editor tool, the Road Editor. Today we’re going to take a quick look at its features and create our own custom road.

View attachment 308152

First a few general words about roads and the editor. Cities Skylines’ network system is one versatile beast allowing for anything from elevated tram lines with hanging wires to castle walls and sunken canals, so when initially designing the editor we had to decide whether to create a simple easy to use tool for slightly modifying existing roads or to expose the system in its full extent. We chose the latter so prepare for a lot more knobs and switches than what you might be used to. The good news is that most of the placeable network objects will be available as templates, so you can always check out how the existing objects are set up. Detailed instructions on road modding will also be added to the community wiki upon release.

View attachment 308153

Here is an overview of the new editor. On the right side you can see the main panel, and on its left side two side panels that were opened just to make this all look overly scary and exciting.

Most of the roads in Cities: Skylines consist of five variations: the basic terrain level road, the slightly elevated version, the bridge, the slope leading from terrain to underground, and the underground tunnel. The variations can be selected from the main panel’s tab strip. The main panel also contains sub menus for editing the general properties, lanes and models of the selected variation.

The road’s 3D models are divided into segments and nodes. Segments are used for the continuous parts of the road, and nodes for intersections, road endings, and transitions from road type to another. Both are usually modeled as straight road stubs, and if everything is set up right the game will automatically take care of bending and smoothly combining them. The segments and nodes can also contain additional conditions to control when each model is drawn into the screen. You might for example want to use a different segment model when a road segment contains a bus stop, or leave out the overhead bridge wires when a bridge takes a sharp turn.

Lanes can be set up to allow different vehicle types or pedestrians, and they also contain the road’s propping. The props can also be set up with conditions, for instance to use proper turn signs before intersections.

View attachment 308154

So without further ado, let’s make our own custom road. I’ve already started by selecting the Six-Lane Road as our template, removing all lanes, segments, and nodes, and placing down our road to marvel at the blue error color. I have prepared a 3D model of a single straight 64 * 64 units block of road, which we’re going to import as a segment by creating a new segment and clicking the Model button on the segment’s side panel.

View attachment 308155

Not quite there yet. Our custom model is way wider than our template so next we need to set up its dimensions in the Properties sub menu. Our road is 64 units wide in total, with 5 units wide and 0.3 units high pavements on both sides. Correct Half Width is – among other things – needed to determine where the terrain ends and the road starts to prevent overlapping as seen in the picture, so we’ll set that to 32. Pavement Width is needed so that the game can smoothly combine our road’s pavement to other road types with differing pavement widths, so we’ll set that to 5. Since the pavements were set to 0 level along vertical axis in our model, our road is actually a bit sunken so we’ll set the Surface Level to -0.3 to act as the base height. The Segment Length is already set correctly to 64.

View attachment 308156

Magic! Because our model was originally created using a grid-like layout, it contains a lot of “free” vertices the game can now move around. We also imported the same model as a node, but this time without the road markings in the texture. I’ll just leave it to your imagination what happens when those start bending all over the place. Due to the hasty texturing you can now also see faint seams on the intersection where our road’s node models meet Two-Lane Road’s.

View attachment 308157

The remaining step is to configure the lanes and their propping. 2 pedestrian lanes on the sides and 16 car lanes. The model was thrown together quite hastily and the lane markings weren’t separated with a uniform distance so I’m temporarily attaching a prop to each lane to see where they are while tweaking their positions. After the lane configuration is done we’ll throw in some street lamps to pedestrian lanes and call it a day.

View attachment 308158

Our quick example is now done and working quite nicely. The inner lanes rarely saw any action unless I created some artificial congestion, but to fix that we’d need to completely rethink our design to be a little less ridiculous. Next we would also need to configure our other elevations and any properties such as speed limits and prices, but let’s leave that for another time.

Beyond what was shown here, any objects like train tracks, tram tracks, quays, canals, monorails etc. are also available for editing. We’ve added a multitude of different shaders in the editor which will enable you to create anything from shiny tracks to wires that sway on the wind. More info on modeling and shaders will be added to the community wiki. The existing road pillars have been made available as building templates so we could import one with a custom model, save it, and use it in our road’s elevated and bridge variations. In the end all the elevations and pillars will be saved into one package so there will be no need to subscribe to any external dependencies when looking for new roads.

Stay tuned for tomorrow’s release, and happy modding!
Extremely happy about this. People were saying that the road modding might have been even more complicated then what is currently being shown. It'll be nice to not have to rely on Network Extension Mods anymore :D
 
I don't get it, do you have to create your own 3d model and then import it or can you just add an additonal lane automatically? For example I want a 2 or 3 lane highway in one direction and another 2, 3 lanes in the opposing direction, can I do that in the editor or would I manually have to create a 3d model, which I have no idea how to do..?
 
Does anyone actually understand this? It needs to be explained better - too much jargon.
This might as well have been written in Klingon.
It does look like something amazing though.
 
Extremely happy about this. People were saying that the road modding might have been even more complicated then what is currently being shown. It'll be nice to not have to rely on Network Extension Mods anymore :D

This is what I'm hoping for. The Network Extension mod only had a couple of roads that I was interested in using; but the mod was so big with so many things I would never use that it wasn't worth subscribing to.
 
If now it is possible to create a highway with opposing lanes - that would be fantastic .... no more ugly glitching when you place highways! And none of this ugliness when the width in between them varies a little bit because of bends. YAY!
 
It looks interesting. I was concerned that it would not allow very much and would be too basic, though it seems to have delivered. Hard to tell for sure with only this one limited example. Seems to have potential though.
 
One thing I do not understand fully.

Let's say I want to do a road with 2 lanes on a side and 3 lanes on the other: do I need to make a texture for it? Or the editor will "build" it using the default texture parts?
 
One thing I do not understand fully.

Let's say I want to do a road with 2 lanes on a side and 3 lanes on the other: do I need to make a texture for it? Or the editor will "build" it using the default texture parts?

I think you have to include the textures as you are using a new mesh with its new UV-map.

Just like you are importing a vehicle, a prop or a building you have to have in place:

a segment1.fbx, a segment1_lod.fbx, a segment1_d.png, a segment1_s.png, a segment1_n.png and the textures for the lod too, ofc!

Edit:// Probably the stock textures will be provided in the games wiki?
 
Last edited:
Would this also apply to the lots with built in roads? For instance, adding tram tracks to the road under a monorail station, or widening a cargo harbours intake road?

Also, is this being released at Stockholm midnight, or do we have to wait for mid afternoon?
 
Also, is this being released at Stockholm midnight, or do we have to wait for mid afternoon?

Steam is saying "approximately 12 hours" for me right now. That's 21:17 Atlantic Time (I suppose that is 00:17 GMT?), so 09:17 tomorrow +/- 1 hour as it's not right on. And noonish GMT.