Breakdown tolerant tracks

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

Moderator: OpenTTD Developers

Hurkyl
Engineer
Engineer
Posts: 6
Joined: 25 May 2007 03:01

Breakdown tolerant tracks

Post by Hurkyl »

Have there been any published track designs that are break-down tolerant? I haven't found anything on the wiki, and only one forum post on the matter. I'd like to think one should be able to make a high-volume network with some amount of breakdown tolerance....

I know you can make criss-crosses with PBS, but that has the drawback that when a train ever decides to switch tracks, they block traffic in the other lane. (bonus problems if it breaks down when it does so)



I've started thinking of designs myself, and here's a three-wide design for a straight line. The branches are organized so that every fork allows you to go straight or move one lane left (where the left lane wraps around back to the right side). By removing tracks from the middle line, this can convert into a two-lane track that allows the two lanes to swap (so that a lane-changer doesn't block traffic)

If I've analyzed it properly, a single train breaking down cannot block traffic completely.

The design shown repeats every 8 tiles, and was intended for 3-tile trains. It could be reduced to 7 tiles, but in that case I didn't like the distance between the middle signal and the signal in the left lane should it decide to switch.
Nudham Transport, 13th Jun 1953.png
Nudham Transport, 13th Jun 1953.png (46.03 KiB) Viewed 2337 times

User avatar
V453000 :)
President
President
Posts: 947
Joined: 01 Feb 2011 11:22
Location: Beer

Re: Breakdown tolerant tracks

Post by V453000 :) »

You could already send trains over completely separate tracks, not to mention that they can breakdown literally anywhere and at any time so they can break literally any design you can think of. I can see how this is meant to "tolerate" breakdowns, but I think breakdowns are so majorly wrong as trains can break down anytime, not just when unserviced, that I would suggest turning them off.

With breakdowns off, any discussion about some designs gains some sense because there isnt the stupid breaking factor anymore.
ImageImageImage

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

Re: Breakdown tolerant tracks

Post by Eddi »

the main problem is not actually that the train can break down "anywhere, anytime", but that the pathfinder cannot handle a broken down train differently than any other train. so e.g. a "2 lane with X switches" layout the train cannot decide whether the train ahead is moving at same speed (doesn't need switching) or is broken down (needs switching), neither it can weigh the pros and cons of switching (is there another train that would be blocked?) so you have no method of mitigating the effects of a breakdown on your network. thus there can be no network layout that does that.
You might not exactly be interested in Ferion, but if you are, have fun :)

Hurkyl
Engineer
Engineer
Posts: 6
Joined: 25 May 2007 03:01

Re: Breakdown tolerant tracks

Post by Hurkyl »

Some mitigation is clearly possible. e.g. a one-lane track comes to a complete halt when a break-down happens, but a two-lane track with X switchovers has a chance to make forward progress, possibly at the risk of new problems if two lanes' worth of traffic try to use it. Or putting every train on a dedicated track means breakdowns can only affect that one train (at the cost of your network taking up a lot more space).

The design goal the 3-lane design I posted one train cannot block another train, no matter how silly it decides to be. In order for a train to be blocked, it requires two different trains to block the two available paths. This will, of course, never match the throughput of a three-lane no-breakdown track with similar signal spacing, but I'm hoping to average the equivalent of 1.5 to 2 lanes worth.

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

Re: Breakdown tolerant tracks

Post by Eddi »

sure, you can sell all your trains, and have never problems with breakdowns again...

the point i was trying to make that the switchovers cause more harm during "normal" operation than they help during a breakdown
You might not exactly be interested in Ferion, but if you are, have fun :)

Hurkyl
Engineer
Engineer
Posts: 6
Joined: 25 May 2007 03:01

Re: Breakdown tolerant tracks

Post by Hurkyl »

That strategy doesn't work, because if I sell all my trains, my throughput is even less than if I had a single track that periodically halts due to breakdowns. :P

What is your alternative track/network design that works better? Getting answers to that question is why I started the thread. For the purposes of my question, turning off breakdowns is cheating, and sticking only to short disjoint routes is unsatisfying.

User avatar
FLHerne
Tycoon
Tycoon
Posts: 1539
Joined: 12 Jul 2011 12:09
Location: St Ives, Cambs, UK

Re: Breakdown tolerant tracks

Post by FLHerne »

Hurkyl wrote: What is your alternative track/network design that works better? Getting answers to that question is why I started the thread. For the purposes of my question, turning off breakdowns is cheating, and sticking only to short disjoint routes is unsatisfying.
The point is that there's no possible track design that allows more throughput per tile than simply having a few parallel tracks and occasionally suffering breakdowns. Designs such as yours can offer an improvement in some breakdown cases (but not all, because the pathfinder is a bit stupid), but cause delays during normal operation because of trains cutting in front of each other (also because of the very short-termist pathfinding), and take up more space and money to build. Because your network should spend more time operating normally than with a breakdown, overall such designs tend to be less efficient :wink: .

With the current (known to be flawed) breakdown system, there isn't really an option to maintain a reliable but complex network with breakdowns enabled, hence why many players don't consider disabling them to be cheating. If you really don't want to, the best you can do in terms of throughput is to have as many parallel tracks as possible (to increase spacing between trains and hence the number delayed by each breakdown).
Temporary Permanent signature filling text. Content coming soon delayed indefinitely! Oh, and I have had a screenshot thread.
Linux user (XMonad DWM/KDE, Arch), IRC obsessive and rail enthusiast. No longer building robots; now I ring church bells.
Author of an incredibly boring stickied post about NewGRFs.

Hurkyl
Engineer
Engineer
Posts: 6
Joined: 25 May 2007 03:01

Re: Breakdown tolerant tracks

Post by Hurkyl »

It is a matter of scale, though: breakdowns are a more significant problem in long stretches of track than short ones. For long tracks it's not immediate that a design with switching that allows inefficiencies due to pathfinding but localizes the impact of breakdowns will lose to parallel tracks in a similar amount of space.

The straight piece was really just to get started though: I think breakdown tolerant interchanges and station entrances/exits are more important, but much harder to design. (but that could just be due to my poor networking skills!)


I did have another thought on the long straight tracks: rather than trying to put crossovers throughout a straightaway, you could periodically place all-to-all switches (or some subset), then keep to parallel 1-lane tracks between switches. The effect of a breakdown in a straight track will then only directly affect traffic behind it up to the previous switch, and trains have fewer opportunities to do something stupid since the switches are infrequent.

(I wonder if something is already playing this role in "standard" networks, and that's why you guys aren't seeing the need to do something)

Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4754
Joined: 09 Sep 2007 05:03
Location: home

Re: Breakdown tolerant tracks

Post by Alberth »

Hi, finally someone up for the challenge of designing tracks with the presence of breakdowns :)

I always play with breakdowns on, it makes reliability and servicing trains timely so much more useful.
Hurkyl wrote:I did have another thought on the long straight tracks: rather than trying to put crossovers throughout a straightaway, you could periodically place all-to-all switches (or some subset), then keep to parallel 1-lane tracks between switches. The effect of a breakdown in a straight track will then only directly affect traffic behind it up to the previous switch, and trains have fewer opportunities to do something stupid since the switches are infrequent.
I do that, and it does work to an extent; the pathfinder nicely distributes trains between the parallel tracks (I normally have 2 or 3). However, I found that sometimes the switch causes massive track switching (every train switches track). When one train switches, the next one from the other track switches too, as the path-finder sees empty space there. The first track is now filled, so the next train from the first track switches also, and so on, until there is a large enough delay to the next train to stop the path-finder into thinking that switching tracks is useful.
A few weeks ago, I had a small test by inserting a reverse two-way path signal to discourage the path-finder. That improved things, but did not eliminate the massive switching completely.

I want to do some more experiments, one direction is to use priority signalling to stop trains from switching tracks when there is a train at the parallel track.

Another thing I am wondering about is to improve the network so massive switching doesn't degrade throughput (much).



Albert

Hurkyl
Engineer
Engineer
Posts: 6
Joined: 25 May 2007 03:01

Re: Breakdown tolerant tracks

Post by Hurkyl »

I couldn't get the backwards PBS signal thing to work: my trains preferred to sit and wait at a signal rather than to take a track that had them.

My plan, though, was to go back to the switchover design, but use the backwards signals to encourage all traffic to use the left lane. So a train should only switch over to the right lane if it is overtaking the train in front of it -- and it should only be able to squeeze back into the left lane when it finds a gap in traffic.

This could lead to a propagating chain of switches behind it, but that's okay: the traffic needed to slow down a bit to make room anyways.

User avatar
Tafidis
Traffic Manager
Traffic Manager
Posts: 157
Joined: 19 Oct 2010 19:49

Re: Breakdown tolerant tracks

Post by Tafidis »

I also like breakdowns, although "reduced", as "normal" seem to happen far too often. One important parameter that changes the gameplay a lot when one is playing with breakdowns on, is to ensure that trains can accelerate fast. Granted, the majority of the "downtime" is the breakdown event itself, but - as soon as that's over - the train should be able to pick up speed quickly. This effects both (a) train length, and (b) engine power (rather than maximum speed). I guess this is why some people (not me) consider disabled breakdowns a cheat. If you design the tracks carefully (read: terraform somewhat liberally, not necessarily "nuke" mode), your train only needs to accelerate once and then goes max speed to its destination. Thus you see one 'uu37' pulling 20 cars and stuff like that. Breakdowns force you to design your consists more carefully.

Track layout: Often, I use 3 lane PBS (1 lane each way + 1 lane two-way) with X cross-over every 1 trainlength (see image). Trains tend to not use the middle (two-way) lane due to the reverse path signal. Thus, this is (mostly) used for overtaking or when a train on the one-way track is broken down. Sometimes, trains queue up to use the one-way track, even if the middle overtake lane is free. I have never tweaked pathfinder penalties.

If traffic is too high, I widen this into 2x2, with double one way tracks that have X cross-overs less often than one train length. I find that trains tend to not switch if they have a straight track ahead of them.

I understand that my layouts look basic to advanced players, but maybe newer players can use/try them.
Beningley Transport, 18th Oct 1963.png
(122.11 KiB) Downloaded 4 times
Citizens Celebrate! First train arrives in <insert your favourite town/station name here>!

Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4754
Joined: 09 Sep 2007 05:03
Location: home

Re: Breakdown tolerant tracks

Post by Alberth »

I find the short space between the junctions quite interesting, I have much longer tracks between them, like
tracks.png
longer tracks
(310.93 KiB) Downloaded 4 times
The intersection with one-path signals that I tried looks like this
tracks2.png
tracks2.png (97.5 KiB) Viewed 1989 times
(I cannot find the actual save game at the moment :( )

Below an example of the kind of tracks I lay for a busy station:
tracks1.png
(904.72 KiB) Downloaded 4 times

User avatar
Tafidis
Traffic Manager
Traffic Manager
Posts: 157
Joined: 19 Oct 2010 19:49

Re: Breakdown tolerant tracks

Post by Tafidis »

The short space is there to maximize throughput of lines. At best you have trains spaced one train length apart. Sometimes you get two trains moving in parallel, with one using the middle, two-way track. Some switching is bound to occur in that scenario: e.g. if train on middle track arrives at switch first, it reserves the next one-way track section. The following train on one-way track will stop of course, and then it will (a) switch over to middle track, or (b) wait till one-way track is clear. I see both of these occurring (I can't really tell which one happens more often).

For 2x2 I do exactly as you do in your first attachment, with more lines I make the X's bigger so that trains can switch to any track. This is bad, in case a train breaks down on the X, it blocks ALL tracks. Thus, I like the suggestion of the OP (thanks Hurkyl) to connect tracks in pairs rather than all at the same time. I haven't tried it yet.

By the way Alberth, is there a reason why your north-bound line in the first attachment does not have switches? Is it because of routing different destinations? In such a case, I always keep them together for load balancing until they really HAVE to split, except may be if I want to allow space for a queue before a pick-up station or something. As for your station in the second attachment, you can make the X bigger at the entrance, so that the train seen there doing 2x45 twice does not need to do that.

EDIT: How about this for three lane one-way? It is like the suggestion of Hurkyl, but without elevations? The normal path signals are optional, and are there to discourage unnecessary switching.
tracks.PNG
tracks.PNG (16.36 KiB) Viewed 1933 times
Citizens Celebrate! First train arrives in <insert your favourite town/station name here>!

Alberth
OpenTTD Developer
OpenTTD Developer
Posts: 4754
Joined: 09 Sep 2007 05:03
Location: home

Re: Breakdown tolerant tracks

Post by Alberth »

Not sure why, probably beause I am an ad-hoc builder. I don't really plan things, I just build, connect, and extend when needed. If tracks run smoothly enough, no need to change them. I don't care for symmetry that much :p

I often have more tracks on the way to the unloading stations; trains go slower when loaded, and get to its max speed takes longer, so you need more space/tracks for good flow. Perhaps that's also why there are no crosses in my first picture, the northern direction is the 'empty' direction iirc.


I have never tried 3 parallel tracks like you show; one possible disadvantage may be that you're effectively pushing trains together onto fewer tracks than available, which in itself may also cause more switching to happen.
It seems like a nice experiment to try though.

odalman
Engineer
Engineer
Posts: 37
Joined: 07 Jan 2020 01:46

Re: Breakdown tolerant tracks

Post by odalman »

I am testing double tracks in a game with breakdowns. The bottom left is with simple crossovers and the top-right is with backwards signals in the middle in an attempt to penalize track changing. Made for 4-tile trains.
Image
Attachments
doubletrack.png
(190.7 KiB) Not downloaded yet

Oncle Boris
Engineer
Engineer
Posts: 9
Joined: 24 Oct 2011 14:55

Re: Breakdown tolerant tracks

Post by Oncle Boris »

Have you tried the following prioritized switcher?

https://wiki.openttd.org/Right-of-way_Lane_Change

odalman
Engineer
Engineer
Posts: 37
Joined: 07 Jan 2020 01:46

Re: Breakdown tolerant tracks

Post by odalman »

No, I never saw that. It is from 2008. Is it still up to date or could it be made better with path signals? I see several block entry pre-signals (yellow) but no block exit pre-signals (white). And I do not understand what the outer tracks on both sides are for.

Oncle Boris
Engineer
Engineer
Posts: 9
Joined: 24 Oct 2011 14:55

Re: Breakdown tolerant tracks

Post by Oncle Boris »

odalman wrote:
18 Jan 2020 17:56
No, I never saw that. It is from 2008. Is it still up to date or could it be made better with path signals? I see several block entry pre-signals (yellow) but no block exit pre-signals (white). And I do not understand what the outer tracks on both sides are for.
I haven't tested it "heavy duty" but I've launched a basic test with a mock track and first impressions are good - it seems to work.

The outside tracks are for priority management. Hence @FLHerne's comment that it's not possible to have prioritized lane switches that would allow greater throughput than allocationg the extra tracks to traffic.

Thus, the room required to have prioritized two-lane switchers would allow 4 non-prioritized lanes instead.

In conclusion,
a) either you build extra lanes for priority management, increasing average delivery speed at the expense of throughput
b) you allocate the extra room to non-prioritized lanes, reducing average delivery speed but increasing throughput

odalman
Engineer
Engineer
Posts: 37
Joined: 07 Jan 2020 01:46

Re: Breakdown tolerant tracks

Post by odalman »

Here is it like Tafidis suggested but with only two lanes. There is one backwards signal after each crossover but could be between 0 and train lengt in tiles depending on how much lane changing should be discouraged.
Image
Attachments
doubletrack_Tafidis.png
(173 KiB) Not downloaded yet
Last edited by odalman on 18 Jan 2020 22:45, edited 1 time in total.

Oncle Boris
Engineer
Engineer
Posts: 9
Joined: 24 Oct 2011 14:55

Re: Breakdown tolerant tracks

Post by Oncle Boris »

odalman wrote:
18 Jan 2020 21:49
Here is it like Tafidis suggested but with only two lanes. There is one backwards signal after each crossover but could be between 0 and train lengt in tiles - 1 depending on how much lane changing should be discouraged.
It looks like a pretty good design but signal length is high, reducing throughput.
It seems to me that trains can’t switch if the jammed block is right ahead and I’m not sure how yapf responds to path signals more than one block ahead.
If you test it I’d like to hear you report on it.

Post Reply

Return to “General OpenTTD”

Who is online

Users browsing this forum: No registered users and 8 guests