Double-way feeder service

OpenTTD is a fully open-sourced reimplementation of TTD, written in C++, boasting improved gameplay and many new features.

Moderator: OpenTTD Developers

LiborTheOne
Engineer
Engineer
Posts: 6
Joined: 07 Sep 2018 09:01

Double-way feeder service

Post by LiborTheOne »

Hi all.

Sorry if I am wrong, but based on what I understand from Wiki page, You can, for example, bring people via bus from city to train station and transfer them to other city, but You cannot distribute arriving people from this station via same bus to city.

So is it really impossible or I am just understanding it wrongly?

Thanks
User avatar
acs121
Tycoon
Tycoon
Posts: 1957
Joined: 03 Nov 2017 18:57
Location: Courbevoie, near Paris, France

Re: Double-way feeder service

Post by acs121 »

You can however use symetric distribution in the Advanced Settings. It allows passengers to go in both ways.
LiborTheOne
Engineer
Engineer
Posts: 6
Joined: 07 Sep 2018 09:01

Re: Double-way feeder service

Post by LiborTheOne »

I was not aware of this setting.
Then I should set up the bus behaviour to load and unload as in all other its stops?
As Transfer and Leave Empty would not work, or would it?

(I would like passengers who know where they really want to go, not just hop on first vehicle that passes by.
But I doubt OTTD would be capable of such level of realism, as more recent games do not have this either. :cry: )
Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4763
Joined: 09 Sep 2007 05:03
Location: home

Re: Double-way feeder service

Post by Alberth »

With traditional feeder systems, you can have the same bus for bi-directional transfer of eg passengers, but you must keep the stream of passengers in one direction separate from the stream of passengers in the opposite direction. You can do that by using 2 stations rather than one. The wiki explains it.

The simpler solution nowadays is to use cargo-dist. It's like a feeder system, but the computer handles all, so no need for "transfer", and mixing different streams of passengers at the same station works out of the box.

Cargo-dist is disabled by default, which is probably why you never ran into it. If you enable it for one or more of the 4 different cargo-sets (passengers, mail, valuables, and everything else), that cargo gets a destination in your network, and it will use transport in the right direction only. You can enable it in asymmetric mode, which means whatever cargo wants to use a line can use it, and symmetric mode, where cargo streams in both directions on the same line has to be balanced (about the same amount of cargo in both directions).
Using symmetric mode where one direction has no cargo to transport (eg most industries), thus doesn't transport anything at all.
Being a retired OpenTTD developer does not mean I know what I am doing.
User avatar
MagicBuzz
Tycoon
Tycoon
Posts: 1354
Joined: 15 Feb 2003 17:32
Location: Vergezac, France

Re: Double-way feeder service

Post by MagicBuzz »

I have a small question about transferts (well, what is the exact english word for french "correspondance"?)


I have 2 cities. Paris and Lyon.


In Paris I have a few bus stations, and a train station that is quite far from the city. It doesn't accept passengers because there is no houses in the nearby.

I have the exact same layout for Lyon.

Does the "cargo distribution" graph can understand that :
- I have buses between Paris and Paris train station
- I have traines between Paris train station and Lyon train station
- I have buses between Lyon and Lyon train station

So people from Paris can travel to Lyon and get back using the trains.

In standard TTD it's impossible : I may for a "transfert" from Paris bus stations to Paris train station, then transfert from Paris train station to Lyon train station, then a normal service between Lyon train station and Lyon bus stations. But not the other side (or people from Paris will go to Lyon train station and come back before getting off at Lyon)
LiborTheOne
Engineer
Engineer
Posts: 6
Joined: 07 Sep 2018 09:01

Re: Double-way feeder service

Post by LiborTheOne »

Thanks Alberth for clarification, it works.

Settings - Advanced - Environment - Cargo distribution - Asymetric

So far I was able to test scenario when:
- Buses transfer passengers to train station, and train transports them to other city.
- Train transfers passengers to train station, and buses transport them across the other city.
- Buses transfer passengers to train station from multiple cities, then train transports them to other city, then buses transfer them across the city and other train transport them to yet another city.
- Train loads cargo and transports it to two cities (when each cargo "knows" where to unload).

Based on this I would say, that answer to Your question, MagicBuzz is yes.
As it looks like when there is any connection available, all stops/stations in particular "chain" know about each other.
User avatar
acs121
Tycoon
Tycoon
Posts: 1957
Joined: 03 Nov 2017 18:57
Location: Courbevoie, near Paris, France

Re: Double-way feeder service

Post by acs121 »

You could also use symetric. It makes it much more realist : passengers will not alway hop on first vehicle, may go through multiple stations etc.
User avatar
MagicBuzz
Tycoon
Tycoon
Posts: 1354
Joined: 15 Feb 2003 17:32
Location: Vergezac, France

Re: Double-way feeder service

Post by MagicBuzz »

Yes, but do you think the passengers will "understand" they can take the trains as none of them goes to stations actually accepting passengers ?
LiborTheOne
Engineer
Engineer
Posts: 6
Joined: 07 Sep 2018 09:01

Re: Double-way feeder service

Post by LiborTheOne »

Now I am facing another problem.

I have 4 000 passengers waiting at train station to be distributed to city with just 9 000 population. :D
(And I am refusing to have 100 buses in one city. :D )

It is crazy, what number, almost half the population of big city, of people do not have anything better to do, than wait at the station. :lol:

Yes, MagicBuzz.
One of my stations does not accept passengers but they use it to transfer elsewhere.
User avatar
acs121
Tycoon
Tycoon
Posts: 1957
Joined: 03 Nov 2017 18:57
Location: Courbevoie, near Paris, France

Re: Double-way feeder service

Post by acs121 »

LiborTheOne wrote:Now I am facing another problem.

I have 4 000 passengers waiting at train station to be distributed to city with just 9 000 population. :D
(And I am refusing to have 100 buses in one city. :D )

It is crazy, what number, almost half the population of big city, of people do not have anything better to do, than wait at the station. :lol:

Yes, MagicBuzz.
One of my stations does not accept passengers but they use it to transfer elsewhere.
Symetric distribution will, normally transfer passengers to stations not accepting them but having an interchange with a bus station, for example. They will also transfer it even to any station. You can always use the coupling/decoupling patch to use the unload all passengers option in.
LiborTheOne
Engineer
Engineer
Posts: 6
Joined: 07 Sep 2018 09:01

Re: Double-way feeder service

Post by LiborTheOne »

acs121 wrote:Symetric distribution will, ...
Asymetric does it too.
LiborTheOne wrote:One of my stations does not accept passengers but they use it to transfer elsewhere.
Buses unload and load passengers there and train transports them to and from other cities without any problem.

Sorry if I wrote it misleadingly, English is my tertiary language. :wink:
User avatar
acs121
Tycoon
Tycoon
Posts: 1957
Joined: 03 Nov 2017 18:57
Location: Courbevoie, near Paris, France

Re: Double-way feeder service

Post by acs121 »

To say then : symetric makes it even more realistic as you said you would like realist passengers.
Set mail distribution to symetric too, if it happens to you to have mail trains.
LiborTheOne
Engineer
Engineer
Posts: 6
Joined: 07 Sep 2018 09:01

Re: Double-way feeder service

Post by LiborTheOne »

Yes, it seam like all that years (with quite few big breaks) I was playing OpenTTD, this asymetric cargo distribution for everything is what I was looking for. :)

It brings whole new realism dimension to this, in my opinion, and I am so sad I discovered it only now. :(
leifbk
Chairman
Chairman
Posts: 814
Joined: 23 Dec 2013 16:33
Location: Bærum, Norway

Re: Double-way feeder service

Post by leifbk »

LiborTheOne wrote:I have 4 000 passengers waiting at train station to be distributed to city with just 9 000 population. :D
I'm mostly playing with cargo, and only rarely with passengers. I once set up a route with horse-drawn passenger carriages between 2 towns, with 350 and 150 pop. respectively (not allowed to grow). The station of the largest one had at a point in time 1,500 passengers waiting, three times the combined population of the two towns. They must have had people from all over the map teleported into that town, just to hang around waiting for the next carriage.
Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4763
Joined: 09 Sep 2007 05:03
Location: home

Re: Double-way feeder service

Post by Alberth »

LiborTheOne wrote:I have 4 000 passengers waiting at train station to be distributed to city with just 9 000 population. :D
(And I am refusing to have 100 buses in one city. :D )
Passenger production is too high in OpenTTD, cargo-dist magnifies that problem since passengers take several trains before reaching their destination, which means you transport less "new" passengers and so they pile up at the station :)

There are NewGRF sets that reduce passenger generation, but never used it. I normally mostly transport cargo between industries, serving a chain of industries is much more fun to me.
LiborTheOne wrote:It is crazy, what number, almost half the population of big city, of people do not have anything better to do, than wait at the station. :lol:
I just ignore the number :)
If you provide alternative routes to the city, they will be used as well.

Another option is to change the distribution setting. You can tweak how 'far' cargo wants to travel. By default, 'nearby' attracts more cargo than far away, but you can change that as a percentage (how much distance counts). By reducing the percentage, cargo will travel to more further away places. Whether that helps is another question though. While you get more destinations for the cargo (ie less for one destination), it also travels for a longer time, so the problem may get worse rather than better :p
It brings whole new realism dimension to this, in my opinion, and I am so sad I discovered it only now. :(
Why?
Think of all the hours you can play exploring the mechanism :)
Being a retired OpenTTD developer does not mean I know what I am doing.
Eddi
Tycoon
Tycoon
Posts: 8272
Joined: 17 Jan 2007 00:14

Re: Double-way feeder service

Post by Eddi »

Alberth wrote:Another option is to change the distribution setting. You can tweak how 'far' cargo wants to travel. By default, 'nearby' attracts more cargo than far away, but you can change that as a percentage (how much distance counts). By reducing the percentage, cargo will travel to more further away places. Whether that helps is another question though. While you get more destinations for the cargo (ie less for one destination), it also travels for a longer time, so the problem may get worse rather than better :p
if you are drowning in passengers, usually the reverse is better. making the influence of distance bigger, so people don't travel as far, so they don't block intermediate stations.

there are map modes which show the congestion of links, this may help in determining where you need to add busses. if you don't provide enough capacity, the problem will only get worse. and keep in mind that the cities will also continue to grow, providing even more passengers.
User avatar
Pyoro
Tycoon
Tycoon
Posts: 2558
Joined: 17 Oct 2008 12:17
Location: Virgo Supercluster

Re: Double-way feeder service

Post by Pyoro »

Initially I really liked cargodist, but every time it comes up these days I'm just getting more and more frustrated by it :mrgreen:

Current world population: 470.000
Currently waiting passengers top 10 stations: 72.000
Number of stations with more than 5.000 passengers waiting: ~30
Number of stations with more than 1.000 passengers waiting: ~~130

Now you can of course say "don't build such crappy networks!" etc. But even then, Jeez. ^^;
Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4763
Joined: 09 Sep 2007 05:03
Location: home

Re: Double-way feeder service

Post by Alberth »

Cargo-dist in itself creates crappy networks, you're transporting the same passengers in several trains instead of exactly one, which has drastic consequences on capacity of the network.

If every passenger uses 2 trains, only 1/2 of the trains get new passengers, the other 1/2 is solely used for bringing the passenger from its intermediate to its final destination. As a result you need to double the number of trains to get the same amount of transport capacity.
If each passenger takes 3 trains, you'll need to triple the number of trains.

The whole idea of building a journey from several smaller train-trips is just in-efficient.
Being a retired OpenTTD developer does not mean I know what I am doing.
User avatar
MagicBuzz
Tycoon
Tycoon
Posts: 1354
Joined: 15 Feb 2003 17:32
Location: Vergezac, France

Re: Double-way feeder service

Post by MagicBuzz »

IMHO there are 3 problems with passengers :

- 1st, as everyone can tell, the world population is lower than waiting passengers. I think the problem is not with the passengers waiting, but with the city population. IRL you'll never see any transportation in any city with less than 1000 inhabitants. At maximum you'll see a school bus. In OTTD you can build an international airport in a such village and you won't be able to transport all the passengers.
=> Solution couyld simply reside in multiplying the inhabitants could shown in the city by 10 or 20. On OTTD it's almost impossible to have a city lager that 200 000 inhabitants, while IRL that's the limit to get some "real" transportation system (bus + metro + tram + airport + train).

- 2nd, distance should not have impact on destination. Only travel time should. IRL you'll never (or almost never) want to spend more than 4 hours in bus/train and not more than 24h in plane. But 12h in plane, you can traval all arround the world, while in 4 hours in a bus you'll stay inside a 400 km radius.
=> Cargo distribution should take into account the travel time and type of every course, then generate passengers according this.

- 3rd, when you travel, you generally don't like to change 5 times of transportation system. If you must take 3 different buses to get in a train station, then change 3 times of train then again take 3 buses to go at your work... You just won't apply for this job. Or you'll take your car.
=> Cargo distribution should take into account the number of transferts.

At last, I remember a game "Transport Giant".
Its passenger simulation was pretty good. Each house in the game as citizen, and each citizen has a school or workplace, a shop and a leasure place to go.
Citizen were able to walk and take their car and were all the time going to scholl/Workplace -> home -> shop -> home -> leasure -> home (and restart again)

The citizen were taking your transportation system ONLY if your service was worth vs walk/car.

The OTTD map is far bigger and TG has fixed houses/service/instrustries while OTTD build and destroy new houses/industries during game play. So it's impossible to "clone" the algorythm. But I think it could be taken as model.

May each house in OTTD should have a list of cities to visit (2 or 3?) and passengers should be generated only according this list when a transportation system is available. Then the cargo dist should compare distance with the slower vehicle * 1.5 versus the actuel transportation service to decide if it's worth to take the service.


What about it ?
Eddi
Tycoon
Tycoon
Posts: 8272
Joined: 17 Jan 2007 00:14

Re: Double-way feeder service

Post by Eddi »

While all these are nice thoughts in theory, it completely fails to adress the way cargodist actually assigns destinations to passengers.

which is, it doesn't. passengers get generated completely independent from destinations. it's simply a heuristic where at each station it goes "x% of the passengers coming from y will choose z as next station"

there is simply not enough processing power in the world to simulate each passenger individually in maps as huge as those of OpenTTD. So what cargodist actually does is a flow analysis.

think of it like an electric diagram. each station is a power source/sink, and each line is a resistor. you will not simulate each electron individually to figure out how much current flows through each resistor.
Post Reply

Return to “General OpenTTD”

Who is online

Users browsing this forum: No registered users and 29 guests