The International Simutrans Forum

 

Author Topic: Catering vs. overcrowding, revenue by class  (Read 289 times)

0 Members and 1 Guest are viewing this topic.

Offline Vladki

  • Devotee
  • *
  • Posts: 3409
    • My addons, mostly roadsigns, pak128.cs
  • Languages: EN, CS
Catering vs. overcrowding, revenue by class
« on: August 17, 2020, 10:21:48 PM »
I wondered what effects are actually implemented for overcrowded vehicles and stations. Is there something that would motivate players to add capacity to overcrowded lines?

E. g. in real world, catering services on overcrowded train are hard or impossible to use - trolley service cannot pass through the train, and passengers cannot walk to the restaurant car. So it would make sense to remove the catering bonus from overcrowded vehicles.

Also it would be nice if one could see the catering bonus revenues, to see if it is worth bothering or not. Also the possibility to see revenues split by classes would be nice.

Offline jamespetts

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 20207
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: Catering vs. overcrowding, revenue by class
« Reply #1 on: August 17, 2020, 10:38:00 PM »
Overcrowding reduces comfort, just as in reality. For each passenger beyond the seated limit, the comfort is 10, albeit this is simply averaged among all passengers rather than applied differentially. Overcrowding does not affect catering, not least because I do not think that overcrowding does necessarily make catering impossible to use: just because there are no free seats does not mean that one cannot get to the buffet car.

Offline Vladki

  • Devotee
  • *
  • Posts: 3409
    • My addons, mostly roadsigns, pak128.cs
  • Languages: EN, CS
Re: Catering vs. overcrowding, revenue by class
« Reply #2 on: August 17, 2020, 10:53:49 PM »
Overcrowding does not affect catering, not least because I do not think that overcrowding does necessarily make catering impossible to use: just because there are no free seats does not mean that one cannot get to the buffet car.

Of course one or two standing passengers do not block catering. But if there are dozen people standing in the aisle (with their baggage), it will be impossible for the trolley service to pass, and uncomfortable for passengers to get to the restaurant car. So a threshold, like if there are 20 % standing "slots" occupied, then the catering becomes impossible, would be nice.

Overcrowding reduces comfort, just as in reality. For each passenger beyond the seated limit, the comfort is 10, albeit this is simply averaged among all passengers rather than applied differentially.

How does that affect player's revenue? Are standing passengers paying less? Or is notoriously overcrowded service considered uncomfortable, and passengers will not use it? Is the average done only within the overcrowded class?

Offline Freahk

  • Devotee
  • *
  • Posts: 1257
  • Languages: DE, EN
Re: Catering vs. overcrowding, revenue by class
« Reply #3 on: August 17, 2020, 10:57:47 PM »
Just as James said, in theory.
In practice it doesn't have a notable effect. The effect of comfort on profits in negligible.
You won't lose much profits. It's usually more profitable to run an overcrowded train than adding another car.


What's the real-world effect of overcrowding?
As long as all passengers somehow fit into the train, they won't get paid any refunds.
Anyways, people will complain, so it's bad reputation and people might decide to not take the train next time they travel.
Reputation is something we do not simmulate at all and I suspect it would be rather difficult to do so.
« Last Edit: August 17, 2020, 11:09:14 PM by Freahk »

Offline jamespetts

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 20207
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: Catering vs. overcrowding, revenue by class
« Reply #4 on: August 17, 2020, 11:40:30 PM »
Comfort reduces revenue per passenger if it falls below the passengers' tolerable comfort rating for the journey time in question. As stated, overcrowding reduces comfort of all passengers by averaging the comfort of overcrowded and non-overcrowded passengers. Use the comfort graph in the convoy's information window to see the actual comfort level, which takes into account overcrowding.

Overcrowding will also increase loading times, which can cause delays. Other than increased journey times caused by delays caused by overcrowding increasing loading times, overcrowding and comfort do not affect passenger routing choices. This is because of the extreme complexity of having multi-factorial routing: there is not a way of doing this that I am aware of that would not either produce irremediable anomalies (e.g. all passengers taking a slower but more comfortable route between two points even when the comfort of the first route is adequate) or would cause significant and unacceptable increases in computational intensity (e.g. by having to run the path-finding calculation twice for each class of passengers, once for speed only passengers and once for comfort/speed balanced passengers; this is not likely to be possible without an unacceptable increase in the time that it takes to recompute routes given the time that it took to recompute routes on the last Bridgewater-Brunel saved game).

Perhaps some time in the future when everyone has 32 or 64 core CPUs, it might be possible to abolish centralised pathfinding and route all passengers and goods dynamically (i.e. calculate the route for each packet of passengers at the point of generation rather than precalculating routes between points), but that is a long way into the future.

Offline Freahk

  • Devotee
  • *
  • Posts: 1257
  • Languages: DE, EN
Re: Catering vs. overcrowding, revenue by class
« Reply #5 on: August 18, 2020, 12:25:48 AM »
Use the comfort graph in the convoy's information window to see the actual comfort level, which takes into account overcrowding.
That's exactly the point.
My trains running on IC2 line (Bridgewater) have a capacity of 288 + 134 overcrowded.
An empty train (no overcrowding) got a comfort rating of 23.
A completely overcrowded train got a comfort rating of 21.

A class 2 passenger travelling 18km at an average speed of 45 km/h (which results in the comfort critical journesy time around comfort 20), will pay
- 4.33 @ comfort 21
- 4.34 @ comfort 23
- 4.34 @ comfort 255
- 4.31 @ comfort 1

I'd really call this negligible! It's simply not worth adding capacities to fight the overcrowding, as long as passengers don't pile up at the stations.

Same was figured out on much higher distances of ovesea shipping lines.
I was considering to use more comfortable steam ships instead of the sailing ships, but rejected this.
Prominster-Anningdale is a distance of 480 km. The fastest ships at the moment are 20 km/h fast, so I assumed this to be the average speed.
A class 4 (very high) passenger will pay
151.93 @ comfort 1-214
153.53 @ comfort 215-223
155.12 @ comfort 224-232
156.72 @ comfort 233-241
158.32 @ comfort 242-249
159.92 @ comfort 250-255

In practice, exactly one ship with a comfort level of 222 is available, but it's not really worth it. Only the 30 walthiest people can enjoy that comfort, so I get an additional revenue of 95.70. That's negligible, given the ship got an impressive capacity of 710 passengers.

It's simply not worth bothering about those few cents you may or may not earny when offering a better level of comfort.

This especially applies to overcrowding, as you usually won't lose much comfort.
« Last Edit: August 18, 2020, 01:05:10 AM by Freahk »

Offline jamespetts

  • Simutrans-Extended project coordinator
  • Moderator
  • *
  • Posts: 20207
  • Cake baker
    • Bridgewater-Brunel
  • Languages: EN
Re: Catering vs. overcrowding, revenue by class
« Reply #6 on: August 18, 2020, 10:44:20 PM »
Many real life transport operators over the years seem to have come to the same conclusion.

If there were a way of having comfort based routing choices, that would be ideal, but it is difficult to see how this can be done without a significant increase in available CPU power.