Shift Mainline
From #openttdcoop wiki
Contents
Definition
A Shift Mainline, or SML, is a special type of Mainline used in coop games. SML behaves almost identically to a normal mainline. They are signaled the same, require the same bridge and tunnel constructions, and inherit all the other characteristics of a normal ML. What distinguishes an SML from a normal mainline is how junctions are performed.
When a sideline merges to a normal Mainline (a SLH junction), the sideline should be able to choose to merge with any of the ML lanes. These merges are prioritized to ensure ML traffic is not slowed or stopped due to a merging train.
When a sideline merges to a Shift Mainline, the sideline is only allowed to merge to one (or possibly more) of the ML lanes. Again, these merges are prioritized. However, on an SML, trains on the ML will attempt to move, or shift, to other lanes on the ML to free up the merging lane(s) for incoming trains.
This behavior mimics real-world traffic patterns. When travelling on a high-capacity roadway, motorists will often choose to travel on the innermost lanes, which are generally reserved for through-traffic. These lanes do not suffer from slowdowns due to merging traffic on the outer lanes. Motorists "shift" to the inside lanes to make way for new motorists entering the roadway. This same logic is applied to SML construction.
How it works
The shifting on an SML occurs by placing penalty on the lanes that oncoming traffic will merge into. These penalties may be built as stations (trains should use non-stop orders if stations are used), reverse PBS signals, or any other construction that would force a train on that lane to search for an alternate route, in this case, another lane on the mainline.
These shifts on the SML must behave like any other mainline by granting priority to any traffic currently on the lane the train wishes to merge into. A priority lane must be defined, and if the train seeking an alternate route (the "shifting train") can safely move to another lane without slowing or stopping traffic, it does so. If not, it continues on its current path, through the penalty.
SMLs with more than two lanes moving in one direction will typically contain multiple opportunities for trains to shift. Consider a 3-lane SML, where A is the innermost lane, B is the middle lane, and C is the outermost lane. Merging trains will attempt to enter lane C, so trains must shift from lane C to lane B to make room for these merging trains. However, it makes sense to first shift trains from lane B to lane A, making more room on lane B for the trains shifting from lane C.
How to detect SML
SMLs are easily detected by looking for these shifting opportunities. These typically occur just before a SLH, and are easily recognizable due to the way the mainlines are connected (which rarely happens otherwise) and the priorities involved.
SML is also frequently noted on the network plan during the design phase of the game. When in doubt, ask if SML is being used.
Additional Notes
- Due to the nature of SML, the lanes in the mainline will inherently become imbalanced, with more traffic on the innermost lanes, and less traffic on the outermost (or merging) lanes. This imbalance should be taken into consideration during BBH and Mainline Station construction.
- Ensure that the shifts always occur in the same direction. Check the plan for the direction of the shift (left or right, relative to the flow of traffic). If not mentioned on the plan, look for a nearby SML construction on the mainline (in the same direction) and use the same logic. If opposite directions are used, merging will become impossible due to the traffic density that occurs on the merging lane.
- Trains should have shifting opportunities prior to every SLH. When the SML has more than two lanes, trains should generally receive the opportunity to shift all the way across the ML to ensure the best chance for full-speed merges from the sideline. Optionally, shifts may also occur after an SLH, especially in cases where space would make shifting difficult before the next SLH.
SML Implementations
Several SML designs have been created. More information can be found on the Research page.
Original Shifter
This is how the first shifter was designed. It consists of a choice to the neighbouring line supported by a priority, a penalty and in case the 2way entry signal gets red just when a train starts heading towards it (prio gets suddenly red), there also has to be an alternative path around it so ML flow is not harmed. This however is still a large issue as the once stopped trains have to accelerate from the stop.
PSG 149 | Download: Public Server Game 149 Final / Archive entry for this game |
The old shifter array used in psg149. |
Fail-Safe Shifters
The goal of this type of shifter is to make trains shift the lines at full speed and never stop. This is reached by using the so-called fail-safe system, where once the train reaches the 2way entry signal, it is always green - even if the last bit of the priority suddenly gets red. These shifters were introduced by this blog article: Fail-safe shifters
PSG 172 | Download: Public Server Game 172 Final / Archive entry for this game |
Fail-safe shifters instantly replaced the older design by their safe reliability. |
Shift gaps
SML is extremely easy to build but it has some downsides, it can create gaps because trains just randomly join the ML. Some gaps cannot be filled in order to keep proper priorities and not slow the ML down.
Timed SML
The ultimate solution to SML is to use fail-safe shifters and then time the train joining, so that no shift gaps are created, as demonstrated in pzg13.
PZG 13 | Download: Pro Zone Game 13 Final / Archive entry for this game |
Trains carefully timed by the complicated joining mechanisms, resulting in precise gaps between trains and set places where trains could join the ML. |