feedback: train signals are hard
-
- Burner Inserter
- Posts: 12
- Joined: Fri Apr 01, 2016 1:21 pm
- Contact:
feedback: train signals are hard
My 2 cents.
Things in-game information doesn't teach about trains:
1. Placing a signal on only one side of the track makes it a 1-way track, but nothing clearly told me this; trains unable to enter are simply stopped with a mystifying "NO PATH" popping out of them: nothing ANYWHERE tells me "Hey, I can't enter this section (here let me highlight in-game for you the problem section) because it's a 1-way segment and I'm trying to enter from the wrong direction; here let me also highlight the specific rail signal that's making this a 1-way for you."
2. Nothing ever explains that tracks are made 2-way only by placing signals directly across from each other; I see it shows a little white-box "placement spot" across from a signal, but nothing explains in-game why it's white - it's just mysteriously white and you'd never know unless you went outside the game to research.
3. Different rail signals cooperate like they are a system that is wired (wireless?) together regardless of distance, but what about them would really lead you to expect that they work that way as a new player knowing nothing about Factorio?
4. In a complex interaction of different signals, I find it incredibly difficult to figure out what chain of signals is making a particular signal green or red; I REALLY wish I could click on a specific signal and have a UI appear that shows the sequence of signals/events that are leading to the particular state of this signal.
5. Seriously, there needs to be a robust in-game "Rail Troubleshooter" where you can click on some problem and say "Please help me understand why these 3 trains aren't moving, step-by-step." Zoom out to map view and replay steps leading up to the problem or something.
6. The color codes of segmenting rails with signals seem like they should mean something, but nothing anywhere tells you what it means when a segment is read, yellow, or cyan.
I figured out a fully-automated production loop with circuit networks and I still haven't figured out how to reliably have 2 trains run on the same track: it's too hard and in-game information is incomplete, misleading, or just plain absent - and it makes trains/signaling extremely frustrating for me.
Things in-game information doesn't teach about trains:
1. Placing a signal on only one side of the track makes it a 1-way track, but nothing clearly told me this; trains unable to enter are simply stopped with a mystifying "NO PATH" popping out of them: nothing ANYWHERE tells me "Hey, I can't enter this section (here let me highlight in-game for you the problem section) because it's a 1-way segment and I'm trying to enter from the wrong direction; here let me also highlight the specific rail signal that's making this a 1-way for you."
2. Nothing ever explains that tracks are made 2-way only by placing signals directly across from each other; I see it shows a little white-box "placement spot" across from a signal, but nothing explains in-game why it's white - it's just mysteriously white and you'd never know unless you went outside the game to research.
3. Different rail signals cooperate like they are a system that is wired (wireless?) together regardless of distance, but what about them would really lead you to expect that they work that way as a new player knowing nothing about Factorio?
4. In a complex interaction of different signals, I find it incredibly difficult to figure out what chain of signals is making a particular signal green or red; I REALLY wish I could click on a specific signal and have a UI appear that shows the sequence of signals/events that are leading to the particular state of this signal.
5. Seriously, there needs to be a robust in-game "Rail Troubleshooter" where you can click on some problem and say "Please help me understand why these 3 trains aren't moving, step-by-step." Zoom out to map view and replay steps leading up to the problem or something.
6. The color codes of segmenting rails with signals seem like they should mean something, but nothing anywhere tells you what it means when a segment is read, yellow, or cyan.
I figured out a fully-automated production loop with circuit networks and I still haven't figured out how to reliably have 2 trains run on the same track: it's too hard and in-game information is incomplete, misleading, or just plain absent - and it makes trains/signaling extremely frustrating for me.
Re: feedback: train signals are hard
Yes, this!
Re: feedback: train signals are hard
True story :C I've completed the tutorial many times over and over again to understand, but i think an explanation its needed after every "exercise" of the tutorial
- TruePikachu
- Filter Inserter
- Posts: 978
- Joined: Sat Apr 09, 2016 8:39 pm
- Contact:
Re: feedback: train signals are hard
Due to how the pathfinder works, the train can't even identify what the problematic segment is. Additionally, it shouldn't be able to state what segment is one-way opposite direction anyway, because if it looks at e.g. the wrong direction on a two-track mainline, it will say all those signals are wrong.ajm.nethunt wrote: ↑Sun Nov 11, 2018 9:52 pm 1. Placing a signal on only one side of the track makes it a 1-way track, but nothing clearly told me this; trains unable to enter are simply stopped with a mystifying "NO PATH" popping out of them: nothing ANYWHERE tells me "Hey, I can't enter this section (here let me highlight in-game for you the problem section) because it's a 1-way segment and I'm trying to enter from the wrong direction; here let me also highlight the specific rail signal that's making this a 1-way for you."
A better solution might be to draw directional arrows in the signal block view (when you're holding a signal in your hand).
This is an issue in the tutorial, expect it to be resolved at some point.ajm.nethunt wrote: ↑Sun Nov 11, 2018 9:52 pm 2. Nothing ever explains that tracks are made 2-way only by placing signals directly across from each other; I see it shows a little white-box "placement spot" across from a signal, but nothing explains in-game why it's white - it's just mysteriously white and you'd never know unless you went outside the game to research.
I haven't played through the relevant tutorial recently, but doesn't it have you place multiple signals anyway? This can also be resolved by a tutorial rewrite.ajm.nethunt wrote: ↑Sun Nov 11, 2018 9:52 pm 3. Different rail signals cooperate like they are a system that is wired (wireless?) together regardless of distance, but what about them would really lead you to expect that they work that way as a new player knowing nothing about Factorio?
This is a lot harder than you'd think, partially because of the inability for the pathfinder to locate reverse-facing segments:ajm.nethunt wrote: ↑Sun Nov 11, 2018 9:52 pm 4. In a complex interaction of different signals, I find it incredibly difficult to figure out what chain of signals is making a particular signal green or red; I REALLY wish I could click on a specific signal and have a UI appear that shows the sequence of signals/events that are leading to the particular state of this signal.
- Block signals turn red if there's any train in the block being protected (i.e. the block you'd enter after passing the signal). This area is visible while holding a signal in your hand.
- Chain signals visually turn green if all signals leaving the block are green, blue if some but not all signals leaving are green, and red if either all signals leaving are red, or a train is in the protected block. They functionally turn red if the train examining the signal can't find a path that passes a functionally-green signal leaving the block. I believe hovering the mouse over the locomotive in question shows the path it was trying to use.
Not likely to be possible to implement reliably; partially because of pathfinder limitations, but also partially because it would likely only be able to analyze relatively simple situations.ajm.nethunt wrote: ↑Sun Nov 11, 2018 9:52 pm 5. Seriously, there needs to be a robust in-game "Rail Troubleshooter" where you can click on some problem and say "Please help me understand why these 3 trains aren't moving, step-by-step." Zoom out to map view and replay steps leading up to the problem or something.
EDIT: Maybe a tool that can try to compute a path between two specific rails, as if a train was trying to go that way, while respecting all current signal indications? This would only need to use existing pathfinder code, and can give sufficient information to locate the source of an issue (as one would be able to clearly see what routes are set up correctly, and what routes are either signal-blocked or unpathable).
This should probably be covered in the tutorial, yes, but red+green are universal colors for "stop" and "go" respectively. Yellow is super ambuigious, however (while traffic light rules in many areas state that a yellow light means that a red light is imminent, railroad signalling rules generally have yellow indicate an "approach" aspect, which states that the next signal is red -- hardly the case in Factorio -- and neither of these explain that yellow means a train has reserved the route through the signal), and blue doesn't have a universal meaning for either traffic lights or railroad signalling.ajm.nethunt wrote: ↑Sun Nov 11, 2018 9:52 pm 6. The color codes of segmenting rails with signals seem like they should mean something, but nothing anywhere tells you what it means when a segment is read, yellow, or cyan.
-
- Fast Inserter
- Posts: 123
- Joined: Sun Feb 26, 2017 10:48 pm
- Contact:
Re: feedback: train signals are hard
If you are talking about the lines on the track when holding a signal near the track they just mean this is a different segment. There is no hidden meaning behind the colors.ajm.nethunt wrote: ↑Sun Nov 11, 2018 9:52 pm My 2 cents.
Things in-game information doesn't teach about trains:
6. The color codes of segmenting rails with signals seem like they should mean something, but nothing anywhere tells you what it means when a segment is read, yellow, or cyan.
Re: feedback: train signals are hard
I just spent over an hour on my current factory trying to debug a couple of intersections so that my four trains would stop No Pathing randomly. What should be a simple setup (multiple unloading loops served by an in lane and an out lane, then splitting to far-off destinations) is now a mish-mash with a bunch of crossovers and bypasses that is extremely ugly and inelegant.
I had to manually unjam one collision since then, so it's still not right...but it's close enough that I can get back to finally getting blue circuit construction online.
If signals ALWAYS have to be paired, why not set them to automatically place in pairs?
I had to manually unjam one collision since then, so it's still not right...but it's close enough that I can get back to finally getting blue circuit construction online.
If signals ALWAYS have to be paired, why not set them to automatically place in pairs?
-
- Filter Inserter
- Posts: 947
- Joined: Wed Nov 25, 2015 11:44 am
- Contact:
Re: feedback: train signals are hard
What they could make is a map overlay where all track reachable from the current train is shown. That should allow you to quite quickly see which path of your intended route is note accessible. The can also show all points from which the destination is reachable in a different color.TruePikachu wrote: ↑Mon Nov 12, 2018 5:14 pmDue to how the pathfinder works, the train can't even identify what the problematic segment is. Additionally, it shouldn't be able to state what segment is one-way opposite direction anyway, because if it looks at e.g. the wrong direction on a two-track mainline, it will say all those signals are wrong.ajm.nethunt wrote: ↑Sun Nov 11, 2018 9:52 pm 1. Placing a signal on only one side of the track makes it a 1-way track, but nothing clearly told me this; trains unable to enter are simply stopped with a mystifying "NO PATH" popping out of them: nothing ANYWHERE tells me "Hey, I can't enter this section (here let me highlight in-game for you the problem section) because it's a 1-way segment and I'm trying to enter from the wrong direction; here let me also highlight the specific rail signal that's making this a 1-way for you."
A better solution might be to draw directional arrows in the signal block view (when you're holding a signal in your hand).
More difficult, but certainly doable, would be a button to locate signal problems where a new pathfinding is run which can ignore a single signal. If it can find a path, it can show you the signal that's blocking. Of course, that only helps if a single signal is the problem, but it quite often is (e.g. when on a junction to signal is accidentally placed on the wrong track of the two tracks meeting).
Re: feedback: train signals are hard
The train tutorial needs expansion and they probably know it. Also they are currently reworking all tutorials for the polishing release 0.17 (wich is also sheduled to be the first release candidate).
Ideally, the game would only let you place signals for the other direction on the white spots.ajm.nethunt wrote: ↑Sun Nov 11, 2018 9:52 pm 2. Nothing ever explains that tracks are made 2-way only by placing signals directly across from each other; I see it shows a little white-box "placement spot" across from a signal, but nothing explains in-game why it's white - it's just mysteriously white and you'd never know unless you went outside the game to research.
I don't think, that the game needs a way to fully block a rail by placing non-matched signals - so i consider it to be a bug, that you can do that.
Block signals are damn easy to figure out: If there is a train in the block between the signal and the next signal (wich might be a block or chain signal) the incomming train may not pass. So you certainly don't need any help for them (after the tutorial got updated).ajm.nethunt wrote: ↑Sun Nov 11, 2018 9:52 pm 4. In a complex interaction of different signals, I find it incredibly difficult to figure out what chain of signals is making a particular signal green or red; I REALLY wish I could click on a specific signal and have a UI appear that shows the sequence of signals/events that are leading to the particular state of this signal.
Chain signals mostly act the same but what they consider to be the block to check depends on the path of the incomming train. That block contains the block directly following the chain signal and all chain-signal-guarded blocks on the incomming trains path following the initial block until the first non-chain signal or the trains destination.
Sounds more complex than it is and definitely needs to be teached about.
Chain-signals are important for designing deadlock-free intersections, working buffers and multi-train stations.
But don't think, that designing train networks is just a pretty easy thing that got unneccessarily complicated by the game. It is not and the game has the most easy implementation that still allows for complex and deadlock-free networks - that i know of. Designing proper deadlock-free train networks is hard - especially if you got neither bridges nor tunnels (both would be hard to implemented properly because of engine limitations).
I played a lot of openTTD before i discovered Factorio. And there, i always used block, chain-enter, chain-continuation and chain-end signals in addition to the occasional path signal (also, in openTTD there are one- and two-sided versions of each signal). You only have two of that signal types in Factorio and that proved to be fine and less error-prone (i would still like Factorio becoming a full superset of openTTD regarding signal types, but that will probably not happen).
This will probably not get implemented too. Way too complicated to do right and just misleading if done wrong. Maybe, they will implement some path error visualization ideas mentioned in another thread. But i doubt that we will see any improvement on pathing error visualization in 0.17. They have assigned themselves too much stuff to do for that version already.ajm.nethunt wrote: ↑Sun Nov 11, 2018 9:52 pm 5. Seriously, there needs to be a robust in-game "Rail Troubleshooter" where you can click on some problem and say "Please help me understand why these 3 trains aren't moving, step-by-step." Zoom out to map view and replay steps leading up to the problem or something.
A good start is to have unidirectional tracks only. Also have plenty of space between intersections and use chain-signals where they belong (at the start of blocks that should never have a stopped train inside).ajm.nethunt wrote: ↑Sun Nov 11, 2018 9:52 pm I figured out a fully-automated production loop with circuit networks and I still haven't figured out how to reliably have 2 trains run on the same track: it's too hard and in-game information is incomplete, misleading, or just plain absent - and it makes trains/signaling extremely frustrating for me.
Re: feedback: train signals are hard
Indeed there are still lot of areas that needs explanation even seening the tutorials won't help that much
Re: feedback: train signals are hard
I always recommend https://www.reddit.com/r/factorio/comme ... ts_23_and/ to people who want a rail/signal tutorial. (Not trying to derail the thread, but just posting a link for anyone who needs help with rails and signals).
Re: feedback: train signals are hard
My tutorial to Factorio signaling was OTTD.
I never had problems with trains finding no path, but I can see how signal graphics and mechanics in Factorio are more misleading than in OTTD.
OTTD has two way and one way signals with different sprites and signals in general show clearly in which direction a signal is facing. Making signalling pretty self explanatory.
In contrast Factorio signals are always one-way which is mentioned nowhere and direction has to be determined by its attachment to the track, which can become confusing easily with large junctions.
PS:
two-way tracks are bad design in either OTTD and Factorio. Placing a 2nd track costs nothing in both games and greatly increases throughput.
I never had problems with trains finding no path, but I can see how signal graphics and mechanics in Factorio are more misleading than in OTTD.
OTTD has two way and one way signals with different sprites and signals in general show clearly in which direction a signal is facing. Making signalling pretty self explanatory.
In contrast Factorio signals are always one-way which is mentioned nowhere and direction has to be determined by its attachment to the track, which can become confusing easily with large junctions.
PS:
two-way tracks are bad design in either OTTD and Factorio. Placing a 2nd track costs nothing in both games and greatly increases throughput.
My Mods: mods.factorio.com
-
- Filter Inserter
- Posts: 813
- Joined: Fri Apr 29, 2016 5:27 pm
- Contact:
Re: feedback: train signals are hard
They did everyone a huge favor adding the ability to actually see the blocks when placing signals, but tbh they could do more with that overlay, a simple arrow at the ends to indicate if a train can path into the next block would explain a lot to people (no arrow if they can't path in that direction). So 1-way rail would look like
|---------->|------------> (etc.)
and 2-way would look like
<-------><-------------> (etc.)
Improper signaling (where train can never exit the block in question, in either direction) would result in a block looking like:
|-------|
Would probably go a LONG way to help people learn the finer points (tutorial totally does need to address how to do 2-way rail).
|---------->|------------> (etc.)
and 2-way would look like
<-------><-------------> (etc.)
Improper signaling (where train can never exit the block in question, in either direction) would result in a block looking like:
|-------|
Would probably go a LONG way to help people learn the finer points (tutorial totally does need to address how to do 2-way rail).
- TruePikachu
- Filter Inserter
- Posts: 978
- Joined: Sat Apr 09, 2016 8:39 pm
- Contact:
Re: feedback: train signals are hard
Just a quick showerthought that I think applies here as well, chain signals are unintuitive since, as I've mentioned before, they don't display exactly how they act -- a train will happily wait at a blue signal, which can confuse a lot of people. It should be possible to render a help overlay, when hovering over a chain signal, that indicates all chain+block signals that the hovered-over chain signal depend on (recursively examining other non-red chain signals, stopping at the block signals) with circles, and colors the circles red/green/blue indicating their states. This way, if someone hovers their cursor over:
Not sure how difficult this would be to code efficiently, however, since it depends on what data chain signals store (if they only store references to their protected track segments, or if they also store references to signals they depend on).
- a red chain signal, if there's no train in the protected block, red circles are drawn around the signals that leave the block, and adjacent chain signal blocks, if they don't contain a train, circles around their leaving signals, etc.
- a yellow chain signal, nothing special will happen, since a user will see a train pass the signal in a while anyway
- a blue chain signal, paths a train can't go will be red-circled, and paths a train can go will be green/blue/(red in nested iterations) circled
- a green chain signal, all the exits from this block will be green-circled, and adjacent chain signal blocks will have their exits green-circled, etc.
Not sure how difficult this would be to code efficiently, however, since it depends on what data chain signals store (if they only store references to their protected track segments, or if they also store references to signals they depend on).
Re: feedback: train signals are hard
You can select the locomotive to see where it intends to go. Green arrows mark free blocks, red arrows mark occupied blocks.TruePikachu wrote: ↑Tue Nov 13, 2018 2:58 pm Just a quick showerthought that I think applies here as well, chain signals are unintuitive since, as I've mentioned before, they don't display exactly how they act -- a train will happily wait at a blue signal, which can confuse a lot of people.
If a train stops in front of a chain signal, almost always one of the chained blocks or the target block is occupied. In all other cases you modified the network while the train was already on the way to somewhere and the modification removed all paths from its current position to its current target. But if it finds no path, it won't display any arrows.
Re: feedback: train signals are hard
This is just a quick mockup of an idea I had regarding one and two-way tracks.
This would only appear when you hovered over a signal (so the highlights on both tracks wouldn't be visible at the same time, I just combined them in one image). Anyway, it would show which direction the signal controls, with a yellow arrow matching the hover cursor; and either another a arrow going the other way for a signal pair, or a crossed out arrow for a single signal.
Do you think that would make things any more obvious?
This would only appear when you hovered over a signal (so the highlights on both tracks wouldn't be visible at the same time, I just combined them in one image). Anyway, it would show which direction the signal controls, with a yellow arrow matching the hover cursor; and either another a arrow going the other way for a signal pair, or a crossed out arrow for a single signal.
Do you think that would make things any more obvious?
-
- Burner Inserter
- Posts: 12
- Joined: Fri Apr 01, 2016 1:21 pm
- Contact:
Re: feedback: train signals are hard
@manauser yes, that would be extremely helpful.
I think signals are "hard" only because important stuff isn't clearly communicated to me as a player - not because the system is "bad".
I guess one of the problems I didn't clearly articulate is that you CAN see some things by hovering over a train - but the ACTUAL PROBLEM is so far off-screen that the available information effectively tells you nothing more than you already knew: "there is a mystery problem you can't see occurring somewhere down the line." That's why I suggested something be shown on the Map view - so you can actually see the whole scope of the problem (at least as far out as the map zooms?)
Especially now that the map allows pings and labels - it would be very handy to have some troubleshooting process flag (at least temporarily) the signal(s) that are causing the problem.
I think signals are "hard" only because important stuff isn't clearly communicated to me as a player - not because the system is "bad".
I guess one of the problems I didn't clearly articulate is that you CAN see some things by hovering over a train - but the ACTUAL PROBLEM is so far off-screen that the available information effectively tells you nothing more than you already knew: "there is a mystery problem you can't see occurring somewhere down the line." That's why I suggested something be shown on the Map view - so you can actually see the whole scope of the problem (at least as far out as the map zooms?)
Especially now that the map allows pings and labels - it would be very handy to have some troubleshooting process flag (at least temporarily) the signal(s) that are causing the problem.
Re: feedback: train signals are hard
I liked the idea where you hover over a train on the map, and it highlights all the rail segments the train has access to. For bonus points it could also color code the highlighted rails depending on the train signal colors. It's not too demanding on the game (1 overlay for 1 train at player request) and it shows a ton of useful info for diagnosing trains.
Re: feedback: train signals are hard
Personally I find train signals to be fairly intuitive. The only problem I have is that one signal means the track is one way. In itself it is not a problem. If you have 1 signal on a piece of track, I would consider it obvious that you only want trains to travel in one direction.
The problem arrises when you have signals on both sides of the track but they aren't exactly lined up to each other. You have created a piece of track that cannot be traversed without manual interaction.
Are there reasons to even have such a piece of track in your system? Maybe. But if you intend such a setup, placing "staggered" signals is a pretty hacky way of achieving a blocked piece of rail that can be manually traversed.
So I would argue that when you have placed signals in such a way, you have made an error. Putting this information in the rail tutorial makes little sense. It's easily forgotten so you're likely to still make the mistake and not figure out what you did wrong. Creating another piece of information on the overlay would require more work than this problem merits. It's also not clear if an improved overlay would really help much either. Leaving the problem unfixed is bad because you have to make this mistake a few times before you figure out the cause. A couple times the signals can't be fixed without removing lots of track because adjusting things a notch right or left is not easily done with rails.
You have made an error and one that some programming magic should easily be able to figure out. The game should check the rail segments as signals/rails are placed, make sure you don't have segments of rail that are blocked both ways, then make it clear in the UI that a mistake is present. I suggest the UI tell you directly through the rail signals. At the moment, the signals both show a green light, fooling you into thinking it is a functional piece of rail. The signals could instead either show a red light, a flashing red light or cycling through all the colours (like they would if they aren't connected to the rail).
The problem arrises when you have signals on both sides of the track but they aren't exactly lined up to each other. You have created a piece of track that cannot be traversed without manual interaction.
Are there reasons to even have such a piece of track in your system? Maybe. But if you intend such a setup, placing "staggered" signals is a pretty hacky way of achieving a blocked piece of rail that can be manually traversed.
So I would argue that when you have placed signals in such a way, you have made an error. Putting this information in the rail tutorial makes little sense. It's easily forgotten so you're likely to still make the mistake and not figure out what you did wrong. Creating another piece of information on the overlay would require more work than this problem merits. It's also not clear if an improved overlay would really help much either. Leaving the problem unfixed is bad because you have to make this mistake a few times before you figure out the cause. A couple times the signals can't be fixed without removing lots of track because adjusting things a notch right or left is not easily done with rails.
You have made an error and one that some programming magic should easily be able to figure out. The game should check the rail segments as signals/rails are placed, make sure you don't have segments of rail that are blocked both ways, then make it clear in the UI that a mistake is present. I suggest the UI tell you directly through the rail signals. At the moment, the signals both show a green light, fooling you into thinking it is a functional piece of rail. The signals could instead either show a red light, a flashing red light or cycling through all the colours (like they would if they aren't connected to the rail).
Re: feedback: train signals are hard
Because most people want one-way tracks and placing signals in pairs would lead to instant deadlocks.J-H wrote: ↑Mon Nov 12, 2018 5:54 pm I just spent over an hour on my current factory trying to debug a couple of intersections so that my four trains would stop No Pathing randomly. What should be a simple setup (multiple unloading loops served by an in lane and an out lane, then splitting to far-off destinations) is now a mish-mash with a bunch of crossovers and bypasses that is extremely ugly and inelegant.
I had to manually unjam one collision since then, so it's still not right...but it's close enough that I can get back to finally getting blue circuit construction online.
If signals ALWAYS have to be paired, why not set them to automatically place in pairs?
Re: feedback: train signals are hard
OpedTTD and Locomotion learned me what, and what not, to do. As the game assumes you can calculate, it asumes you can path trains the conventional way (there are no real new mechanics in Factorio trains). But the tutorial/New player experience is worked on. That might could clear up some clouds in-game for the new generation of rail builders. It seems not all Factorio players have played these games.
Their tutorials about troubleshooting jams might be useful as well. Just follow back the waiting trains route to where trains do move, or where the rails are empty
Their tutorials about troubleshooting jams might be useful as well. Just follow back the waiting trains route to where trains do move, or where the rails are empty