Added as Traditional with some slight signalling changes, I'd advise you to be careful with the double rail signals on exits, as they're so close trains may stop in the intersection if the output backs up. Throughput is very reasonable considering its size, it does become about five times wider, and taller, with the lane changers I'm using thoughDivaya wrote:Sure, I'll work on the design a little more. I definitely like the idea of allowing multiple trains to make left turns in the intersection.
Edit: Not as hard as I imagined it'd be! Here's the second iteration of the intersection, and it allows opposing trains to make left turns at the same time.
*images*
I tried a similar approach on the 4.5 guage rail distances, but I had trouble with tight areas around the left turns that made it unfeasible to signal.
While this kind of optimization can be powerful it also limits the intersection to one train size. If we use different train sizes we may end up in situations like below where trains can park in the intersection if an output backs up. I will not allow this kind of optimization as I feel that A) fixing train size is too limiting, and B) I'd have to redo all tests for the comparisons to be fair.Zijkhal wrote:So, I've done a bit of testing with the Pasta because I was dissatisfied with the 66 / 73 throughput values, and found that it can actually do up to 83 / 85. The problem is the exit of the intersection. With leaving a train's length after the exit, trains follow very far behind each other, limiting the throughput. With using the one signal every two cars method, the throughput improved to 80 in set 1. At this point I realized that the higher throughput I was consistently measuring was due to me putting signals as close to each other as possible on the exit line, so trains were following each other closer.
Anyway, I was thinking, does the 1 train long rail block has to be right after the exit merge of the intersection? As trains accelerate, there could easily be a gap longer than one train between them, and it could be used to unlimit the throughput while maintaining the behaviour that trains only exit the intersection if they can fully leave the exit merge, thus not blocking the entry, and not degrading the rating to B.
So, I have created this: https://pastebin.com/Dmq0Xvyh
In three trains length it ensures that trains only exit the intersection if they can fully leave it, but it does not limit the throughput of the exit line.
Aargha, could you please retest the Pasta with this merge thing attached?
However if you're OK with fixing trains to one length then you can also modify this optimization to work on the internal buffers of the intersection. If trains are a fixed size you may also disregard the train-length output block in some situations if the distance between intersections is a multiple of the train length. I've been meaning to make a post on these kinds of optimizations for a while now but I keep getting distracted by other projects