News:

Simutrans Wiki Manual
The official on-line manual for Simutrans. Read and contribute.

One signal on a two-way track?

Started by T/C, March 08, 2015, 08:47:41 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

T/C

Is there a way to place a signal facing just one way on a two-way track? I think the answer is no, but I want to check.

If there is no way to place a signal facing just one way, what is the explanation for why the game doesn't offer that option? Is it just an accident of the game's history, or is there some theory behind it? (e.g. By requiring signals in opposite-facing pairs, is the game enforcing some theory of good track design?)

-TC

Ters

Click on the signal again to cycle through a pair of signals, a single singal facing in one direction, and a single signal facing in the other direction.

One-way signals in Simutrans don't allow trains passing in the other direction at all. That's how it works in some countries, and Simutrans was apparently made under such rules (or copied it from some other game that was). There are some workarounds for situations where a single-sided signal that is ignored in the other direction, is desired.

T/C

Quote from: Ters on March 08, 2015, 09:49:09 AM
That's how it works in some countries

I find this truly fascinating. I'm curious to know how a country subject to this limitation configures an intersection of two-way tracks in real life.

Is the U.S. one such country? I live near a railroad track. I'm tempted to follow the track until I find a spur, and see how the intersection is signaled.

-TC

Ters

Quote from: T/C on March 08, 2015, 03:41:06 PM
Is the U.S. one such country?

I don't know which country has which rules. The rules might also differ between different railroads in the same country. In Norway, the primarily single-tracked rail network means that seeing only the rear of some signals happens when entering and/or exiting stations and passing loops.

prissi

Most of the tracks in the US are also single track. Moreover, nowadays a lot of the trains are controlled via a central and either some wires between tracks (LZB in Germany for instance). Such way trains can be compress closer than the actual signals, and also at 280 there is absolutely now way die recognize Signals enough in bad weather and break in time.

However, in Simutrans Signals were copied from TransportTycoon, which use this (relatively easy and straight forward indicator) for one way tracks.

Finally, a signal ignored from one side but obeyed from the other does not sound like it could help in any situation: If going the non signalled way a train will reserve (and hence block) the entire track; if a train goes the other way, then any train from the other side sees that this track as occupied and will not enter anyway. Essentially the signal will not work i.e. it will be always green and hence like a track without signal. (Also you would need quite many single way signs.)

T/C

Prissi,

Forgive me, but I didn't quite understand your argument why a signal that applies in only one direction could not help in any situation. Can you clarify?

My expectation is that single-direction signals on a two-way track would be helpful, and would be used in several situations. (For instance, the situations Ters cited in Norway -- entering and/or exiting stations and passing loops.) Mostly, they would simplify situations that now require presignals. Am I mistaken?

-TC

Ters

Simutrans doesn't require single-sided signals in passing loops. In fact, such signals would easily lead to dead-locks, since Simutrans doesn't plan routing ahead of time like in real life.

A typcial Norwegian passing loop would look as follows (> means signal for traffic going towards right, so facing left):


--->---<------------>---<---
     \-<------------>-/


First of all, the static routing in Simutrans means that the lower loop won't be used, since the upper is the shortest in both directions. So I'll start by adapting the passing loop to that.


--->---<----------------<---
     \-------------->-/
   A   B            C   D


This can easily dead-lock, as one might end up with trains waiting at signals A, B, C and D. So in Simutrans, it's best to drop signals A and D. When that is done, there is no need for single-sided signels, just the one-way signals Simutrans (and Transport Tycoon Deluxe) have.


-------<--------------------
     \-------------->-/


This ensures that trains don't enter a single track section until there is free space at next passing loop. Another solution would be to replace signals B and C with (the confusingly named) pre-signals, assuming A and D could be one-sided, not one-way. Pre-signels are however a bit unwieldly and get complicated once there are sidings.

But sidings are exactly where one-sided signals would be useful, although there are other solutions. Given this layout, where there is a signle-track siding S going out from a two-track line.


        B       D
----<-------+<-------<---
--->------->+------->----
        A   |   C
            | S
            |


There is a single station at the end of the siding, which is a few tiles away (not too far, but not right next to the main line either). Trains going into the siding come down A, and head back up B. Without a signal, trains leaving the siding will block both A and B from the moment it departs the station until it has left the siding and entered B. This can severely hamper the efficiency of the main line.

Placing a signal at the siding just where it leaves the main line solves this problem (for the most part). Trains exiting the signal will only reserve up to that signal, and not start blocking the main line until it is just about to enter. Since that signal must be two-sided (can't be one-way, as trains both enter and depart the siding), this now opens up for a dead-lock if there are more than one train serving the siding. When one train has entered the siding, but is not yet heading back out, another train can then drive up to the signal on the siding, but can't enter. The train inside the siding can no longer exit either, and the train stuck trying to enter the siding will also likely block A (unless very short).

A single-sided signal would solve this problem, as it would only affect trains exiting the siding. The signal at A would control entry to the siding.

Solution available in Simutrans are:

  • Using pre-signals at the exit from A (and possibly D), along with a two-way signal on the siding. One would also need one-way signals at the entrance of C (and D) to cancel out the effect of the pre-signals.
  • Splitting the siding into two track just before it meets the main line. This can also be more efficient, as trains coming from the siding and heading up B can now cross A at a different level.

T/C

Wouldn't the following configuration avoid deadlock and be functionally different from a Simutrans passing loop? It would allow traffic in both directions on both sections of the loop, and that would have advantages. Specifically: shorter average trip distance, and the opportunity to build a siding off one section of the loop accessible from both directions. Also, under the right circumstances, a passing loop with this configuration could allow a fast train to pass a slow one in the same direction.


-------<------------>-------
     \-<------------>-/



-TC

Ters

#8
Quote from: T/C on March 09, 2015, 03:53:33 PM

-------<------------>-------
     \-<------------>-/

-TC

Trains would always use the upper line, since it is shorter, so there would be no passing. Routing in Simutrans is dynamic, it does not change based on things encountered along the way.

Edit:
And I almost forgot: You'd get a deadlock if there are two such passing loops. The eastern one with two trains heading west, and the western one with two trains heading east.

T/C

#9
Ters,

Quote from: Ters on March 09, 2015, 04:22:43 PM
Routing in Simutrans ... does not change based on things encountered along the way.

I had trouble getting my mind around this, but I understand now. Once a schedule is set, a train follows the exact same route over and over again, and it navigates traffic only by varying its stopping pattern, not by altering its path (with the evident exception of choose signals). I can see how this changes things, and I concede that this limitation means one-sided signals wouldn't help the design of passing loops in Simutrans.

It would be fun to consider what becomes possible if Simutrans had single-sided signals and the ability to re-route (perhaps via choose signals that work on passing loops). As you have pointed out, the following configuration allows a deadlock when two trains are approaching from each direction:

-------<------------>--------------<------------>-------
     \-<------------>-/          \-<------------>-/


However, this does not:

-------<------------>-------
     \-<------------>-/
     \-<------------>-/


To handle two trains approaching from each direction with traditional Simutrans passing loops, you need at least two loops. (I've designated one-way signals as ">>" to avoid ambiguity".)

-------<<--------------------------<<-------------------
     \------------->>-/          \------------->>-/     


But something like this would work too:

-------<<-------------------
     \------------->>-/
     \-<<-------------/


If one were to consider the general case of x trains approaching from the west and y trains approaching from the east, then try to make a passing block to handle them without deadlocks, I find that x+y-1 segments are required using one-sided signals, and min(x,y)+1 segments are required using one-way signals; however a one-sided signal passing block is capable of handling a greater variety of x,y combinations than a one-way signal passing block of equal size. It seems that each approach is preferable in some circumstances. I haven't considered what is possible with a hybrid solution, but I predict that clever optimizations are possible.

Getting back to the topic of this thread, I hypothesized that one-sided signals would be useful in Simutrans in some situations, and your observation of Norwegian railroads suggested two scenarios: entering and/or exiting stations and passing loops. You have ably demonstrated that one-sided signals would not help passing loops in Simutrans -- not without a re-routing capability. On the other hand, you believe they would help sidings. I agree. However, I'm not sure why you suggest they would help only sidings which are "not too far". I propose that where a siding of any length joins the main line, a single-sided signal is more appropriate than a double-sided signal. Furthermore, the benefit a single-sided signal brings to sidings applies not just to sidings, but any fork off the main line. I would expect that in a widespead network of single-tracks, every T intersection would have one single-sided signal.

-TC

Ters

Quote from: T/C on March 10, 2015, 02:28:46 AM
It would be fun to consider what becomes possible if Simutrans had single-sided signals and the ability to re-route (perhaps via choose signals that work on passing loops).

Although it also lacks single-sided signals, Transport Tycoon gives a clue. It does re-route trains if the ideal path is blocked. I've had troubles with insane detours because of this, where trains spent many minutes traversing all kinds of odd lines rather than wait a few seconds for the main line to clear.

Quote from: T/C on March 10, 2015, 02:28:46 AM
Getting back to the topic of this thread, I hypothesized that one-sided signals would be useful in Simutrans in some situations, and your observation of Norwegian railroads suggested two scenarios: entering and/or exiting stations and passing loops. You have ably demonstrated that one-sided signals would not help passing loops in Simutrans -- not without a re-routing capability. On the other hand, you believe they would help sidings. I agree. However, I'm not sure why you suggest they would help only sidings which are "not too far". I propose that where a siding of any length joins the main line, a single-sided signal is more appropriate than a double-sided signal. Furthermore, the benefit a single-sided signal brings to sidings applies not just to sidings, but any fork off the main line. I would expect that in a widespead network of single-tracks, every T intersection would have one single-sided signal.

Long sidings or big branches of the main line will usually require passing loops on them. (My definition of long siding is based precisely on the need for a passing loop.) Placing one of these passing loops right next to the junction with the main line eliminates the need for single-sided signals, as one-way signals then become useable.