Thanks a lot for your thorough analysis and suggestions!
Avona wrote: Wed Mar 20, 2024 7:47 am
The main way I saw to increase the tpm was by adding more space to the central diagonal crossing rails. Your design had nearly exactly 6 train cars of length, which means that trains will be braking in the way of other trains as they cross paths.
Oh, that is a great point! I was indeed trying to leave
just enough space to fit a train, without thinking about the speed at which it would be able to pass through. Leaving a bit extra to make sure the train clears the intersection before breaking is a great tip, thanks!
Avona wrote: Wed Mar 20, 2024 7:47 am
I also noticed that you have
a lot of signals in general. Hans already pointed out the excess rail signals. I'll just point out the useless chain signals.
I think one of the chain signals is actually just left over from me fiddling with the design and shouldn't be there at all. oops.
My placement of signal was pretty much based on these rules:
- chain signal just before crossing
- signal just after crossing, normal if there's a safe buffer behind it, chain if not
- signal before and immediately after each split/merge, chain signal before splits that go to the same destination.
- normal signal every 2 car lengths, except inside a safe buffer
Thinking more about chain signals, I agree with what you're saying - having a chain signal before a crossing is completely unnecessary
if the previous signal was a chain signal.
Comparing the two designs, I see you're using signals generally every 3 car lengths instead, which might explain a lot of the difference. Is there a less-is-more rule hidden here? or is that just about minimizing resources rather than improving throughput?
FWIW I started using the 2-car spacing when I was using a mix of 1-2-1 and 1-4-1 trains (on my first train-heavy factory), and then just stuck with it.
Avona wrote: Wed Mar 20, 2024 7:47 am
Contrary to popular belief, chain signals before splits do nearly nothing. As trains brake, they repath, so the effect of chains that they force the train to choose an empty path isn't so useful in an intersection.
Interesting.
I've had issues in the past when trying to experiment with complicated intersections where a train would often (visually noticeable on the benchmark timelapse) block the split even if one branch was free, hence I started adding chain signals before all splits on equivalent paths. It's entirely possible I misunderstood why that was the happening originally, and just made the wrong association.
Avona wrote: Wed Mar 20, 2024 7:47 am
As far as the curvy rails, I didn't have any issues getting the rails to cross. They're offset from the other rails a bit, but that's alright.
The primary reason for the curvy bit is that I needed a 2 space offset, which can't be done directly (in 1.1 anyways). As a side effect it saved some horizontal space when used as a buffer, but as you pointed out I had unused space on that section anyways.
I was trying to avoid crossings where I couldn't fit signals
immediately adjacent to the rail, which pushed me to have more spacing in some places. I see you're using this pattern without any issues though, so I was probably over-optimizing something that doesn't really matter.
I think the big lesson for me is that train speed might matter more than length of the intersecting segments.
Thanks! Added it to my blueprint library.
Avona wrote: Wed Mar 20, 2024 7:47 am
I tested my modified version, which got a score of 139.43, set 1 of 151.93, and a set 2 of 126.93.
That's an awesome result!
In fact, one of the things that was bothering me was that taking 'Parallel Multicross 4 lane' and chopping one arm off yielded a slightly better score than my intersection (151/113, total 132), but yours actually beat it.
Thanks again for all your suggestions, this is a great learning experience!