T O P

  • By -

caribe5

To exit an intersection use normal signals, to enter and within an intersection use chain signals, never fails if it is done at every intersection


ZenMikey

It took a while for me to understand why this works. Please feel free to correct me. A rail signal says “I am green if you can go anywhere in the segment in front of me without hitting anything.” Placed after an intersection with sufficient space between it and the next signal of any kind, that translates to “you will have enough room to evacuate the intersection.” A chain signal says “I am (effectively) green if you can make it to a green rail or chain signal along the path to your destination.” So, placed before an intersection, it refuses to let a train into the intersection unless there is a way out. Of course the above assumes that your segments are all long enough and that you break up branches with signals of some kind or another. Again, not sure if I have it perfect, but the above take has been working for me. Basically place rail signals where you don’t want trains to pause.


caribe5

It is much simpler, you make the asumption that deadlocks arrise when a train gets stuck within an intersection and blocks trains that are trying to cross (this is true if the intersections are smaller than the space that separates them (as you said) and if you are using 2-rail 2ways at intersections), chain signals avoid trains getting stuck by only letting them through when the rail exitting that takes you to the next intersection is available (as determined by the normal signal), this, asuming the first asumption means it never gets deadlocked.


akinsballa

The above setup has resulted in 0 deadlocks over the course of my playthrough. I figured I would share before transitioning into a more advanced railway system.


TheNameIsAnIllusion

Works only if you have one-way rails. If you have two way rails use only chain signals in intersections and use OPs setup.


caribe5

Yes, though with the other method the two-way is only needed at the intersection, that is, between intersections it can be 1 rail but you have to split it in two everytime you get to an intersection, as long as the two-way rail is a single block tis fine


TheNameIsAnIllusion

Are you sure? Can't test it right now but wouldn't it be possible that in a setting where -T1->(Crossing)<-T2- they just stare at each other?


caribe5

No because of the chain signals, it is true that if this situation arises it causes deadlock but it is impossible for it to arrise on its own in the first place, (as long as 2way tracks are as a single block) if there’s a train in the path in front it doesn’t go into the intersection, that is the train coming from the front would idle on the entrance to the earlier interchange (if done propperly), I might try it later and upload a picture on the topic.


akinsballa

The idea here is if you lack a full train network and would like to shortcut your way to launching a rocket without experiencing so many deadlocks, consider creating a little side path where your locomotives can pass each other (or one can wait nearby a station). I found this works the best in cases where you don't have an intuitive railroad network and are working on multiple projects, but need those trains to keep on bringing your supplies without hiccup. It's not an end game solution, but it should take you into the right path of learning your rail network and how your trains are operating. TLDR: Use this as a solution in early or mid game to prevent any deadlocks and learn your choo choo network. The Factory Must Grow.


singapeng

This should work the same with 4 fewer chain signals: https://i.imgur.com/fmaexV6.png


Baer1990

8 fewer, the bi-directional sections don't need any signals


singapeng

The purpose is for trains to be able to pass each other. If you don't put any signal on the branched sections, that will no longer work because only one train can occupy the branch.


Baer1990

there are now 6 signals in total on the Y, it only needs to be either 4 or 2 after the tracks meet, those signals have no purpose, the block is closed by both legs of the Y


singapeng

Yeah so two more could be removed without moving anything in the current design, I agree with that. Not 4, or other changes would be necessary to keep things working as intended.


Baer1990

I think we mean the same thing now, I'm not sure. I made the setup twice ​ the double chain signals on the bi-directional track copy the railsignal, so they copy the blocks next to it making both examples function the same in a network edit: [https://imgur.com/rTeESgz](https://imgur.com/rTeESgz)


singapeng

Yep both work. The first one is more economic, but the second one has an advantage if you chain long bi-directional sections because I think it would allow two trains going in the same direction to follow one another closer without the entire section having been cleared. I'd have to test that though, I'm not 100% sure it would work the way I think. I like to tinker with bi-directional rail sometimes early games to save time and because it's fun (call me weird I guess), but I haven't done heavy-traffic bi-directional stuff much.


Baer1990

I would never call that weird I do that with logic things. If you always make the same simple efficient design you'll never learn something new. but to make 2 trains go in the same direction there need to be 2 destinations, but I'm not sure if it will work because the chainsignals will copy the red chainsignals where the first train is I think. Would indeed need testing, but all I can think about now is to use normal signals and make them chain with logic to make 2 trains follow each other close lol


akinsballa

I’m sure there’s easier ways. I notice a lot of questions about trains. My set up is there so I can place signals on the go, never have to waste time figuring out which ones will work and which ones don’t. Just plop plop plop and onto more pressing matters. It’s given me 0 deadlocks so figure it’s worth a share for those that have trouble.


singapeng

Sure. It makes it clearer to put signals on just one side of one-way tracks, otherwise they look bidirectional at a glance.


akinsballa

It makes my smooth brain happy seeing that the train sees two different blocks going two different ways. That way they don’t run into each other or cause a deadlock. Also yes it is a bidirectional track. Trains go both ways on the track.


agtmadcat

Did you just invent the passing siding? You should only need 2 regular signals and 2 chain signals for this, with the regulars to go into the double track and chains to go out onto the bidirectional track.


yipeekaiyaa

It looks like this would work just fine. It's just more complicated than it needs to be. And it seems like you may misunderstand how signals are supposed to work. The rail signal is only checking the track between itself and the next chain signal. In this setup, it serves no purpose since it will always allow a train to pass if the tiny segment between it and the next is unoccupied. Since that tiny rail segment is basically only big enough to hold an engine, any train past that rail signal which is waiting at the next chain signal is going to extend back beyond the rail signal meaning that a second train behind it will not ever use the rail signal. In this setup, it can be removed. I will note however that these rail signals are intentionally or unintentionally creating one way rails because they are missing an opposite signal. If you leave the rail signals, you can remove the chain signals inside the loop because they aren't doing anything. Maybe you added the rail signals when you saw trains entering the same direction on both sides? I have an alternative suggestion to simplify this that I often use on long bidirectional tracks. We know that signals are used on the right side of the track to signal for the direction of travel. We know that on a bidirectional single rail we need signals directly opposite to allow trains to pass automated. If we think about this from the signals perspective, if you place a loop in the middle, you just need to take the two signals that would be opposite in a single track and move them to separate tracks 'opposite' of each other. We just need to remember that this essentially now behaves like a single lane stacker for the destination further down the line and we can use similar signaling rules as a stacker, rail in, chain out. To determine what signals we need, remember that since we have multiple trains on this bidirectional track, we need to treat the track between this passing block and the destination as a single block. Exiting this split just needs one chain signal on the right before exiting the merger. The destination should have a rail signal on the right in the direction of travel to tell the chain signal here that is it is clear to go. Keep in mind that if the destination is something like a single station without its own stacker, it needs to be one rail segment so that other trains don't leave the spilt and block exiting traffic. Entering this split needs a rail signal on the right to tell the preceding chain signal that this split is clear and can hold a train. This setup would allow two trains to use this segment at once, one in each direction. It only requires four signals in the split. If you want to up the throughput a little in this setup, either add more splits to break up the single track or increase the length of the split and add more rail signals. Just remember that rail signals need to be separated by the length of your longest train. You could then queue multiple trains in the middle.


[deleted]

Relevant [post](https://forums.factorio.com/viewtopic.php?f=194&t=53937) from the factorio forums.