Strange splitter behavior: Lane unawareness

Bugs that are actually features.
Post Reply
User avatar
tobsimon
Fast Inserter
Fast Inserter
Posts: 104
Joined: Wed Apr 29, 2015 10:58 am
Contact:

Strange splitter behavior: Lane unawareness

Post by tobsimon »

Splitters show some strange, unexpected and undocumented (as far as I know) behavior, when both lanes of a belt are filled with the same items. It splits the lanes for some time, then suddenly switches without reason.
splitter.png
splitter.png (100.72 KiB) Viewed 4778 times
If there is a curve beforehand, the items on one lane are shifted a little compared against the other lane, and the lane split is very persistant until the belt backs up or dries out. This problem is most prominent on the belts from a ore deposit or train station to the smelting facilities. Suddenly half of my furnaces weren't supplied anymore and I was forced to build lane equalizers behind the offending splitter (used as joiner).

My guess is, that for every item type, there is a flipping bit, to decide whether it should go left or right. This flipping bit is the same for both lanes, even though the items itself are bound to their lane. If two items enter on two lanes at the same time, then probably only their object-id decides, which is processed first. My suggested solution would be: Double the flipping bits. One for every item on each lane.

sillyfly
Smart Inserter
Smart Inserter
Posts: 1099
Joined: Sun May 04, 2014 11:29 am
Contact:

Re: Strange splitter behavior: Lane unawareness

Post by sillyfly »

tobsimon wrote: My guess is, that for every item type, there is a flipping bit, to decide whether it should go left or right. This flipping bit is the same for both lanes, even though the items itself are bound to their lane. If two items enter on two lanes at the same time, then probably only their object-id decides, which is processed first.
Yes, this is exactly how they work (I believe this is explained in the wiki, but I must admit I haven't checked). Why do you consider this problematic?
I also don't understand how you got to a situation this makes half of your furnaces stop working, as inserters can grab from either side of the belt...

User avatar
tobsimon
Fast Inserter
Fast Inserter
Posts: 104
Joined: Wed Apr 29, 2015 10:58 am
Contact:

Re: Strange splitter behavior: Lane unawareness

Post by tobsimon »

I do split the lanes deliberately by side-merging on underground belts. The other lane I use for coal, so I only need one input inserter per furnace and no long inserters.

sillyfly
Smart Inserter
Smart Inserter
Posts: 1099
Joined: Sun May 04, 2014 11:29 am
Contact:

Re: Strange splitter behavior: Lane unawareness

Post by sillyfly »

But if the incoming belts are pure iron why do you merge them on to underground belts? You can side-merge onto regular belts, thus both sides can go on to the single side of the new belt.

User avatar
tobsimon
Fast Inserter
Fast Inserter
Posts: 104
Joined: Wed Apr 29, 2015 10:58 am
Contact:

Re: Strange splitter behavior: Lane unawareness

Post by tobsimon »

I did use underground belts, to define the chosen lane, so that both can go to the left side without one lane beeing preferred over the other or one needing to loop around and because it needs a little bit less space. The whole construction was done before fast belts were available. Now, knowing of this detail, I will preferably side merge onto normal (fast) belts, like you said, to be fail-safe.

My whole point wasn't that my clever (at least I thought so) setup failed, but that the behavior of the splitter does depend on a factor (probably the object-id of equal items entering at the same time), which has no representation in the game world, making it's behavior incomprehensible to the player. Since the items going through the splitter are tied to their lanes, I would expect, that the splitting logic also discriminates between the lanes. But it doesn't.

Surely the effect can be accommodated for with relatively easy workarounds. But workarounds are unelegant. Stuff should work consistently and predictable. If it doesn't it, there should be a good reason for it. Maybe two left - two right on their respective lanes isn't considered equal enough splitting compared to one left - one right irrespective of lane. That is a not a good reason, I think. I consider it irksome, a so called papercut bug. Especially games should avoid irksome elements.

Post Reply

Return to “Not a bug”