Page 1 of 1

Split Belt

Posted: Tue Feb 16, 2021 11:01 am
by LordAn77
TL;DR
Split belt: used to split the 2 lanes of a belt and send them off to opposing directions
What ?
A new belt (in different belt tiers) that is 2 belt ends going off in opposite directions:
Crudely edited image of how a split belt would work
Crudely edited image of how a split belt would work
scr-347-cropped.png (308.87 KiB) Viewed 3492 times
Why ?
In the game it's trivial to combine belt lanes into a single lane by side-loading, but hard to split the 2 lanes again. Personally I dislike the underground belt "solution" and consider it more of a hack.

A simple, elegant (IMHO) solution for this would be to introduce a split belt that goes in 2 opposite directions. You could think of it as 2 belt ends shifted by half a tile. Doesn't require complicated mechanisms like smart splitters, doesn't leave half of an underground belt pair unused, doesn't block items on 1 lane of a belt (as, again, with underground belts).

Re: Split Belt

Posted: Tue Feb 16, 2021 11:04 am
by boskid
No.

Re: Split Belt

Posted: Tue Feb 16, 2021 11:34 am
by LordAn77
Umm, is there some additional feedback behind the "No"?!?

* I have looked and AFAICT this hasn't been suggested (but may ofc. have missed it, "split" + "belt" aren't exactly rare terms in this game)
* Was the suggestion in a wrong format? If so, how?
* Do you guys simply not take suggestions anymore after the launch of 1.1?
* You guys sick of belts?

A single "No" without at least a hint of a reason is as unhelpful as it is rude.

Re: Split Belt

Posted: Tue Feb 16, 2021 11:45 am
by boskid
It would not improve any aspect of a gameplay, can be made in game using existing elements (2 splitters loading onto 2 belts from both sides), would require extra graphics work, there is a lot of places where belts are implemented in a way that assumes they always output on one side, and for my personal feature score it is a "player has a problem in a problem solving game, wants devs to solve that problem". Its the same class as 88612

Re: Split Belt

Posted: Tue Feb 16, 2021 12:08 pm
by LordAn77
I can appreciate if there are technical hurdles for this.

However, 2 splitters loading onto 2 belts does not do the same thing, at least not without undergrounds - it wouldn't work with sushi belts and just end up mixing the 2 lanes after all. The point is not that the 2 belts go in different directions, the point is that the 2 lanes of a belt are cleanly separated without underground belt "hacks".

Re: Split Belt

Posted: Tue Feb 16, 2021 12:15 pm
by boskid
Underground belts are not hacks, its fully developed mechanic with sideloading to isolate one belt side. In FFF-364 in https://cdn.factorio.com/assets/img/blo ... -lines.png alone there are 2 places where it was used.

Re: Split Belt

Posted: Tue Feb 16, 2021 12:44 pm
by LordAn77
Ironically, FFF-364 was exactly the post that gave me this idea, as with this, the 4 lanes would stay completely independent and separated, quite unlike with a splitter approach.

Re: Split Belt

Posted: Tue Feb 16, 2021 12:57 pm
by boskid
Splitters force left and right lines to be inside of the same transport line group only because they contain a shared state which is a split data (1 byte) and some tick values used by the splitter animation. With some effort i could change the splitter code so it would have 2 separate data blocks, one for left and one for right lines and then i could make them not merge left lines with right lines. Animations part would simply look into both of those and choose tick based on its own merging criteria.

Re: Split Belt

Posted: Tue Feb 16, 2021 1:12 pm
by Xenophore
With some effort i could change the splitter code so it would have 2 separate data blocks, one for left and one for right lines and then i could make them not merge left lines with right lines.
If it's not an enormous amount of work, it might be worth doing to split some lines and speed up the belt update. Do you have a feel for what the performance effect would be?

Re: Split Belt

Posted: Tue Feb 16, 2021 1:43 pm
by boskid
Xenophore wrote:
Tue Feb 16, 2021 1:12 pm
If it's not an enormous amount of work, it might be worth doing to split some lines and speed up the belt update. Do you have a feel for what the performance effect would be?
All of the performance gain related to multithreaded transport lines is due to all cores being able to work on multiple groups and saturating memory bandwidth. Even without that change there is already large amount of transport line groups on almost all of the save files i tested so i do not expect any performance gain from that.

Re: Split Belt

Posted: Wed Feb 17, 2021 10:45 am
by LordAn77
Ofc. I would also take a splitter-based solution if that is preferable for technical or development reasons.

It's just strange to me that currently belt lane splitting requires underground belts (whose primary purpose is to transport things underground), just because it's the only thing that just so happens to block 1 lane.

Re: Split Belt

Posted: Thu Feb 18, 2021 4:36 am
by wobbycarly
Being able to apply the splitter filter by lane would be another approach to solve the "only give me half the belt" problem. Not saying it's a good one... :D