• 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.

Development Diary #2: Traffic AI

Hi everyone! We are back with another development diary for Cities: Skylines II and today is all about the new and improved traffic AI. Managing traffic in a growing city was a core part of Cities: Skylines and going into the sequel we knew we wanted to bring you a more advanced system, both to address the feedback you have shared over the years and to make the city feel more realistic and alive.

Citizens and traffic are a core part of a living and breathing city. Where do people live, where do they work and what places do they visit in their free time? Where are businesses located and how do they get the goods they sell? Are their customers citizens or other businesses? How do their customers find them and are there other, better shopping options closer by? All of this and more factor into how traffic moves around the city.

In this development diary, we look at how the traffic simulation works and what features the agents (citizens, services, and resources moving around in the city) take into account when making pathfinding decisions. Check out the highlight video below before diving into all the details.



DIFFERENCES BETWEEN CITIES: SKYLINES AND CITIES: SKYLINES II
Pathfinding works in a different way in Cities: Skylines II than its predecessor. In Cities: Skylines pathfinding was proximity-based, meaning agents would calculate their destinations or order services by straight line distance without taking the existing road network into account. In the case of a fire, this could mean the fire truck responding would come from the closest station even if it had a longer route because of how the roads connected it to the destination. Longer response times could in turn mean the fire truck would not make it in time to stop the fire from spreading or save the building from collapse. Agents would take the fastest route to their destination and stick to it, patiently sitting in a traffic jam if one occurred, only changing their route if the road network was modified in ways causing their original path to no longer be viable.

In Cities: Skylines II agents choose a route based on a pathfinding cost. This cost is calculated using multiple factors such as the city’s road network, traveling time, travel cost, agent preferences, and more which we will cover in more detail below. Furthermore, agents will adjust their route based on events along the way. They may change lanes to avoid a car accident or a stopped service vehicle or make room for a vehicle responding to an emergency.

1 Layout.png

Your city layout is only part of the equation when agents decide how to get around


PATHFINDING COST
The core of pathfinding calculations is the four aspects: Time, Comfort, Money, and Behavior.

Time is an important factor when calculating a path. While other factors affect pathfinding, time is usually the most important as all agents tend to seek the quickest route to their destination. When considering only the travel time, a small road can be shorter but its travel speed is lower than the longer highway’s travel speed so the agent chooses the highway in most scenarios if the highway is overall a quicker route.

Comfort is an important factor in pathfinding and includes planning the route to be as smooth as possible, avoiding unnecessary turns at intersections as well as finding a suitable parking spot or public transport stop to get off at. Comfort is calculated directly to the pathfinding cost with each option adding to the overall cost.

Money comes into pathfinding choices in the form of fuel usage and potential parking fees. Citizens weigh travel and parking costs and compare them to other travel options as well as walking to see which option is quick, comfortable, and affordable. In the case of delivery vehicles, the cost of resources they transport increases the further away they are delivered. As a result, selling resources and goods locally is more cost-efficient for the companies as the delivery costs are lower than hauling the cargo to an outside connection.

Behavior refers to agents’ willingness to make “dangerous” decisions in traffic, such as making a U-turn. Citizens and delivery vehicles are less likely to make dangerous decisions in traffic to cut pathfinding costs, while emergency vehicles have a more lenient behavior model so that they can navigate the road network during emergencies and make dangerous pathfinding decisions if necessary.

Pathfinding also accounts for the traveler's age group. For teens the most important factor is Money: they seek out cheap options when traveling, be it the means of transportation or parking behavior. Adults value Time, so the quickest route is usually the best for them. And Seniors prefer a high Comfort level. As long as the Comfort cost is small, seniors tend to choose that option.

Citizens weigh all pathfinding factors when making decisions, aiming for the lowest overall pathfinding cost.

Service vehicles are ordered based on the lowest overall pathfinding cost and when new orders are made, they take into account the distances of all applicable vehicles now and in the near future (as in: where will the vehicles end up after they have fulfilled their previous service order). As an example, a road maintenance service vehicle is ordered to repair a road segment. The simulation checks where all available vehicles are at the moment and where their current orders are taking them. A currently closer vehicle might not be selected for the new order if another vehicle is on its way to a nearby location shortly as it finishes its current service order.

Resource transportation is affected by the length of the route as distance increases the costs, so companies try to ship cargo as close as possible to increase their own profit margin. Transporting resources and goods out of the city is costly and can greatly decrease the profitability of companies.

2 Transport.png

The further you ship resources, the more expensive for the companies


LANE USAGE
In Cities: Skylines II vehicles use more lanes. They try to optimize road usage to allow as smooth traffic as possible, occupying all available lanes as they travel to their destination. This means that if one lane in a multilane road is filled with vehicles waiting at the traffic lights, new cars arriving at the intersection choose the other empty lane(s) to fill the intersection evenly.

On multilane roads, vehicles can overtake slower vehicles when the simulation notices that the other lanes are less used. Vehicles also switch lanes to avoid completely blocked lanes due to a traffic accident, a traffic jam, or a stopped vehicle, such as an ambulance picking up a patient. Additionally, vehicles will try to give room for the emergency vehicle by switching to other lanes when possible.

3 Lane usage.png

Vehicles adapt to traffic on the roads to improve the traffic flow


TRAFFIC SIMULATION, AGENTS, AND PERFORMANCE
The traffic simulation is complex in Cities: Skylines II. In addition to calculating their path, all vehicles and pedestrians take into account all nearby agents at all times as they navigate the streets and pathways in the city. The agents make decisions affecting traffic flow multiple times while traveling, separate from their pathfinding decision. These include accelerating along the traffic, braking to slow down, avoiding oncoming traffic when making turns, switching lanes to optimize traffic flow, and making pathfinding decisions when an unexpected event such as a traffic accident occurs on the route originally planned.

This means pathfinding calculations are more numerous and more in-depth than in Cities: Skylines as the agents have more features affecting their decisions. However, the calculations are more efficient, resulting in higher performance across the board as the pathfinding and simulation among other calculations take advantage of all the available processing power of the multicore CPUs.

Also, as a major improvement to the first game in the series, Cities: Skylines II doesn’t feature hard limits for agents moving about in the city. Overall, the performance of the simulation and pathfinding is vastly improved which means larger populations are possible. The only real limits to the simulation are the hardware limitations on the platform running the game.

4 Large city.png

Build large cities and watch your citizens travel them for work or leisure


ROUNDABOUT BEHAVIOR
We talked about roundabouts in the last development diary covering how they’re built, but that isn’t the only improvement. Traffic simulation also takes into account the rules regarding roundabout entry and exit. Vehicles entering the roundabout give way to those already on it, however, just like in real life, vehicles might cut in front of another vehicle already on it, if a suitable opportunity arises. This is part of the agents’ behavior which is always looking for suitable spots to improve the traffic flow, by changing lanes or sneaking through an intersection at the last minute.

5 Roundabout traffic.png

Vehicles are always ready to take advantage of an opening


TRAFFIC ACCIDENTS
The game features traffic accidents where vehicles lose control and crash into traffic or buildings. The likelihood of an accident happening is calculated per road segment and is increased by features such as road conditions, lighting conditions, weather, and disasters. Keeping roads in good condition by using road maintenance services and having streetlights is a good way to decrease accident probability on the road.

When an accident check succeeds on a road segment, a vehicle on the segment is selected randomly to “lose control”. The vehicle is pushed in a random direction, gaining simple collision and physics to allow it to hit obstacles on its way. If a vehicle collides with another agent, it also gains collision and physics for the duration of the accident.

Accident sites need to be secured and cleared by the police and road maintenance, respectively. The simulation halts traffic on the lanes that are affected by the accident and vehicles wait until the road is cleared before continuing on their way. Ambulances might also be called to the site if the accident was severe enough to cause serious injuries. If clearing the site of the accident causes traffic jams for a prolonged period, agents might recalculate their pathfinding, resulting in “dangerous” behavior and making U-turns to find alternative routes circumventing the blocked lane.

6 Accident.png

If more lanes are free, vehicles will use them to avoid the site of the accident


PARKING
Parking is a new feature in Cities: Skylines II and one of the four main aspects of pathfinding. Agents consider available parking spaces when they calculate pathfinding and decide how they travel to their destination. Usually, the most comfortable option for an agent is to be able to park on the lot of the building they are traveling to. If that is not possible, they will choose either another parking option or a different transportation method. The lack of parking can lead to citizens preferring other places for their activities such as choosing different locations for shopping or leisure time.

Citizen age groups have different preferences when it comes to travel comfort, time, and money spent on traveling. Parking affects all of these aspects in one way or another. Seniors prefer comfort and if there are parking spaces near their destination, they will most likely choose them regardless of the potential parking fee. Adults are most concerned about time and choose places that are along the quickest route, while teens have the least money so they choose cheap parking options, even if it means they have to walk longer distances or use other means of transportation to complete their travel.

Parking choices and pathfinding cost calculations for agents can be affected by fees set for individual parking lots and buildings as well as roadside parking fees added to districts. Low or nonexistent fees encourage parking for all citizen groups while high parking fees favor wealthier citizens.

6 Parking structure.png

Parking lots come in multiple sizes along with multistory and underground parking structures


INFOVIEWS
Cities: Skylines II features two infoviews, the traffic infoview, and the road infoview, to help keep an eye on traffic and address problems early on.

TRAFFIC INFOVIEW
The traffic infoview shows traffic flow and volume in the city as a whole, making it easy to spot problem areas in the road network quickly as traffic jams color the roads in red. Traffic flow indicates how smoothly traffic flows in the city. A higher number means that no jams are forming while a lower number indicates that potential bottlenecks can appear. Lastly, traffic volume shows how many vehicles travel on the road network at different times of the day. High volumes of traffic indicate rush hours.

7 Traffic volume.png

Switch between Traffic Flow and Traffic Volume to see how your network is handling traffic

ROAD INFOVIEW
Road infoview shows more in-depth information about a single road, covering the road’s condition as well as its traffic flow and volume. With these tools available it is possible to enhance the road network very precisely. If a particular road has a large volume of traffic, it is most likely a main road and you might need to keep an eye on it as the city grows, and upgrade it to a bigger road to alleviate traffic congestion in the future.

The road condition affects accident probability and travel speed negatively, increasing the risk of accidents and slowing down traffic. Road maintenance vehicles keep the roads in good condition and free of snow during the winter season allowing smoother traffic and safer travel.

8 Road condition.png

Check the condition of your roads and find your Road Maintenance vehicles with the Road Infoview


SERVICE VEHICLES
When service vehicles receive orders from buildings and road segments, they calculate a suitable path to their destination. As the vehicles travel to their destination they affect the traveled path and/or its surroundings, for example, when a garbage truck receives an order to travel to the next destination to pick up garbage, they also pick up garbage along the way. Similarly, road maintenance vehicles will repair the segments of road as they travel to their current destination.

Emergency vehicles, such as police cars and fire trucks, have additional rules affecting their pathfinding. Their behavior is “more dangerous” compared to citizens, other service vehicles, and delivery vehicles: they are able to make “illegal” U-turns if it shortens their route to their destination. If possible, other vehicles will give way to the emergency vehicles by switching lanes on multilane roads.

Police patrols have additional rules to their behavior as they can override their patrol duties (decreasing crime probability in areas they travel through) if an emergency, such as a robbery or traffic accident, takes place.

Public transportation vehicles travel on the designated lines with the exception of taxis which are able to freely select their routes according to pathfinding rules similar to private vehicles. Initially, they pick up fares at taxi stands but with the taxi depot upgraded, they can pick up fares anywhere in the city.

Service vehicle operations can be limited to player-created districts. In these cases, the vehicles only answer orders and respond to emergencies within their designated districts. Any city service can service one or more districts as well as the entire city (by default).

9 Service vehicles.png

Other vehicles give way if possible so emergency vehicles can reach their destination faster


TRAFFIC BETWEEN OTHER CITIES
The game also features traffic between other cities, from one outside connection to the next. This traffic does not contribute to the city’s economy but the traffic can become part of the overall traffic flow as the city grows and the highways are integrated into the city’s road network. If the player builds a shorter route between two outside connections, the traffic between those cities will change to use the newly created option if it is more cost-efficient in regard to pathfinding.

10 Outside connection.png

You can add new Outside Connections when you reach the edge tiles

With that, we find ourselves at the end of this development diary. We hope this provides insight into how traffic behaves in Cities: Skylines II and will help you design your ideal cities. Traffic AI has been reoccurring topic with Cities: Skylines and we’re looking forward to hearing your feedback on the more advanced and realistic traffic simulation in Cities: Skylines II. Next week we cover the topic of Public and Cargo Transportation and how it integrates with your city.


cs2-devdiaries-schedule-forum.png
 
  • 48Love
  • 45Like
  • 4
  • 2
Reactions:
Looks great! Some questions:

1. Does vehicle despawn still occur or is that removed?

2. Are all citizens born with a car? Is there a particular age range when they have access to one? Or do cars need to be purchased?

3. Do all wealth groups have access to a car?
 
  • 2Like
  • 1
Reactions:
When upgrading roads, any upgrade from a small to larger roads would remove neighboring buildings. Although not a game-changer, it may be an appreciated addition for some, if zoning could be offset from roads by variable amounts when placing them to allow for future upgrades. So a town may start with a 2-lane road with a 1-block offset. Then, as the city grows, a bigger road could be added without having to demolish the buildings.

I do hope that an option for assigning building styles to districts, and the ability to plop buildings manually will be included in game, like the current "find it" mod. And has anyone seen any indication of a "move it" mod in-game replacement yet?
 
Absolutely wonderful :)
Now... the physics of accidents... if there are any, does that mean we gonna get physics for water flow too?
including waterfalls... or just fountains? :)
 
  • 3
Reactions:
And I can see so much potential for development later on... including mods...
Who's gonna create insurance companies and mechanics for... car insurance?
Or home insurance so you don't buy houses in flooding areas :)
 
  • 1Like
  • 1
Reactions:
"However, the calculations are more efficient, resulting in higher performance across the board as the pathfinding and simulation among other calculations take advantage of all the available processing power of the multicore CPUs. Also, as a major improvement to the first game in the series, Cities: Skylines II doesn’t feature hard limits for agents moving about in the city. Overall, the performance of the simulation and pathfinding is vastly improved which means larger populations are possible. The only real limits to the simulation are the hardware limitations on the platform running the game."

Sounds very good. Now the only thing I am a bit worried about is not being able to create airport runways & taxiway. If can at launch, 99% instant buy for me

Hopefully this means that with a decent pc one can have 1 million population without any issues.
This is a city simulator and not an airport simulator. But I am quite sure at some point there will be an airport DLC where you setup the color of the airport toilet paper and stuff like this.
 
  • 2Haha
  • 1
  • 1
Reactions:
This is a city simulator and not an airport simulator. But I am quite sure at some point there will be an airport DLC where you setup the color of the airport toilet paper and stuff like this.
"Also, as a major improvement to the first game in the series, Cities: Skylines II doesn’t feature hard limits for agents moving about in the city. Overall, the performance of the simulation and pathfinding is vastly improved which means larger populations are possible. The only real limits to the simulation are the hardware limitations on the platform running the game."
As per dev diary ;)

although to me "limits for agents moving about in the city" does not necesseraily translates into larger population - you could have large population in CS1 - like say 250K or more - yet no one in the streets - which looked like a zombie game.
 
I'm not sure if it has been mentioned already, but regarding the behavior of the AI, was it mentioned that some agents drive slower and others faster? As well as some exceeding the indicated speed limit? That would be very realistic if such behavior is reflected, and it could potentially cause or exacerbate traffic congestion.
 
The only thing is... emergency vehicles can overtake or be let through by a private car only when there is available additional lane...
does that mean only 2 lane roads would allow for such behaviour? or is there another meaning of lane in CS2 - we could see in dev diary 1 video that each road or a network, can have multiple lanes that you can add another network too (not just to the edges but also in the middle) - would that mean that 1 lane roads (as in 1 lane in each direction or even 1 direction) may have hidden side lanes which can be used for private cars to pull over to let an ambulance through or are we gonna get stuck as in CS1 - 1 lane only, there is no sidewalk, no ditch to get into, you lovely police van keep following me slowly as there is 40km/h speed limit :D:D
 
I'm not sure if it has been mentioned already, but regarding the behavior of the AI, was it mentioned that some agents drive slower and others faster? As well as some exceeding the indicated speed limit? That would be very realistic if such behavior is reflected, and it could potentially cause or exacerbate traffic congestion.
yes... there was something along these lines
 
  • 1Like
Reactions:
I have a few question :)

Apart from unfavorable road conditions (e.g. slippery surfaces) or weather conditions (e.g. bad weather) or reckless driving by drivers, are there any other factors that can stop traffic or cause huge traffic jams on the street?

Accidents confirmed in CS2. So, are there also random situations like a cars breakdowns? Is such a car taken on a tow truck?

Do accidents also involve public transport, sea, air and rail transport?

Can the police issue a ticket for not following traffic rules?
 
  • 1
  • 1Like
Reactions:
This is a city simulator and not an airport simulator. But I am quite sure at some point there will be an airport DLC where you setup the color of the airport toilet paper and stuff like this.
airport dlc is good but I literally ask nothing more than just placing runways and taxiways freely (and without the restrictions of the airport dlc).

Airports are quite big and important buildings in cities, and from what we already have seen the ports are big and custom despite already having an expansion in store for them, having no custom runways would make no sense.

And the small part of airport seen in the trailer looks simple and ugly.
 
  • 1
  • 1Like
Reactions:
I like that service vehicles will be dispatched from their district, But I am wondering if there is a mechanic that extends the call to the next available district if vehicles in current district are unavailable.

Ie, service call for fire, Check current district stations, if none, check next closest station, and so forth, as it would kind of suck if all vehicles are busy or stuck and no other vehicles get called to help out.

The main key is to check for the next closest. not the station on the other end of the map. And in general, fire stations and some other services probably shouldn't be limited to districts as a district could be a neighborhood, but perhaps the station is in the commercial area to cut down on noise, yet it's only a block away.

Unless each service type can have individual service districts. While a neighborhood or commercial district would be distinct from the fire, or a school district, that may cover several neighborhoods That could make more sense.
 
The only thing is... emergency vehicles can overtake or be let through by a private car only when there is available additional lane...
does that mean only 2 lane roads would allow for such behaviour? or is there another meaning of lane in CS2 - we could see in dev diary 1 video that each road or a network, can have multiple lanes that you can add another network too (not just to the edges but also in the middle) - would that mean that 1 lane roads (as in 1 lane in each direction or even 1 direction) may have hidden side lanes which can be used for private cars to pull over to let an ambulance through or are we gonna get stuck as in CS1 - 1 lane only, there is no sidewalk, no ditch to get into, you lovely police van keep following me slowly as there is 40km/h speed limit :D:D
The opposite lane could be used for overtaking, or as I had happening last Sunday irl, the ambulance just squeezed itself over the center and cars moved out of the ways to the sides (this was a road with one lane each direction)
 
I like that service vehicles will be dispatched from their district, But I am wondering if there is a mechanic that extends the call to the next available district if vehicles in current district are unavailable.

Ie, service call for fire, Check current district stations, if none, check next closest station, and so forth, as it would kind of suck if all vehicles are busy or stuck and no other vehicles get called to help out.
And, to extend your thoughts, if no service is available, neighboring cities would send their vehicles.
Let's see what it will be like... in 3 weeks, when Feature #5 "city services" will be released.
 
airport dlc is good but I literally ask nothing more than just placing runways and taxiways freely (and without the restrictions of the airport dlc).

Airports are quite big and important buildings in cities, and from what we already have seen the ports are big and custom despite already having an expansion in store for them, having no custom runways would make no sense.
Currently they're prefabs. Also don't worry about premade submeshes attachment positions. Mod for new building parts detaching and relocation will appear. But this doesn't clear lesser freedom in our creativity, despite devs advertisement. Only future gonna show us what is what.
 
Those 2 first diaries alone show why CS 2 was needed, makes CS 2 better than CS1 in most ways and put to rest those who cried" we don't need a sequel!".

No agent limits alone is HUGE
 
  • 2Like
  • 2
Reactions:
I like that service vehicles will be dispatched from their district, But I am wondering if there is a mechanic that extends the call to the next available district if vehicles in current district are unavailable.

Ie, service call for fire, Check current district stations, if none, check next closest station, and so forth, as it would kind of suck if all vehicles are busy or stuck and no other vehicles get called to help out.

The main key is to check for the next closest. not the station on the other end of the map. And in general, fire stations and some other services probably shouldn't be limited to districts as a district could be a neighborhood, but perhaps the station is in the commercial area to cut down on noise, yet it's only a block away.

Unless each service type can have individual service districts. While a neighborhood or commercial district would be distinct from the fire, or a school district, that may cover several neighborhoods That could make more sense.
you select if you want a service to be limited to a specific district.

If you don't, then the general default behaviour is that the closest avaliablr dispatches anyways, says in the blog.
 
And, to extend your thoughts, if no service is available, neighboring cities would send their vehicles.
Let's see what it will be like... in 3 weeks, when Feature #5 "city services" will be released.
I can't wait that long. The suspense is killing me! Lol

This game looks fun. Just hope I don't miss all the assets I'm used to for cs1 too much. I know they will come eventually
 
Last edited:
you select if you want a service to be limited to a specific district.

If you don't, then the general default behaviour is that the closest avaliablr dispatches anyways, says in the blog.
Yeah I remember the mention of districts but I guess I missed the closest available part.

I think I only read the blog as it was shared on a YouTube video. So I might have missed some things. I'll go through it again.