The International Simutrans Forum

 

Author Topic: Trains -- circle routes or lines?  (Read 1854 times)

0 Members and 1 Guest are viewing this topic.

Offline hymie

  • *
  • Posts: 5
Trains -- circle routes or lines?
« on: February 27, 2018, 01:06:16 AM »
Short question -- Am i correct that a passenger at stop A will get on a train/bus to stop B if the train/bus's schedule will take it to stop B before it gets to stop A again?

Long over-verbose question --

I've got 12 cities around my map, and I have a big circular railroad that connects them all, and it's making money like crazy, so I'm not terribly upset.

But I've got 10 trains going clockwise around this circle, and I've got 10 trains going counterclockwise.  My passengers and mail are not smart enough to recognize the direction of the trains.  If a passenger is going from stop H to stop G , then it will get on a train going A B C D E F G H I J K L M N A rather than wait for the next train which is going A N M L K J I H G F E D C B A .

Am I doing something wrong?  Or is this just the way passengers are?  Would I be better having separate end-to-end routes, such as
  • A B C D E F E D C B A
  • E F G H I J I H G F E
  • I J K L M N A B A N M L K J I
to get my passengers where they want to go in a more reasonable/realistic manner?

Or does it even matter?

Offline DrSuperGood

  • Dev Team
  • Devotee
  • *
  • Posts: 2463
  • Languages: EN
Re: Trains -- circle routes or lines?
« Reply #1 on: February 27, 2018, 02:49:18 AM »
Quote
Short question -- Am i correct that a passenger at stop A will get on a train/bus to stop B if the train/bus's schedule will take it to stop B before it gets to stop A again?
Yes passengers will only depart a stop on a convoy which will take them to their destination stop before returning to the current stop. Otherwise they will wait for it to return before boarding.
Quote
But I've got 10 trains going clockwise around this circle, and I've got 10 trains going counterclockwise.  My passengers and mail are not smart enough to recognize the direction of the trains.  If a passenger is going from stop H to stop G , then it will get on a train going A B C D E F G H I J K L M N A rather than wait for the next train which is going A N M L K J I H G F E D C B A .
Yes they will take any convoy that will deliver them to their destination. Even if the one they end up taking is the wrong side and tours them across the map just to go a few streets away.
Quote
Am I doing something wrong?
That is a matter of opinion. I find using bi directional loops to be inefficient in standard as passengers will end up taking the long way around instead of the short a lot of the time anyway. A single mono-directional loop with more convoys is better. Only go bi-directional once your mono-directional loop is maxed out on capacity and convoys, since then one gets some efficiency gains from it. Alternatively you could just stack another parallel loop in the same direction.

Personally I find using point-to-point with large hubs the most efficient. Not only does this allow for maximum capacity between points, but also one has precise control over the directions passengers move.
Quote
Or is this just the way passengers are?
In standard this is just how they are. In Extended passengers look at journey time so will rather wait and take the short way round a loop than tour the long way.
Quote
Or does it even matter?
In standard it does not matter at all. Passengers will happily let you tour them multiple times to the four corners of a map by plane just to get next door and will even pay you to do so if the payment model allows it. Personally I find the challenge to be dealing with the huge volumes of passengers that one gets late game rather than making sure they get there in an efficient or realistic way. In multiplayer games I have made hubs that dealt with 12 tile long trains leaving/departing every few seconds and hundreds of thousands of passengers per month.

Offline prissi

  • Developer
  • Administrator
  • *
  • Posts: 9196
  • Languages: De,EN,JP
Re: Trains -- circle routes or lines?
« Reply #2 on: February 27, 2018, 05:50:15 AM »
Passenger for the next stop are loaded frist, and only if there is still place further passengers are taken on. Hence passengers and mail for the other way around the circle are only taken on if the station afterwards is empty. Thus for progressed games this almost never happens and thus only a few portions goes the wrong circle.

The change to have for each connection also the number of intermediate stops (which can be calculated anyway during routing) is not very big. However, that means that all passengers would only wait for express trains, even if they would arrive faster using an empty local train.

Offline Ters

  • Coder/patcher
  • Devotee
  • *
  • Posts: 5275
  • Languages: EN, NO
Re: Trains -- circle routes or lines?
« Reply #3 on: February 27, 2018, 06:17:41 AM »
I quickly turn my bus loops into bidirectional loops, but my loops are much smaller than the examples here. They are rarely more than six stops. I only use loops for urban bus routes, urban mail routes, trams and metro trains. The latter connect my smaller bus loops in big cities where small bus loops from the central station can't cover everything.

Beyond that, my network is point-to-point for the same reasons DrSuperGood states. That is also why 99% of my circular lines, except the metro lines, connect to other lines on one stop only. I'm not sure my networks can be said to have big hubs on the largest scale, though. And when I write point-to-point, I mean it. Most non-circular schedules have only two stops in them. That way I have full control of capacity. At least as long as my large scale network does not have loops of an even number of lines, such as A-B, B-C, C-D and D-A. You may then find that passengers from A to C goes A-B-C, while passengers from C to A goes C-D-A. That means that the vehicles going from A to B are fully loaded, while vehicles going B to A are nearly empty and likely losing money, often more money than gained on the A to B leg. In these kinds of loops, passengers will not pick the first vehicle that gets them towards their final destination. Passengers will try to select a route with the least number of transfers, which is considered the shortest, and once that is done, get on the first vehicle to the next transfer with a free seat. In even loops, there are two equal "shortest" routes between A and C (and between B and D as well), both with one transfer (I think there is a tie breaker in number of stops per line, but in this case, that is equal as well). So the game will prefer one at "random", and it is pure chance if it is the same both ways. And the selection seems to change over time, for reasons I am not sure about.

Offline Frank

  • *
  • Posts: 1408
  • Languages: DE
Re: Trains -- circle routes or lines?
« Reply #4 on: February 27, 2018, 08:40:21 AM »
Hereby pay attention to the setting of pay_for_total_distance.

pay_for_total_distance german wiki

simuconf.tab
Code: [Select]
# three modes (default = 0)
# 1: the payment is only relative to the distance to next interchange, 2 to the trips destination (default 0 is distance since last stop)
pay_for_total_distance = 0

Offline kabhijit

  • *
  • Posts: 4
  • Languages: EN,HI
Re: Trains -- circle routes or lines?
« Reply #5 on: February 27, 2018, 05:01:54 PM »
I'm not sure if I remember this  correctly, but if passengers travel A-B on one convoy1 and B-C on convoy2, then the payment to convoy1 is proportional to percentage of distance covered between A-C, and payment to convoy 2 is proportional to distance covered on convoy2 as a fraction of distance A-C.

What this means is that if you have a hub-and spoke model where A-C distance is 100km (say), and your passengers have to travel A-B (10km) and B-C (100km) then they pay almost nothing for A-B.. As I recall there are some cases where the fares even become negative if they travel more than necessary, so you might want to watch out for that.

Offline Ters

  • Coder/patcher
  • Devotee
  • *
  • Posts: 5275
  • Languages: EN, NO
Re: Trains -- circle routes or lines?
« Reply #6 on: February 27, 2018, 06:48:48 PM »
Based on my understanding of the description in simuconf.tab, that should be the case only for option 2, option 1 being identical to 0 in this simple case. With option 0, passengers will pay for the distance between stops, whether they disembark or not. That only discourages non-straight roads, while detours otherwise are fine. Option 1 will discourage circular lines, as passengers only pay for the distance they have gotten closer to next hub (or final destination for the last leg, I guess) for each stop.