feedback: train signals are hard

Post all other topics which do not belong to any other category.
ajm.nethunt
Burner Inserter
Burner Inserter
Posts: 12
Joined: Fri Apr 01, 2016 1:21 pm
Contact:

feedback: train signals are hard

Post by ajm.nethunt »

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.
J-H
Fast Inserter
Fast Inserter
Posts: 125
Joined: Fri Apr 21, 2017 11:48 pm
Contact:

Re: feedback: train signals are hard

Post by J-H »

Yes, this!
alfocep
Manual Inserter
Manual Inserter
Posts: 3
Joined: Sat Nov 10, 2018 3:54 am
Contact:

Re: feedback: train signals are hard

Post by alfocep »

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
User avatar
TruePikachu
Filter Inserter
Filter Inserter
Posts: 978
Joined: Sat Apr 09, 2016 8:39 pm
Contact:

Re: feedback: train signals are hard

Post by TruePikachu »

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."
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.
A better solution might be to draw directional arrows in the signal block view (when you're holding a signal in your hand).
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.
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 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?
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 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.
This is a lot harder than you'd think, partially because of the inability for the pathfinder to locate reverse-facing segments:
  • 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.
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.
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.
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).
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.
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.
Greybeard_LXI
Fast Inserter
Fast Inserter
Posts: 123
Joined: Sun Feb 26, 2017 10:48 pm
Contact:

Re: feedback: train signals are hard

Post by Greybeard_LXI »

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.
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.
J-H
Fast Inserter
Fast Inserter
Posts: 125
Joined: Fri Apr 21, 2017 11:48 pm
Contact:

Re: feedback: train signals are hard

Post by J-H »

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?
vanatteveldt
Filter Inserter
Filter Inserter
Posts: 947
Joined: Wed Nov 25, 2015 11:44 am
Contact:

Re: feedback: train signals are hard

Post by vanatteveldt »

TruePikachu wrote: Mon Nov 12, 2018 5:14 pm
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."
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.
A better solution might be to draw directional arrows in the signal block view (when you're holding a signal in your hand).
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.

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).
User avatar
Oktokolo
Filter Inserter
Filter Inserter
Posts: 884
Joined: Wed Jul 12, 2017 5:45 pm
Contact:

Re: feedback: train signals are hard

Post by Oktokolo »

ajm.nethunt wrote: Sun Nov 11, 2018 9:52 pm Things in-game information doesn't teach about trains:
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).
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.
Ideally, the game would only let you place signals for the other direction on the white spots.
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.
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 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).
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).
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.
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 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.
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).
User avatar
mrbane
Manual Inserter
Manual Inserter
Posts: 2
Joined: Tue Nov 13, 2018 6:35 am
Contact:

Re: feedback: train signals are hard

Post by mrbane »

Indeed there are still lot of areas that needs explanation even seening the tutorials won't help that much
Zavian
Smart Inserter
Smart Inserter
Posts: 1649
Joined: Thu Mar 02, 2017 2:57 am
Contact:

Re: feedback: train signals are hard

Post by Zavian »

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).
User avatar
Optera
Smart Inserter
Smart Inserter
Posts: 2920
Joined: Sat Jun 11, 2016 6:41 am
Contact:

Re: feedback: train signals are hard

Post by Optera »

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.
Frightning
Filter Inserter
Filter Inserter
Posts: 813
Joined: Fri Apr 29, 2016 5:27 pm
Contact:

Re: feedback: train signals are hard

Post by Frightning »

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).
User avatar
TruePikachu
Filter Inserter
Filter Inserter
Posts: 978
Joined: Sat Apr 09, 2016 8:39 pm
Contact:

Re: feedback: train signals are hard

Post by TruePikachu »

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:
  • 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.
In theory, this should allow a user to notice that there's something special about chain signals ("when I hover the cursor over this, why do circles appear?"), and if they notice that it's other signals that are circled, they should be able to figure out the chain signal is related to them somehow. This, coupled with the description for chain signals, should help the user learn their operation. Furthermore, this allows someone to quickly determine where a "cascading chain block" (as I refer to it) ends, by looking for the circles around midpoint and exit circles (now I'm thinking they should have different shapes).

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).
User avatar
Oktokolo
Filter Inserter
Filter Inserter
Posts: 884
Joined: Wed Jul 12, 2017 5:45 pm
Contact:

Re: feedback: train signals are hard

Post by Oktokolo »

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.
You can select the locomotive to see where it intends to go. Green arrows mark free blocks, red arrows mark occupied blocks.
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.
ManaUser
Filter Inserter
Filter Inserter
Posts: 263
Joined: Sat Aug 12, 2017 9:41 pm
Contact:

Re: feedback: train signals are hard

Post by ManaUser »

This is just a quick mockup of an idea I had regarding one and two-way tracks.
Signals.jpg
Signals.jpg (100.53 KiB) Viewed 9799 times
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?
ajm.nethunt
Burner Inserter
Burner Inserter
Posts: 12
Joined: Fri Apr 01, 2016 1:21 pm
Contact:

Re: feedback: train signals are hard

Post by ajm.nethunt »

@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.
bobucles
Smart Inserter
Smart Inserter
Posts: 1708
Joined: Wed Jun 10, 2015 10:37 pm
Contact:

Re: feedback: train signals are hard

Post by bobucles »

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.
stenole
Manual Inserter
Manual Inserter
Posts: 4
Joined: Sun Apr 02, 2017 10:14 am
Contact:

Re: feedback: train signals are hard

Post by stenole »

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).
mrvn
Smart Inserter
Smart Inserter
Posts: 5877
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: feedback: train signals are hard

Post by mrvn »

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?
Because most people want one-way tracks and placing signals in pairs would lead to instant deadlocks.
User avatar
T-A-R
Fast Inserter
Fast Inserter
Posts: 172
Joined: Tue May 22, 2018 4:20 pm
Contact:

Re: feedback: train signals are hard

Post by T-A-R »

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
Post Reply

Return to “General discussion”