From #openttdcoop wiki

Jump to: navigation, search


TrainLength Splitters


Shortcutted as TLS, the TL Splitter (as I call it) is a mechanism that simply ensures sorting certain trains to certain rails. The variety of splitters is pretty high due to many uses, differences in each game (train length, or for example the relative train length in compare with other trains on the map, and more such as the different use of the splitter). So let's get to it! All of the things described can be seen in the attached savegame.

Pre-signal Splitter

maybe the simpliest (and space-saving) version of the splitter. It has some specifics of course:

releasing ALWAYS when train is correct TL releasing ALSO SHORTER trains strictly splits trains into two tracks – longer or shorter than condition

That is a nice splitter, very easy to build, saves space as it is only one rail more. But of course it can not be used everywhere. For more of these see Mark's multiple TL management post. Mark's page

Logic Splitter

There we go … who was waiting for the sometimes crazy logic? Welcome. The following splitter might seem that it is useless, the logic does not have to be used, but look! It is pretty flexible in using...

How the Logic Splitters work in general: There are two conditions for the train to be released to it's splitted rail: A. The train must occupy all “A” bays – this ensures it's minimum length B. The train must not occupy the “B” bay – this ensures the maximum length

This is mainly it … but now the flexibility...

Let's say we have a certain rail and we want to split all TL5 train away from there. Now comes the question: All of them or just as many as possible at the certain moment? It is pretty important because if the train comes, the combo signal at his “desired” track gets green signal from the output, it is not the final stage of the process. Behind the combo signal could be a train waiting. That would result in only one opened track, and that would be the wrong one. We can solve this by just adding the “X” area (see the savegame, example 0). That ensures the “undesired” track will not be opened when the desired TL5 train comes and should go to the “desired track”.

How to use this? The forced track choosing should be used somewhere where you want to be absolutely sure that the train gets there where you want. Where it is optional, the not-forced one should work nicely. Of course there could be come improvements...

We are building a splitting mechanism, we want to split ALL of the certain train group and we want to prevent any jams caused by the blocked way. How to do it? One of the possible solutions could be placing there two splitters … combining the optional and forced one: First put there the optional so trains can go to the desired track as much as possible. Then somewhere behind it could be built the insurance that all of them get where we want – so building there a forced splitter. Wait! These could jam as well as the first example, so why not build there an overflow. Dont forget that if you build an overflow with forced pathing through depot, it is very likely that you will have to add a PF Trap there otherwise the trains will not go there. Of course even the first one could be forced and there would be no second one … but the first one optional could work as the overflow evasion therefore the overflow would work really in “bad” cases only.

Multiple faces, multiple uses... The two conditions (A and B) are to be built only in the case there are some longer trains on the network and shorter ones at the same time, so we are talking about an universal mechanism how to split trains of a certain TL regardless of the other trains, or just splitting the “middle” long train. (for example when we have train lengths 5, 4, 3, the both conditions are to be used with TL 4 as it is the middle one) This is also good to use when we are playing a random game, we are completely drunk, on drugs and out of mind, and we have no idea what the train lengths are going to be in future.

This leads to the simplification when you are sure you are building the splitter for the shortest or longest trains on the map, because you can simply erase one of the conditions - you don't need the maximum or minimum train length to be splitted. Also, this can be used when the goal is just to divide trains longer or shorter than a certain value.

Oh my god! I want these four train lenghts to be splitted! Four splitters? No room! Another good thing we can do with splitters is to manage multiple train lengths at once. The only need should be that these train lengths should be consequent. (The word consequent is relative to the other trains on the network. We don't mind if the splitted trains are 3, 8, 10 long if there are no others between these numbers.) This flexibility can be reached just by adjusting the conditions A and B.

Other improvements

Of course the raw design has some bugs which need to be upgraded. First issue of them all is that the trains come close to each other or stop in the mechanism because of a jam, they can hack the splitter and get even blocked there. They will not unblock by themselves mostly because the other one behind the first one will block it's B condition for example. The entrance signal at the beginning can ensure that this will not happen because it makes trains have 1,5 tile gap between them. This insurance can be seen in example 0 as mark Y, or in example 1, where it is used with the 1,5 tile gap. Note that 1 is the normal gap for absolutely full track with compressor, 1,5 should be fine for normal track.

Another issue is the setting up of the splitter. It always depends on half-tiles to work right if we want to recognize 1 TL difference. Therefore it is very good to build the splitters on diagonal rails. This can not be achieved at every situation though, as diagonals cause some trouble. A very similar problem is going to occur while we make the leaving of the diagonal. It is normally one whole tile which will result in train blocking because it will come away from one of the A conditions, therefore its path will block and it will stay right before the bay and will never unjam by itself. This can be solved by halving the space in front of the leaving bay and making it just a continuation of the diagonal. See example 1 in the savegame.

Conclusion The splitters are a decent mechanism which can boost the variety of games. It is able to divide trains that go “somewhere”, mainly to a waypoint where they have multiple choices to go. Could be used in front of a mountain when we have extremely long trains with just one engine, where the trains reach the same waypoint in the end. The main use of this was planned to be in SRNWs where we could get 3 train lengths per SRNW SL and therefore reaching maximum of 6 primary cargoes transported with only two sidelines used. (that means all primaries in Temperate or Arctic Climate) It should definitely be tested at least.

SRNW Sample savegame

Powered by MediaWiki
  • This page was last modified on 12 October 2009, at 22:37.