Chain signals are overused
- SupplyDepoo
- Filter Inserter
- Posts: 286
- Joined: Sat Oct 29, 2016 8:42 pm
- Contact:
Chain signals are overused
Whenever I play on public multiplayer servers, people share huge blueprint books that are full of chain signals for simple splits, merges, and other junctions.
The popular mantra is "chain in, rail out".
I disagree.
My opinion is that chain signals, the way people often use them, actually have no additional benefit over regular signals other than giving the user a sense of security, "this will never deadlock". In actuality, the chain signals, whenever they do prevent deadlocks, are only masking a different issue, such as insufficient stacker/queue capacity, or poor junction design. In other cases where the chain signals merely prevent trains from stopping in a simple split or merge for example, they don't offer any real benefit unless a train should be able to repath to the other track while it waits or multiple trains are waiting for one of a variety of destinations to open up, i.e. in a stacker.
The cost of using chain signals is (marginally) reduced throughput due to larger gaps forced between trains traveling the same path, and having to worry about exit block lengths (to avoid having to manually adjust signals, some modular blueprint books simply use chain signals on junction exits, leveraging the rail signals on the existing tracks that are known to satisfy the block length requirement, thereby reducing throughput even further).
For this reason I prefer to use regular signals wherever possible, including for 4-way junctions, and manually resolve issues if they arise. This way the signaling is more streamlined and better distinguishes the purpose of chain signals wherever I do need them.
So what are chain signals for, if you ask me?
Stackers with multiple stations, and bidirectional track.
Don't believe me? See for yourself in your next game. You will be surprised how useless chain signals were.
P.S. just make sure to use a 4-way junction design that doesn't have crossing left-turns, and don't put two T-junctions too close together because that's just a 4-way junction with crossing left-turns in disguise.
The popular mantra is "chain in, rail out".
I disagree.
My opinion is that chain signals, the way people often use them, actually have no additional benefit over regular signals other than giving the user a sense of security, "this will never deadlock". In actuality, the chain signals, whenever they do prevent deadlocks, are only masking a different issue, such as insufficient stacker/queue capacity, or poor junction design. In other cases where the chain signals merely prevent trains from stopping in a simple split or merge for example, they don't offer any real benefit unless a train should be able to repath to the other track while it waits or multiple trains are waiting for one of a variety of destinations to open up, i.e. in a stacker.
The cost of using chain signals is (marginally) reduced throughput due to larger gaps forced between trains traveling the same path, and having to worry about exit block lengths (to avoid having to manually adjust signals, some modular blueprint books simply use chain signals on junction exits, leveraging the rail signals on the existing tracks that are known to satisfy the block length requirement, thereby reducing throughput even further).
For this reason I prefer to use regular signals wherever possible, including for 4-way junctions, and manually resolve issues if they arise. This way the signaling is more streamlined and better distinguishes the purpose of chain signals wherever I do need them.
So what are chain signals for, if you ask me?
Stackers with multiple stations, and bidirectional track.
Don't believe me? See for yourself in your next game. You will be surprised how useless chain signals were.
P.S. just make sure to use a 4-way junction design that doesn't have crossing left-turns, and don't put two T-junctions too close together because that's just a 4-way junction with crossing left-turns in disguise.
Re: Chain signals are overused
Yes, I agree. Chain signals are overused. I do that myself and I know it. However an aspect this didn't consider is that they are mentally easy. Do I need a chain signal here? Maybe not, but it won't hurt, plop it down and be done with it. Sometimes figuring out precise signalling is what I am in the mood for and I do minimalist setup, sometimes I jsut want to connect this outpost up and liberally spray chain signals, and both work. Until you are indeed throughput limited there is no benefit in optimisation here (unless for you own joy of course, which is both very valid and dependant on person and mood).
Re: Chain signals are overused
I think that at large, this is a symptom on the learning curve of train signals in general.
The problem is that since it is a very complicated system for a lot of people it will be either of the following:
- Person use blueprints without learning signals
- Person learn signals via a lot of experimentation in game
The problem with the second option is that learning to use signals in regular play is extremely punishing if you mess up. Leading to trains with cargo being destroyed if you mess up a single little thing. It's now wonder that chain signals are overused: they are shown a ton in the tutorial and youtube tutorials, so people just sticks with what they know is safe and then refuse to experiment like you did because of said punishment for trying to do so.
The problem is that since it is a very complicated system for a lot of people it will be either of the following:
- Person use blueprints without learning signals
- Person learn signals via a lot of experimentation in game
The problem with the second option is that learning to use signals in regular play is extremely punishing if you mess up. Leading to trains with cargo being destroyed if you mess up a single little thing. It's now wonder that chain signals are overused: they are shown a ton in the tutorial and youtube tutorials, so people just sticks with what they know is safe and then refuse to experiment like you did because of said punishment for trying to do so.
Re: Chain signals are overused
Yes, this or they do not use chain signal at all and ask you if you can help with train .SupplyDepoo wrote: ↑Mon Nov 30, 2020 12:26 pmWhenever I play on public multiplayer servers, people share huge blueprint books that are full of chain signals for simple splits, merges, and other junctions.
The two behavior to me explain that some people understand signaling and are able to do it themselves, some other don't get it yet and feel compelled to use pre-made junctions.
On the sharing of blueprint, you try to make them fool-proof as much as you can (imo) due to them potentially being used by someone that has no clue on what it is doing.
Hence the blueprint are signaled "extensively". at least i'm explaining it to myself this way.
Now if you think about it, signals are optionnal if you don't have more than 1 train. It's taken to the extreme, but by being absurd in one way, it sort of tell that the other way : signaling everything, is somewhat more intuitive. Because for someone that has basic to no understanding of signals, fixing a junction is very difficult with trial and error, the problematic situation could occur once an hour only, making hard to understand the cause, and long/impossible to test with different modification. One need to know the rules of signaling and plan ahead with method when doing complex junction. So when posting a junction "for other to use", it seems natural to signal extensively. "Just in case", one person do it once, the other don't redo, make sense.
And if you make it for yourself mostly, it means you are going to re-use it and you could be willing to avoid redoing the signals every time with some small subtle modification to take advantage of every unique situation where it's going to be duplicated. I mean unless you really like those things.
One that post a blueprint of a "complex" junction could expect people to use it when it's necessay and use an otherwise simpler junction. But something i have seen enough to remember is people using a 4 way junction instead of a T junction (most likely) because their blueprint book only contain 4 way junction and no T-shaped one, or because they play a grid, or just like the idea of keeping the expansion route ready. That trend seem to follow the same logic to me.
So yes chain signal end up being overused in blueprints but i think it's ok.
Especially considering the drawbacks: "a loss of efficiency", that is considering the alternative of using just and only the 'perfect' mix of chain signal & regular signal. But if your alternative is train crashing, or getting stuck, even if overkill in signal, throughput, complexity or whatever, a blueprinted junction is a net gain.
You get incentives from both side to overuse chain signal, some of the person uploading blueprint, and some downloading them.
That's the only point i disagree I don't think it's necessary "poor" junction design if you use chain signals. If you have a 4 way crossing and 1 train from each direction wants to go straight at the same time, you need to keep some of them out, or they could deadlock if their path share some block in the junction that is not the entry-block ( typically this one https://wiki.factorio.com/images/Double-crossing.gif ).SupplyDepoo wrote: ↑Mon Nov 30, 2020 12:26 pmIn actuality, the chain signals, whenever they do prevent deadlocks, are only masking a different issue, such as insufficient stacker/queue capacity, or poor junction design.
So you either
a) use chain signal.
b) don't break your junction in small blocks.
c) don't make your junction so that 4 could enter at the same time and get stuck.
b) leads to some loss of efficency when 2 train could have been using the junction at the same time due to path not crossing (2 train coming from opposide direction in the example).
c) i think is impossible, it seems very difficult to make sure there is not at least 1 timing situation that will not cause trouble and will probably require the junction to have no symetry
a) seems the better choice since it can guarantee the effiency that is lost in (b), while avoiding 100% ONE cause of potential deadlock, NO manual intervention never.
Calling for poor junction design if you use chain signal imply there would be an obvious superior way to do things. Doing only T shaped junction or merge-only-network, i think is something different, you are not talking about junction design, but network design. You shift the problem of the 4 way junction away by not having any ! Following this logic junctions are not necessary, that may not give the best result overall
4-way junction i've seen 'overused', chain signals are a necessary component of efficient 4 way junction or crossing, they are therefore also overused.
That's pretty much a design rule if you want to keep chain only there, you need to know how it works to plan ahead and avoid situation that makes them mandadory or more efficient. You can totally make a base following this logic. Putting this reasonning as the basis of the network however, i see more as choice of what guideline you decide to follow. Different configuration means different trade-offs, designing a grid like network following this rule will be difficult , those are somewhat exclusive design rules.SupplyDepoo wrote: ↑Mon Nov 30, 2020 12:26 pmSo what are chain signals for, if you ask me?
Stackers with multiple stations, and bidirectional track.
Overall it's a useful piece of practice to realise how you can avoid using chain signals because ( it's fun to try ), it allows to tackle further task with different tools, different mindset, more versatility, it gives the confidence of a skilled sailor only using the appropriate knot in the appropriate place, or an alpinist, compared to me kid when i only knew the basic "shoelace" and "attach".
Re: Chain signals are overused
it'd be easier to take your straw man argument seriously if you had pictures of the things you're talking about, and examples of how to optimise them by removing 'unnecessary chain signals'.
Re: Chain signals are overused
Hmm if you have automated them who cares how many you use?
Re: Chain signals are overused
99% of the train problems people complain about are some form of deadlock, not collissions.
The only case of train collision I see from time to time is self-colliding trains in roundabouts (which is why I always argue against the use of roundabouts).
- Ranakastrasz
- Smart Inserter
- Posts: 2147
- Joined: Thu Jun 12, 2014 3:05 am
- Contact:
Re: Chain signals are overused
If i design my own intersection or whatever, the rules that i constantly whisper to myself is.
Signal- you can enter and wait, and nobody will mind.
Chain- if you enter, you must be able to leave immediately.
Past that, i try and subdivide as much as feasible so as to imitate what you can do with a car on american intersections.
I have no idea if that is ideal, but it is plain english, and seems to work.
Signal- you can enter and wait, and nobody will mind.
Chain- if you enter, you must be able to leave immediately.
Past that, i try and subdivide as much as feasible so as to imitate what you can do with a car on american intersections.
I have no idea if that is ideal, but it is plain english, and seems to work.
My Mods:
Modular Armor Revamp - V16
Large Chests - V16
Agent Orange - V16
Flare - V16
Easy Refineries - V16
Modular Armor Revamp - V16
Large Chests - V16
Agent Orange - V16
Flare - V16
Easy Refineries - V16
Re: Chain signals are overused
This thread reminds me of this suggestion : viewtopic.php?f=71&t=90180
@OP : Now, this being said, what's your objective with this post of yours ? I'm not sure you'll reach all the multi players from here, and once we'll have agreed with you that chain signals should only be used where it makes sense (which is hardly debatable) ... what's next ? What are you trying to achieve ?
@OP : Now, this being said, what's your objective with this post of yours ? I'm not sure you'll reach all the multi players from here, and once we'll have agreed with you that chain signals should only be used where it makes sense (which is hardly debatable) ... what's next ? What are you trying to achieve ?
Koub - Please consider English is not my native language.
Re: Chain signals are overused
Only time I've ever managed that was with a manually commanded repath of a 200-long artillery train, which, uh, had unfortunate results.
Re: Chain signals are overused
I've never played multiplayer, and all my rail blueprints are handmade. So perhaps I don't understand what you're getting at.SupplyDepoo wrote: ↑Mon Nov 30, 2020 12:26 pmMy opinion is that chain signals, the way people often use them, actually have no additional benefit over regular signals other than giving the user a sense of security, "this will never deadlock". In actuality, the chain signals, whenever they do prevent deadlocks, are only masking a different issue, such as insufficient stacker/queue capacity, or poor junction design.
...
The popular mantra is "chain in, rail out".
It seems to me that literally any crossing benefits from chain signals, and yes, chain in, rail out works. In a large multilane intersection, with many individual rail crossings seems to require dozens of chain signals before each rail crossing, but I don't understand how it would be better to replace anything with rail signals. I'd rather have slightly slower throughput than deadlocks that require manual work to fix.
Yes, merges and splits do not require any chain signals. But aside from that I don't understand what you are getting at.
Can you give examples of what you think a decent multi-lane T junction would look like with no chain signals? I guess I don't understand how one would do it unless one made the junction massive (so that the distance between any two crossings is at least a train length apart). Even so, each individual rail crossing would still benefit from a chain/rail signal combo.
Re: Chain signals are overused
Hmm, this is a contradiction imo. Chain signals are able to mask a poor rail design. Yes. So they have this use case to create a poor design and signal it, not only to provide a sense of security.SupplyDepoo wrote: ↑Mon Nov 30, 2020 12:26 pmMy opinion is that chain signals, the way people often use them, actually have no additional benefit over regular signals other than giving the user a sense of security, "this will never deadlock". In actuality, the chain signals, whenever they do prevent deadlocks, are only masking a different issue, such as insufficient stacker/queue capacity, or poor junction design.
In multiplayer, it's sometimes a success, if many people create a working rail system. Whether it has good throughput or not is secondary.
Or maybe i dont get it...
-
- Filter Inserter
- Posts: 261
- Joined: Sun Sep 16, 2018 10:44 pm
- Contact:
Re: Chain signals are overused
So I think the real issue is that multiplayer servers are full of people who use blueprints indiscriminately (I call them blueprint droppers). They just copy and paste other people’s designs without any knowledge of how they work.
Not necessarily that chain signals are overused by players that know how to use them, but that they are spammed by blueprint droppers.
The challenge becomes in my opinion encouraging players to learn how to play the game without the use of downloaded blueprints.
“Give a man a fish and you feed him for a day, teach a man to fish and you feed him for a lifetime”
Not necessarily that chain signals are overused by players that know how to use them, but that they are spammed by blueprint droppers.
The challenge becomes in my opinion encouraging players to learn how to play the game without the use of downloaded blueprints.
“Give a man a fish and you feed him for a day, teach a man to fish and you feed him for a lifetime”
Factorio Towns... https://youtube.com/playlist?list=PLf5d ... -ps9WNZOCe
-
- Filter Inserter
- Posts: 665
- Joined: Wed Sep 16, 2020 12:45 pm
- Contact:
Re: Chain signals are overused
It’s (almost) literally cargo cult. Put out the chain signals and pray the cargo will come.
OptimaUPS Mod, pm for info.
Re: Chain signals are overused
It's not like they hurt anything. Hell, I will use them in splits and I even have a throughput justification for why: If there's a whole sequence of splits, you can have a train aim for the far split and have another train start for a near split without necessarily having to wait for the first train to clear the entire split block. And rail signals wouldn't work, because my usual use case for this is trains going into a station -- and so a train waiting on the main splitting line for its station to open up would block every other train from going past it.
- 5thHorseman
- Smart Inserter
- Posts: 1193
- Joined: Fri Jun 10, 2016 11:21 pm
- Contact:
Re: Chain signals are overused
I really don't see the problem. If the use of them breaks something, sure, but otherwise all you're out is a half dozen red and green circuits per intersection.
You're never going to change the way other people play the game, especially by posting on a forum that the vast majority of them never read.
You're never going to change the way other people play the game, especially by posting on a forum that the vast majority of them never read.
Re: Chain signals are overused
This is the last junction uploaded in this topic viewtopic.php?f=194&t=46855
It may seem obvious now but this junction is designed with buffer room inside it. So in includes several regular signal on the inside part. If those were chain signal, then the junction would be less efficient.
Re: Chain signals are overused
I might not be well versed in this signal business but:
Wouldn't train coming from entrance be allowed to stop right on that first regular signal and block other trains from turning to the side or going on the half circle past them?
Wouldn't train coming from entrance be allowed to stop right on that first regular signal and block other trains from turning to the side or going on the half circle past them?
Re: Chain signals are overused
yep. needs an extra chain signal at the entrance...
Re: Chain signals are overused
I would have personnaly added those. and i would tend to say yes, train could block other train.
But when i think about it, i fail to picture a way that this could create a deadlock by itself. It would create a deadlock only if trains that are blocking are themselves blocked by the very trains they are blocking.
If for example you take many trains from south turning left, and let say they start backing up in the junction. (external cause, but propagating into the junction).
They will block trains from west going straight to the east.
But those train being blocked (from west) are not blocking the exit of the trains that block them (from south). ( at least not in the junction).
( i tried to picture different situations like those)
I think other things need to happen to create a problem at another place than this junction ( such as train backing up at one place and stacking to a point where it block one exit).
In a way the junction is not "safe" as "fool-proof", but it's not the primary cause of the deadlock, it's where it could propagate but i'm pretty sure if you fix the original cause of the deadlock this junction would "unjam" by itself.
In my example if the trains coming from south turning left start to unjam because you fixed the external cause, then the other train they blocked will unjam too.
and during this time : if a train from north arrive trying to reach south or east it's free to do so. or a train from east trying to reach north or south.
Adding chain signal at the entrance would probably be/feel safer because it's really hard (for me) to be 100% sure of the previous analysis that's the whole point of why chain signal are overused, place them , don't bother. But when i look at this junction, i'd take trains of appropriate size that fits the smallest buffer size in the junction. Make sure to have the block after the junction at least the size of the bigger train. Then make sure all trains that ever enter the main line have a room to park outside of it when they are done travelling to avoid them ever backing up on the main line. There is also something to say regarding the number of trains and the numbers of block in the network, make sure you don't have "too many trains" on a "too small network". Then i think the junction is safe. but i may still add the signals, just in case.
This was just to illustrate that the "mantra" chain at the entrance and regular at the exit doesn't apply in the case of buffered intersection where you use regular signal in the middle of the junction. Or one could see a buffered 4 way junction like a group of small junction in which the mantra would still apply it's just a matter of perspective .
Last edited by mmmPI on Fri Dec 04, 2020 9:05 am, edited 1 time in total.