TUXDB - LINUX GAMING AGGREGATE
 NEWS TOP_PLAYED GAMES ITCH.IO CALENDAR CHAT WINE SteamDeck
 STREAMERS CREATORS CROWDFUNDING DEALS WEBSITES ABOUT
 PODCASTS REDDIT 

 

SUPPORT TUXDB ON KO-FI

MENU

ON SALE

New Twitch streamer aggregation implemented (#FuckTwitch) due to Twitch's API issues (more info on my Discord )



Name

 Metropolisim 

 

Developer

 Halfway Decent Games 

 

Publisher

 Halfway Decent Games 

 

Tags

 Strategy 

 

Simulation 

 

Singleplayer 

Release

 Coming Soon 

 

Steam

 € £ $ / % 

 

News

 5 

 

Controls

 Keyboard 

 

 Mouse 

 

Players online

 n/a 

 

Steam Rating

 n/a 

Steam store

 https://store.steampowered.com/app/937450 

 


LINUX STREAMERS (0)




Development Diary #3 - Traffic Pathfinding



Hello and welcome to Development Diary #3 for Metropolisim. I am really thrilled to be writing this and to be able to share new information about the game with you. I'd like to once again thank you for following and supporting the game. A special thank you to everyone who has Pre-Ordered the game. It is amazing to see the reception the game has already received even in it's early stages. I am eager to show you as much as possible in the coming months as we move towards Early Access release.

Today I am going to be covering a lot of in-depth information surrounding the traffic and pathfinding systems in Metropolisim. For those who have been following my development diaries you will know that initially I planned to have a narrated gameplay video uploaded to YouTube to coincide with this post. However, I just haven't had enough time to make that video. Since I have been seeing a lot of anxious fans awaiting more information on the game I decided to go ahead and post this diary today and continue to work on the video which will be released in the near-future.

The good news is, although I wasn't able to create the narrated video in time for this post, I still have several gameplay videos embedded throughout this diary, including first looks at city traffic in action. Hopefully this is as exciting for you to see as it is for me to share! Without further ado, let's go ahead and jump right into it.

https://youtu.be/1NpYmntkRtk
https://youtu.be/UY7ILHgwPRY
Fast and accurate pathfinding, in my opinion, is one of the core foundational elements of a city building game. Traffic impacts almost every other system in the game and is incredibly important to get right but also incredibly difficult to get right. In order to simulate millions of living citizens with real lives that include families, jobs, and leisure interests each of these citizens need to be able to move around your city from point A to point B in a believable manner and on a schedule that makes sense. Traffic systems are a constant source of feedback for the player as the cars zoom to and from their destinations so getting it right is incredibly important. If paths take too long to create, are not accurate, or traffic behaves in a nonsensical manner it can break immersion and result in poor gameplay.

I have spent a significant amount of time creating the traffic and pathfinding systems for Metropolisim and I am very happy with where these systems are. With that said, the game is still in a pre-alpha state so I am continuing to work on fixing bugs and adding features and functionality. I have lots more planned to add as the game moves into Early Access and beyond.

In this Development Diary I am going to cover some of the points I think the community will be most excited about but keep in mind there is lots more still to share in the future.

#1 - Traffic - Rush Hours

Let's start off with a bang. I've had the question posed to me multiple times - "will there be rush hours in Metropolisim?"

I am happy to say the answer is YES!

Rush hour traffic is a factor in any major real-life city and I am happy to say that rush hour traffic systems will be present at Early Access launch of the game. No mods required.

Dynamic traffic that changes throughout a normal 24-hour cycle was something I knew I wanted to have in the game from the beginning. Since citizens are all fully simulated and are constantly evaluating a set of priorities to make decisions about how they should behave it is a must that their travel cycles change throughout the day.

Each citizen of working age in your city who is able to find a job will need to commute to and from work using one of the many transportation options. These could be from anything to walking, driving, or using public transportation. Each citizen will have a maximum tile distance they are willing to commute to work, so don't expect them to be willing to drive four hours each way to and from work. In addition, each transportation option will have a number of factors that influence the maximum distance a citizen is able to use that option. Citizens will not walk more than 20 tiles each way to work, and they will not walk more than 15 tiles to a bus stop, for example.

Careful city planning will be necessary to lay out your communities in the most efficient way possible to ensure citizens are able to use the most effective methods to reach their place of employment or leisure activities. Minimizing the use of cars will be important as you progress into the later stages of the game and begin to have higher density buildings appear. You'll need to get as many citizens as possible to either walk or use public transportation when moving through the city to reduce traffic congestion and eliminate traffic choke points and traffic jams.

On a typical weekday you will see spikes in traffic as citizens commute to work in the morning, and then again, likely in the opposite direction, as they commute home from work. You will also see increased traffic on the weekends as citizens head off to enjoy leisure pursuits like going out to eat, to the movies, or to the park. And of course, late at night, traffic will wind down as your citizens get nestled into their beds for the evening.

What this means to you is increased usage on roadways at peak times depending on citizen desires, and depending on your city layout and the paths citizens choose to reach their destinations. So expect traffic jams and unhappy citizens if you don't plan your road networks accordingly.

Excited yet?

#2 - Traffic - Actual Destinations, Real Paths
As I alluded to above one of my main goals with the traffic and pathfinding systems is to make the traffic behavior as close to real life as possible. That means full pathfinding and true routes for each citizen in the game. Every citizen and vehicle you see on the screen is moving along an actual path with intent to reach and objective for a purpose. You will not need to investigate charts or look at data overlays in order to understand how traffic is behaving in your city. You can simply look at what is happening on-screen. When you see a car driving on a road you will know that it is a real citizen with a real objective and not simply a randomized vehicle there to make you think there is traffic on the road.

But before you ask, I will still be providing lots of data, charts, and overlays for you to dig into as much as you'd like. Combined with the on-screen traffic you will be able to make informed decisions when deciding how to lay out your road networks whether you are getting ready to zone new communities or need to make improvements to alleviate congestion within existing communities.

#3 - Traffic - Full City, Fully Simulated
https://youtu.be/gvN4PQ05o6A
Another way to make the traffic as realistic as possible is to constantly be handling traffic throughout your entire city even when you aren't observing it. In other words, just because you aren't watching a citizen that doesn't mean they've stopped going about their day.

Since every citizen is a simulated agent they'll still go to school, work, or the park while you aren't watching. This means you'll need to continually be evaluating the paths they are taking and which roads they are using to ensure traffic is able to flow as smoothly as possible and citizens are able to reach their destinations in a fast and orderly fashion. No neighborhood is immune to traffic issues, so you'll need to continually review each section of your city.

Too much time stuck in traffic will result in longer commute times and lead to unhappy citizens. Unhappy citizens will negatively impact a lot of things in the game from mayor rating and land value to the quality of businesses looking to move into your city.

#4 - Traffic - Lane Usage

This is another one I'm really excited about. A common complaint from other city building games is vehicles using lanes in ways that don't make sense. In Metropolisim I have spent a significant amount of time developing logic to help your citizens make correct decisions regarding lane usage. It can be incredibly frustrating to watch vehicles all lining up in one lane while there are other options available. Vehicles in Metropolisim follow dynamic paths that understand the best lane to use based on each step in the path.

For road types that have more than one lane traveling in each direction citizens will follow paths that take them into the correct lanes depending on if they are going straight, left, or right at the next intersection. You will not have to deal with all citizens using one lane and creating needless slowdowns or traffic jams regardless of which way they are going. Right now none of the roads in the game have specific turn lanes, but I am still in the process of exploring turn lanes and how to best implement them to even further segment traffic on roads in a more efficient manner. More to come on this.

There are a number of different road types in Metropolisim with different lane compositions. Everything from two-lane streets to four-lane avenues to six-lane highways. You will see behavior that makes sense from your citizens as they move along their paths utilizing these different road types.

#5 - Traffic - Intersection Types & Settings
https://youtu.be/lWo9B7g-YbY
Yet another exciting feature I think you'll appreciate. In order to manage your traffic more efficiently you will have the ability to change a number of variables for each intersection in your city. These variables range all the way from the actual type of intersection itself down to the timing and pattern of the traffic lights.

When they are constructed each individual intersection type will have a default "type" depending on the expected traffic volume on that road type. Examples of these include:


  • 4-Way Intersection with Traffic Lights
  • 4-Way Intersection with Stop Signs
  • T-Intersection (cross-traffic does not stop)
  • T-Intersection with Stop Signs
  • etc.


These intersection types can be changed at your discretion to whatever you require to manage your road networks and to ensure the best flow of traffic through your city. Initially a quiet residential street may be best served by a 4-way intersection with stop signs. This will ensure residents don't have to wait too long when there may be very little traffic on the street. As that street grows over-time it may be re-zoned for medium or high-density residential. Once larger buildings begin construction there will be an influx of additional traffic. At that point you may want to change the intersections at each end of the street to be 4-way with traffic lights to better control the flow of traffic on the street.

Additionally, through inspecting the road type and bringing up the intersection panel you will be able to change the timing and pattern of traffic lights. This will be useful if you observe a street that has a significant amount of traffic flowing in one direction but not the other. If you have more traffic going north/south on a street than east/west you can set the traffic light to remain open for north/south traffic for twice the amount of time it remains open for east/west. This increased amount of time for traffic traveling north/south to flow through the intersection will alleviate potential traffic jams.

This is just the tip of the iceberg when it comes to the level of detail that will be present in Metropolisim when it comes to intersection management. Hopefully this gets you thinking about all the exciting possibilities. More to come in the future.

#6 - Traffic - Speed Limits & School Zones
Each road type will have a default maximum speed value at time of construction. These values can be tweaked within a clamped range of values to allow you to directly impact the flow of traffic within the city. However, keep in mind that faster traffic creates more traffic noise which directly impacts the happiness of citizens living on the streets you are modifying. So while you may be decreasing commute times for citizens who commute along those roads it will be important not to attempt to zone medium or higher wealth on high traffic and high-speed-limit streets as these citizens will quickly become unhappy.

Another feature I'd like to highlight to show just how in-depth I am going with traffic speed management is the implementation of school zones. Just like in real-life, schools will require cars to slow down as they pass by in order to protect the increased number of child pedestrians who will be present in the area surrounding the school. So plan accordingly. Probably best not to zone a school directly on an Avenue for example, as this slowdown on a main avenue will lead to increased commute times and unhappy citizens.

#7 - Traffic - Emergency Services

Just like in a real city emergency services should take priority over regular vehicles instead of getting stuck behind them. In Metropolisim police cars, fire trucks, and ambulances will cause vehicles in front of them to yield to them by moving to the side of the street allowing the emergency vehicle to pass by unimpeded when possible.

However, this will not be possible on congested roads or roads that are experiencing traffic jams. This is because other vehicles will not have the ability to move out of the way of emergency vehicles due to not having space. Another reason it is important to keep your traffic situation under control. If your emergency vehicles are not able to reach their destinations quickly it can lead to fires spreading, crimes escalating, and citizens dying. This can lead to a cascading amount of negative impacts on your city including everything from citizen unhappiness, to building destruction and abandonment as well as draining your budget.

#8 - Pathfinding - Shortest Path vs. Fastest Path
One of the things I'm most proud of concerningthe pathfinding algorithm in Metropolisim is how it determines which is the best path for citizens to use for each of their routes. One critical aspect of this is the differentiation between "shortest path" and "fastest path". Here is a definition of each:


  • Shortest path - Least amount of tiles between start point and end point
  • Fastest path - Most efficient route based on a number of factors including road types traveled and amount of tiles between start and end point


At first glance you might think that the shortest path is the best path but in the majority of cases it actually is not. An example of this would be traveling along a street vs. a highway. On a highway vehicles are able to travel at a higher rate of speed and with limited or no intersections which cause them unnecessary stops. On a street vehicles travel slower and are forced to stop at each intersection along the way.

Now imagine a scenario where a highway and street are running parallel to each other separated by five tiles and a citizen is attempting to travel 100 tiles from south to north on one of those road types. When the pathfinding logic is evaluating the options and trying to find the best path between either the street or highway it should be intelligent enough to know that highways are a more efficient means of travel. I accomplish this by assigning each road type a weight and performing calculations to return a value cost for each path option. The end result of this is that even if the street is closer to the starting point of the path the pathfinding algorithm will understand that it can simply travel 5 tiles further west and get on a highway to proceed the 100 tiles north that is required for the citizen.

This results in much more believable and realistic pathfinding and traffic patterns as citizens will prefer to use highways, avenues and one-way roads instead of surface streets.

I'm so excited about this.

#9 - Pathfinding - Route Views
https://youtu.be/8qkxyaclzvI
Finally, I'd like to talk about route views. In Metropolisim you have the ability to see the route any citizen is on at any time simply be inspecting or querying the citizen as they move through the world. Just two clicks of the mouse will get you into their Citizen Detail panel and then to the 'Show Route' button. This will draw their path on the screen.

This gives you the ability to get detailed information about the citizens who are using your roads, what they are using them for, how long it takes for them to reach their destinations, and how they are contributing to the overall traffic patterns in your city. This tool can be incredibly powerful as a Mayor and it also adds a level of depth and realism that I feel is really fun and exciting.

#10 - Conclusion
If you've made it this far thank you for reading all of this. As I've said numerous times I remain excited about the future of this game and committed to my vision of creating the most deeply complex city building game available for Windows, Mac, and Linux. We are inching slowly closer to Early Access release later this year but I believe me when I say I have many years of content planned for Metropolisim. New content will not end when we enter Early Access or even after 1.0 release.

If you haven't already please consider Pre-Ordering Metropolisim.

Thank you again for your support. Signing off for now.

-Roy


[ 2019-02-16 00:38:35 CET ] [ Original post ]