Passenger distribution: each station accepts only as many passengers as it supplies

Got an idea for OpenTTD? Post it here!

Moderator: OpenTTD Developers

Post Reply
User avatar
odisseus
Engineer
Engineer
Posts: 45
Joined: 01 Nov 2017 21:19

Passenger distribution: each station accepts only as many passengers as it supplies

Post by odisseus » 11 May 2019 10:42

I have got an idea for a new cargo distribution mode for passengers. It is not the same as Cargodist.

The idea is that a station would accept only a limited number of passengers each month (not unlike industry stockpiles in ECS). This number would depend on the station rating and the amount of houses covered by the station's catchment area.

The more passenger destinations (offices, apartments, theaters etc.) are situated next to the station, and the easier it is to catch a next connection, the more passengers will alight at that station. This is consistent with real life, because most of the real passengers avoid underserviced stations and don't travel to middle-of-nowhere places.

This distribution mode will force the players to build symmetric passenger routes. Channeling all the passengers from a 10k city into a hamlet with population 100 won't work anymore, because the hamlet will accept only 100 passengers even if your station has maximum rating. However, it will be possible to build a rail line between two large cities with intermediate stops at smaller towns. Some of the passengers will exit at those intermediate stations, but most of them will travel all the way t the other big city.

The passengers that were unloaded but not accepted would remain at the station, just like any other cargo. They can be picked up by other vehicles and transported to a station that would accept them (think city buses connecting the airport or railway station with business and residential districts).

The main difference with Cargodist is the absence of link graph. There is no need to calculate and recalculate connections and their capacities, because passengers don't have destinations. Instead the game will have to calculate how many passengers can each station accept in a given month (which is equal to the number of passengers it supplies, and that number is calculated anyway), and how many have already been accepted.

Transportman
Tycoon
Tycoon
Posts: 2691
Joined: 22 Feb 2011 18:34

Re: Passenger distribution: each station accepts only as many passengers as it supplies

Post by Transportman » 12 May 2019 19:31

This is just how CargoDist works if your setting it to symmetric for passengers, and have a large enough network with enough connected destinations, it balances the flow in both directions.

If your network is not connected enough, it would indeed look strange, but your proposal would not be the solution.
odisseus wrote:The main difference with Cargodist is the absence of link graph. There is no need to calculate and recalculate connections and their capacities, because passengers don't have destinations. Instead the game will have to calculate how many passengers can each station accept in a given month (which is equal to the number of passengers it supplies, and that number is calculated anyway), and how many have already been accepted.
Unfortunately, that wouldn't work, as cargo payments can not be calculated any more or have strange results. Cargo payment depends on source and destination locations and time, but you make the destination basically an unknown ahead of time.

If I have stations A-B-C on one line and have vehicles doing the entire line back and forth, if could be that I can't deliver passengers from A at B, because the vehicle from C has just been and filled the capacity. Next time around, it could be the other way around because the vehicle from A is earlier at B than the one from C. So the vehicle continues with the cargo to A, but what if the capacity has been reached there also? Is it going to take a hop back to B and even C?
Coder of the Dutch Trackset | Development support for the Dutch Trainset | Coder of the 2cc TrainsInNML

User avatar
odisseus
Engineer
Engineer
Posts: 45
Joined: 01 Nov 2017 21:19

Re: Passenger distribution: each station accepts only as many passengers as it supplies

Post by odisseus » 12 May 2019 20:52

I don't see why cargo payments cannot be calculated if the station stops accepting cargo. This happens all the time with industry stockpiles in ECS, and the payments are still calculated somehow. Are payments for passengers calculated differently from all the other cargo types?

The fact that passengers' destination is unknown in advance shouldn't matter either, because it is unknown even in the original game without any additions.

In fact, stations beginning and ceasing to accept various cargo types is a usual aspect of gameplay. Consider a station located at some distance from a small town and a passenger train making an intermediate stop at that station. If the town grows a bit, the station will start accepting passengers, and a through train will unload there. If you delete enough houses, passengers won't be accepted anymore — they will just remain on the station (or won't be unloaded at all, depending on the train order). Both of these events affect transportation payments, but destinations aren't calculated at all.

Eddi
Tycoon
Tycoon
Posts: 7414
Joined: 17 Jan 2007 00:14

Re: Passenger distribution: each station accepts only as many passengers as it supplies

Post by Eddi » 12 May 2019 21:05

i think it would make way more sense if you prevented generating the surplus passengers, instead of denying them to leave the train and go back where they came from, where they can't leave either, eternally stuck on the train...
You might not exactly be interested in Ferion, but if you are, have fun :)

User avatar
odisseus
Engineer
Engineer
Posts: 45
Joined: 01 Nov 2017 21:19

Re: Passenger distribution: each station accepts only as many passengers as it supplies

Post by odisseus » 12 May 2019 22:22

Eddi wrote:...denying them to leave the train and go back where they came from, where they can't leave either, eternally stuck on the train...
This is the way it works for all cargo types, including passengers, in the vanilla game. If the train doesn't unload at its destination, it will consistently generate losses, which usually sticks out like a sore thumb. Meanwhile, the rating of the source station will drop and the amount of cargo it receives will self-regulate — eventually down to nil.

Usually this problem is caused by insufficient catchment area of the destination station and is easily fixed. However, with my proposed distribution mode it can happen that the catchment area already covers the whole town, and the passenger quota cannot be increased that way. This is exactly how ECS industries work: each industry has a production rate and a stockpile size, and both of these values grow or shrink depending on supply and demand.

As for limiting the supply of passengers based on the amount that can be accepted, it would require maintaining a link graph similar to the one used by Cargodist.

Transportman
Tycoon
Tycoon
Posts: 2691
Joined: 22 Feb 2011 18:34

Re: Passenger distribution: each station accepts only as many passengers as it supplies

Post by Transportman » 13 May 2019 16:36

odisseus wrote:I don't see why cargo payments cannot be calculated if the station stops accepting cargo. This happens all the time with industry stockpiles in ECS, and the payments are still calculated somehow. Are payments for passengers calculated differently from all the other cargo types?

The fact that passengers' destination is unknown in advance shouldn't matter either, because it is unknown even in the original game without any additions.

In fact, stations beginning and ceasing to accept various cargo types is a usual aspect of gameplay. Consider a station located at some distance from a small town and a passenger train making an intermediate stop at that station. If the town grows a bit, the station will start accepting passengers, and a through train will unload there. If you delete enough houses, passengers won't be accepted anymore — they will just remain on the station (or won't be unloaded at all, depending on the train order). Both of these events affect transportation payments, but destinations aren't calculated at all.
The problem is in the nature of the networks. Passenger networks are often many-to-many, while cargo networks are usually more point-to-point (or point-to-many for end goods), so there is less control which source fulfils the quota for passengers.

In the original game it is no problem that destinations were unknown, as they were always the next station and that station would almost always accept it (unless you were running a passenger train to nowhere). With CargoDist it is a sequence of next stations that are all away from the source and accept the passengers.
Coder of the Dutch Trackset | Development support for the Dutch Trainset | Coder of the 2cc TrainsInNML

User avatar
odisseus
Engineer
Engineer
Posts: 45
Joined: 01 Nov 2017 21:19

Re: Passenger distribution: each station accepts only as many passengers as it supplies

Post by odisseus » 25 May 2019 23:48

I still don't see the problem. If you run a train to nowhere, your cargo won't be accepted. You don't get paid, but you still have the opportunity to transport the same cargo somewhere else.

This happens in the vanilla game e. g. when the accepting industry is closed down while the supply train is on its way. Eventually the player notices that his train generates losses, and reroutes it to another station or funds a replacement industry. (Or goes bankrupt if he used his entire starting loan to buy the train & tracks.)

Also, if I understand correctly what you mean by "many-to-many" passenger networks, they can exist only in Cargodist. In the vanilla game, the transportation works more like "many-to-one", but that one destination station is not known in advance. So you might also call it "many-to-wherever".

mrjack2
Engineer
Engineer
Posts: 47
Joined: 21 Jan 2016 23:04

Re: Passenger distribution: each station accepts only as many passengers as it supplies

Post by mrjack2 » 07 Jun 2019 00:55

This happens in the vanilla game e. g. when the accepting industry is closed down while the supply train is on its way. Eventually the player notices that his train generates losses, and reroutes it to another station or funds a replacement industry.
This is absurd. My games can have 500+ trains running. Loads of them make losses, because their role in the network isn't accounted for by the payments system (and can't really be, it's all too interdependent). I don't want to be running around micromanaging this sort of stuff. I have new lines to build, trains to upgrade, new industries to connect, etc.

Auge
Transport Coordinator
Transport Coordinator
Posts: 383
Joined: 23 Oct 2006 02:07
Location: Berlin

Re: Passenger distribution: each station accepts only as many passengers as it supplies

Post by Auge » 07 Jun 2019 10:08

Hello
mrjack2 wrote:This is absurd.
That's how the game worked since ever.
mrjack2 wrote:My games can have 500+ trains running. Loads of them make losses, because their role in the network isn't accounted for by the payments system (and can't really be, it's all too interdependent).
If you talk about the negative income for feeding vehicles when playing with CargoDist, this is not real negative income. The last step of the ride gets most of the income and balances the red, negative income of the intermediate-step-vehicles. So don't panic (in this case)!

Tschö, Auge

User avatar
Pyoro
Tycoon
Tycoon
Posts: 2472
Joined: 17 Oct 2008 12:17
Location: Virgo Supercluster

Re: Passenger distribution: each station accepts only as many passengers as it supplies

Post by Pyoro » 07 Jun 2019 11:04

Auge wrote:The last step of the ride gets most of the income and balances the red, negative income of the intermediate-step-vehicles. So don't panic (in this case)!
I do find this problematic though, as there's a clear (and typically useful) "negative income warning" for a reason, but if you play with cargo dist and feeder systems, you might end up in scenarios where at the end of every year you get the same 50 warnings (and then miss the 1 warning that actually has any meaning).

Maybe this was improved since I last checked, but it'd be nice if there were some refinement here (an option not warn for specific vehicles? Or perhaps the ability the group vehicles and set the warning to groups, so you can in theory put "routes" into groups and it'll only warn when the entire route is negative ... or something ^^).

McZapkie
Tycoon
Tycoon
Posts: 1176
Joined: 18 Jan 2014 18:10

Re: Passenger distribution: each station accepts only as many passengers as it supplies

Post by McZapkie » 07 Jun 2019 13:24

Generally it is good idea to produce negative incoming warnings individually to ungrouped vehicles, and in case of group, only if overall group income is negative.
Unfortunately, it is not possible to group different types of vehicles (yet),
while negative transfer issue arise usually when transfers are between slow and fast vehicles (train + ship for example).

Eddi
Tycoon
Tycoon
Posts: 7414
Joined: 17 Jan 2007 00:14

Re: Passenger distribution: each station accepts only as many passengers as it supplies

Post by Eddi » 07 Jun 2019 14:23

Auge wrote:Hello
mrjack2 wrote:This is absurd.
That's how the game worked since ever.
i think what he meant was that if you have tons of such negative-income feeders, you can't expect to find the trains that have actual negative income amongst them.

so the "absurd" was in reply to this sentence:
mrjack2 wrote:Eventually the player notices that his train generates losses
You might not exactly be interested in Ferion, but if you are, have fun :)

Post Reply

Return to “OpenTTD Suggestions”

Who is online

Users browsing this forum: No registered users and 3 guests