Page 1 of 1

I admit defeat.

Posted: Sun Dec 27, 2020 9:24 pm
by blazespinnaker
Is there a comprehensive guide anywhere regarding all the rules / scenarios of which you can place either train signal so that it will successfully divide a block?

I have some general rules I've built up in my head, but there always seems to be some exception to those rules that I don't quite understand completely.

Note that I can get all my trains working well with no deadlock and rather good throughput, even on two way single tracks. I was just hoping develop a full enumeration of the rules for signal placing as there are still some circumstances in which I am surprised by a blinking signal. It's a bit of a pain because I use long distance robots to do all my train work.

Re: I admit defeat.

Posted: Sun Dec 27, 2020 10:07 pm
by NotRexButCaesar
anywhere there is a green square when you hover over it

generally this is on
  • straight rail
    diagonal rail
    the end segments of curved rails.
you cannot place a signal wherever there is something else too close, like another signal or an intersecting rail.

Re: I admit defeat.

Posted: Sun Dec 27, 2020 10:27 pm
by blazespinnaker
Yah, I've built a few 100 junctions.

I was wondering if there were any precise rules.

None of the wikis mention any. I've looked at a lot!

Re: I admit defeat.

Posted: Sun Dec 27, 2020 11:07 pm
by Koub
If a train needs to know what's beyond the segment it enters before entering it to avoid any risk of collision, then there should be a chain signal at the beginning of that segment (from the train's perspective). Else a regular signal.
When creating a rail system with different sized trains, then the longest train should be used for this reflection.

Re: I admit defeat.

Posted: Mon Dec 28, 2020 2:25 am
by blazespinnaker
Yah, so, not sure about the rules of thumb that I've read. Many different scenarios in terms of rail arrangements there and ways to optimize throughput. That's a very long and involved conversation, most of the opinions being somewhat subjective IMHO. Signal placement has been elevated to an art form around here.

I'm just looking for rules / code that says "make signal blink" because it can't divide a block. The obvious rule that it gets confused when the track ahead and behind the signal are the same block because they are circularly connected makes sense. But there's obviously more to it than that.

I have a sneaking suspicion that it's buggy when it sees rail topologies it's unfamiliar with, which is why it's non deterministic, or that the rules are more holistic (pathing through the network) and less local than I've been assuming. That doesn't really explain everything though. I've moved signals along a particular block in between junctions, and it's worked while failing at an earlier point.

Are there assumptions about minimum train lengths? Does order of placing signals matter? I mean, assuming the same placement for a set of signals, does it matter the order that I place the signals? Is there any impact from train stations on signal placement feasibility? When placing signals on a two way single lane track, what should we keep in mind? Does it matter if robots are placing the signal? Does it matter if trains are on the track at the same time?

Inquiring minds would like to know.

It's very possible that I'm unnecessarily torturing the rail system, but I like to get creative sometimes for fun. I find it interesting though that when experimenting in /editor I don't run into these problems.

If you have two signals of either type, together they always seem to be able to divide a block. Definitely not so in game. It was a 1.0 map migrated though. Would that be an issue?

I'm doing this all on 1.1.6 btw, in case that matters.

Re: I admit defeat.

Posted: Mon Dec 28, 2020 3:01 am
by Zavian
blazespinnaker wrote: Mon Dec 28, 2020 2:25 am I'm just looking for rules / code that says "make signal blink" because it can't divide a block.
I can only think of 2 circumstances where signals blink.
  1. The signal isn't properly connected to a rail line. Typically only happens when you deconstruct or move rails (or ghosts). If you remove the signal, you can't replace it as the location isn't valid. If you aren't going to replace the moved/missing rails, you can just remove the signal, since it isn't doing anything useful.
  2. There is a loop in the track such that the placed signal doesn't divide the block into two blocks. Typically solved by just continuing to signal the intersection. Think about a circular piece of rail without any signals. eg a roundabout. It is currently all a single block. When you add the first signal to the loop, it is still one block. That means the the incoming block and the outgoing block for that signal is the same, which isn't valid. But as soon as you add another signal to the loop you now have two separate blocks.
I think I also read somewhere that it was possible to get circuit controlled signals into a state where they blink, but I'm not sure how to do that.

Re: I admit defeat.

Posted: Mon Dec 28, 2020 3:03 am
by blazespinnaker
Hmmm, yeah, I'm starting to think this might be a bug. Just trying now in editor, it seems to work fairly flawlessly. Wheras in my world (started in 1.0.0), the lights are constantly blinking in very bizarre circumstances.

Like, for example, placing two signals on the same length of track, with no junctions in between (so no chance of circular connections) - that should always divide it right? Not so on my map.

I'll post an example.

The two on the left are flashing, and there is no circular reference. The block behind them are not only split by the two working ones on the right, but there are many other working signals before you ever come back to the flashing ones.

Re: I admit defeat.

Posted: Mon Dec 28, 2020 3:09 am
by Zavian
blazespinnaker wrote: Mon Dec 28, 2020 3:03 am Hmmm, yeah, I'm starting to think this might be a bug. Just trying now in editor, it seems to work fairly flawlessly. Wheras in my world (started in 1.0.0), the lights are constantly blinking in very bizarre circumstances.

Like, for example, placing two signals on the same length of track, with no junctions in between (so no chance of circular connections) - that should always divide it right? Not so on my map.
Maybe post screenshots/savegames so others can look at what you are seeing.

Re: I admit defeat.

Posted: Mon Dec 28, 2020 3:10 am
by Zavian
So which signal is blinking?

Re: I admit defeat.

Posted: Mon Dec 28, 2020 3:12 am
by blazespinnaker
Posted above, in case my edit didn't notify you.

Hmmm, let me try placing them manually rather than with bots.

D'oh! That was it. Freaking bots. Bug is a huge pain though, map is way too big to place signals manually.

Re: I admit defeat.

Posted: Mon Dec 28, 2020 3:16 am
by Zavian
The two in the left look like they are rotated, ie not properly facing/connected to the rail line.

Re: I admit defeat.

Posted: Mon Dec 28, 2020 3:17 am
by brunzenstein
blazespinnaker wrote: Mon Dec 28, 2020 3:03 am Hmmm, yeah, I'm starting to think this might be a bug. Just trying now in editor, it seems to work fairly flawlessly. Wheras in my world (started in 1.0.0),
I'll post an example.

The two on the left are flashing, and there is no circular reference. The block behind them are not only split by the two working ones on the right, but there are many other working signals before you ever come back to the flashing ones.
This is a one lane track and you place two signals (chain signals) for using this track in both directions with two trains - so there is another train somewhere below the line blocking the whole concept maybe?

Re: I admit defeat.

Posted: Mon Dec 28, 2020 3:30 am
by blazespinnaker
Zavian wrote: Mon Dec 28, 2020 3:16 am The two in the left look like they are rotated, ie not properly facing/connected to the rail line.
Yeah, that's the issue. Copied ghosts (which I was doing, via cut/paste) don't auto rotate when placed.

Probably a 'feature' but a usability issue if you ask me.

Re: I admit defeat.

Posted: Mon Dec 28, 2020 3:39 am
by blazespinnaker
Thanks Zavian, nice catch. I verified on my other blinking signals. I submitted a feature suggestion.

viewtopic.php?f=6&t=93648&p=529257#p529257

Re: I admit defeat.

Posted: Mon Dec 28, 2020 1:59 pm
by Yoyobuae
blazespinnaker wrote: Mon Dec 28, 2020 3:30 am Yeah, that's the issue. Copied ghosts (which I was doing, via cut/paste) don't auto rotate when placed.

Probably a 'feature' but a usability issue if you ask me.
If you look closely, you will see there's a graphic in between the railroad ties when the signal connects properly that's missing when the signals are not connected to the rails.

Re: I admit defeat.

Posted: Mon Dec 28, 2020 8:31 pm
by blazespinnaker
Yeah, looking back, I was a little unobservant for sure. It's a game, though, so you know, cut me some slack. ;p

I also play a little zoomed out quite a bit, so some of the finer details go unnoticed.

Re: I admit defeat.

Posted: Tue Dec 29, 2020 1:22 am
by Zavian
blazespinnaker wrote: Mon Dec 28, 2020 3:30 am Copied ghosts (which I was doing, via cut/paste) don't auto rotate when placed.
Personally I use shift click to place ghosts, rather than use the copy/paste tool to build things like signals, if they are outside my reach.

Re: I admit defeat.

Posted: Tue Dec 29, 2020 1:55 am
by blazespinnaker
Zavian wrote: Tue Dec 29, 2020 1:22 am
blazespinnaker wrote: Mon Dec 28, 2020 3:30 am Copied ghosts (which I was doing, via cut/paste) don't auto rotate when placed.
Personally I use shift click to place ghosts, rather than use the copy/paste tool to build things like signals, if they are outside my reach.
Likely part of the issue also is that I spend 100% of game play in map mode, where pipette is very lame. Can't adjust recipes / modules out of reach, for example.

But, I think the discussion is starting to miss the point, absolutely, and it's the sort of tunnel vision that can make games unnecessarily complex for new players.

Borking signals on robot placement - how does that make bots and trains more fun? It doesn't.

Re: I admit defeat.

Posted: Tue Dec 29, 2020 2:58 am
by Zavian
I do get your points.

I also make frequent use of copy/paste because it preserves rotation/recipes etc, even when I'm building within reach.

But for placing individual signals, the preserve rotation bit isn't desirable, so there I just use normal ghost placement.