Economy 2.0 Development Diary #1 Hello again! We are back with another development diary. This time we look at the economy re-work …
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. So let’s dive in!
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
Economy 2.0 Development Diary #1 Hello again! We are back with another development diary. This time we look at the economy re-work …
Beach Properties Dev Diary #2: Sunshine & Swimming Pools Welcome back to the second development diary for the asset pack Beach Properties. …
Beach Properties Dev Diary #1: Creating an Asset Pack Hello everyone! With Beach Properties out, it’s time for a mini-series of development …
Cookie | Duration | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |