CitiesSkylinesMods / TMPE

Cities: Skylines Traffic Manager: President Edition
https://steamcommunity.com/sharedfiles/filedetails/?id=1637663252
MIT License
577 stars 85 forks source link

Improve passenger transport cost algorithm / public transport vs cars balance #156

Open VictorPhilipp opened 5 years ago

VictorPhilipp commented 5 years ago

Few points for discussion that I'd like to create a pull request for:

  1. Practically forbid entering overcrowded station/stops. Currently, game would let 100's of people stack on bus stops for days - very unrealistic. Real people would take a car or even walk but not enter an overcrowded station at all. AFAIU passenger count calculation is done in LoadPassengers methods.
  2. For either transfers or first entry to public transport, cost should take interval between vehicles into account (m_averageInterval) - only 10% of possible users will use a bus line with 1-hour interval. Different transportation modes have different optimal intervals (roughly): Bus: up to 15 minutes Tram: 10 minutes Subway: 5 minutes Train: 15 minutes
  3. Distinguish between dedicated ROW and shared lane vehicles i.e. to put it simply: metro and rail and monorail are 100% dedicated and should have a lower cost, trams are partly dedicated and have a bit higher cost, buses are usually non-dedicated (for simplicity sake, at least) and should have a still higher cost. Overall, practice shows that people prefer subway and city (and monorail in countries like Japan) and train over tram and tram over bus, as well as Cable cars over buses on short distances (just for the sake of viewing pleasure). So at least some preference factor should be used here.
  4. For 3), average speed calculated as a product of m_totalLength, m_averageInterval and number of vehicles of a TransportLine, could be also used.
  5. Optional: IMO, pedestrian transport is heavily abused in game, creating crowds of citizens regularly walking for 10's of blocks - highly innatural. What do you think of imposing a cost penalty on pedestrian transport?
  6. Optional: average speed of vehicles working on a line could also be used as a cost/attractiveness factor, because people psychologically prefer to use a higher-speed transport, even if it doesn't necessarily mean higher average speed.
  7. Your recent patch that applies cost to public transport transfers should apply with the same logic to initial public transport boarding (i.e. transfer from pedestrian to PT). In real life it includes time to pay fares, enter a station, psychological penalty of being in a possible crows, etc. Using PT is a bit harder than using a car.

^^ All of the above should solve the current situation, when the game is over-optimistic about public transport usage in cities - highly unrealistic for American cities and even highly unrealistic for European cities as well.

Please tell me what do you think, @VictorPhilipp . I'll prefer to do these changes on my own, with maybe a few hints from you on the code :-) And of course, thank you for your mod.

https://github.com/VictorPhilipp/Cities-Skylines-Traffic-Manager-President-Edition/issues/106

VictorPhilipp commented 5 years ago

Regarding point 2, this would be a very challenging option, or at least very difficult to balance. Because the player typically adjusts the budget (number of vehicles) per line based on the load. But if the load is dependent on the intervals, it can be VERY difficult to find a good cost / load ratio. It's a feedback loop. Although this may reflect the behavior in the real world to some degree, it is not a 1:1 correlation. Sometimes people just need to go from A to B and then they will synchronize their day's schedule with the railway schedule regardless of how the interval is.

This behavior can actually be found in Transport Fever, and it is indeed very challenging to balance. This changes the gameplay by a lot. I could imagine that a lot of players will dislike such a behavior.

VictorPhilipp commented 5 years ago

Note: I'm not a dev so these are just ramblings from an end-user perspective...

Regarding points 1 & 2:

It sounds like you want the mod to automate away the mayors' transport mistakes?

I think this is counterproductive for two main reasons:

  1. Seeing huge number of people at a stop is rewarding - "yay, I made a popular transport route"
  2. It also lets me know I have a problem - "I should do something about those queues"

Essentially, by making cims automatically use alternatives, you're silently shifting the symptoms of an issue elsewhere, making it more difficult to a) know there is a problem and b) determine where the bottleneck is and thus c) do something about it.

So, if suggestions 1 & 2 are implemented, please make them optional.

Regarding point 3:

Agreed, and I think it will help get more people using the big infrastructure, particularly on long journeys (where, otherwise, the costs would stack and push cims back to using cars).

I think this change would be very warmly received by players who are already complaining that TM:PE is impacting their PT.

Regarding point 4:

Would it be best to see how point 3 plays out in practice before adding those extra calcs? My potato computer is already providing central heating for my house due to the existing CPU load.

Regarding point 5 & 7:

Rather than adding penalty for pedestrians, would it be better to buff PT chains?

So, if I've used PT to get from A to B, I'm more likely to use PT to get from B to C. And it's cumulative as the journey progresses - the more PT I use, the more likely I am to use PT.

However, if I've committed myself to PT, the following is true: I've a) accepted transfer delays and b) accepted that there will be portions of the trip where I'll be walking to make those transfers happen.

See also: #166

Regarding point 6:

Pretty sure the pathfinder already takes in to account travel time.

originalfoo commented 5 years ago

Regarding point 1: There is now a mod to do that: Stops & Stations