Splitting belt lanes and blueprints

Post all other topics which do not belong to any other category.
Post Reply
lexi.lambda
Burner Inserter
Burner Inserter
Posts: 9
Joined: Tue Sep 04, 2018 12:09 am
Contact:

Splitting belt lanes and blueprints

Post by lexi.lambda »

Sometimes, I want to split the lanes of a belt. Yes, yes, I realize it’s usually best to avoid needing to do such things, but sometimes it’s useful. Even if you don’t put different types of items on each side of a belt, all of the designs for input and output balanced lane balancers rely on splitting belt lanes. As far as I can tell, there is one and only one way to do this for belts with the same type of item in each lane, and that is to sideload underground belt entrances or exits.

I don’t have a huge problem with that. Even though it can be awkward to place underground belts to ensure they don’t accidentally connect to each other, it’s just one aspect of the puzzle of belt logistics. However, I bumped into a bug today in which using unpaired underground belts in this way can actually result in nondeterministic blueprints. Sometimes (but not all the time), when placing a blueprint containing unpaired underground belts, the the direction of belts placed by bots can be inconsistent with the direction in the blueprint:



To my dismay, I learned from this forum thread that this bug is known, but has been categorized as Won’t Fix. In that thread, Rseding made the following comment:
Rseding91 wrote:You're having this problem because your blueprint has exit underground belts that aren't paired with any entrance underground belt - something that's not normally supported.
Emphasis mine. This is troubling to me. This means that all of the common input and output balanced lane balancer designs, as well as various other designs that rely on using unpaired underground belts to split belt lanes, are not officially supported! To me, this is a weak enough guarantee that it effectively means any blueprint containing unpaired underground belts could break upon placement, and I shouldn’t rely upon that feature in any of my designs. Taking this to its logical conclusion, this implies one of two things:
  1. The developers think that using paired underground belts exclusively is good enough for splitting the lanes of homogenous belts. If this is the case, that would imply that all the lane balancer designs on the wiki should be updated to only use paired underground belts. Personally, I think that sounds ridiculous, since it would make the existing designs, many of which are quite clever, significantly larger and considerably less interesting. However, maybe other people feel differently.
  2. Alternatively, either the unsupported feature needs to become supported (and the aforementioned bug needs to be fixed), or Factorio needs a new (supported) mechanic for splitting the lanes of belts. I’ve read that the developers have apparently been opposed to the latter of those two options in the past, but the status quo seems unreasonable to me.
Perhaps I am overreacting, and perhaps I should just keep using this “not supported” feature and make peace with the fact that I will sometimes need to manually flip my underground belts after they’ve been placed by bots. Still, I thought I’d ask how others feel. I’m posting this in General Discussion and not in Ideas and Suggestions since I don’t really have a concrete proposal, I’m mostly just wondering what other people think.

tl;dr: Lots of existing designs rely on unpaired underground belts for splitting belt lanes, which is not officially supported. Do you think that status quo is acceptable? If not, what do you think the right solution is?

User avatar
DaveMcW
Smart Inserter
Smart Inserter
Posts: 3699
Joined: Tue May 13, 2014 11:06 am
Contact:

Re: Splitting belt lanes and blueprints

Post by DaveMcW »

There's nothing stopping you from using paired underground belts everywhere for lane splitting.

If you want to use unpaired belts for smaller designs, avoid putting 3 in a row.

Zavian
Smart Inserter
Smart Inserter
Posts: 1641
Joined: Thu Mar 02, 2017 2:57 am
Contact:

Re: Splitting belt lanes and blueprints

Post by Zavian »

DaveMcW wrote:There's nothing stopping you from using paired underground belts everywhere for lane splitting.

If you want to use unpaired belts for smaller designs, avoid putting 3 in a row.
I think he has demonstrated a valid bug. Blueprints + construction robots should create an accurate copy of the original, even if the original uses unpaired undergrounds. In my opinion that is a bug that should be fixed.

lexi.lambda
Burner Inserter
Burner Inserter
Posts: 9
Joined: Tue Sep 04, 2018 12:09 am
Contact:

Re: Splitting belt lanes and blueprints

Post by lexi.lambda »

DaveMcW wrote:There's nothing stopping you from using paired underground belts everywhere for lane splitting.

If you want to use unpaired belts for smaller designs, avoid putting 3 in a row.
One of the 4-to-4 lane balancer designs on the wiki includes unpaired underground belts arranged in such a way that there are three in a row:

Image

It may be true that there is nothing stopping me from changing these designs to avoid the gotcha, but it seems like a pretty significant gotcha given the prominence and usefulness of the design. I’m essentially making a case that this is something worth fixing, but it sounds like maybe you disagree (which is fine; understanding others’ thoughts is the reason I started this thread in the first place).
Zavian wrote:I think he has demonstrated a valid bug. Blueprints + construction robots should create an accurate copy of the original, even if the original uses unpaired undergrounds. In my opinion that is a bug that should be fixed.
It’s “she”, please; I’m a woman. In any case, it’s worth saying that the bug in the thread I linked has not been characterized as “not a bug”, merely “won’t fix”. One way to interpret this thread is as a plea to reconsider that classification given the need to use unpaired underground belts to split/balance belt lanes in space-efficient ways.

Durentis
Fast Inserter
Fast Inserter
Posts: 105
Joined: Mon Jun 27, 2016 3:55 pm
Contact:

Re: Splitting belt lanes and blueprints

Post by Durentis »

I'm surprised to see this thread. My expectation would be that the entrance and exit points of an underground belt would each be stored and placed as a separate entity with a fixed direction and that the game would sort out the connection naturally as it does when we place/remove a single exit in between an existing pair. I had to blueprint a circle around me to see it happen, but I can confirm that it does flip some directions. I agree that this is inappropriate behaviour whether or not it is intended that underground belts be used in pairs.

Have to be careful with "deterministic" though, as that has meaning in code different from "what we expect". You could be right (and if you are it's definitely a bug needing attention), but they're likely being placed deterministically (bots will always place the three in the same order and directions at a given timestamp in a save on any computer so as not to desync in multiplayer or replays). We just can't expect the bots to place them as blueprinted because we don't know what order the numbers will have them be placed.

I use unpaired underground belts in my designs too, so this will be good to watch for going forward. Hopefully the devs responsible will change their mind on how they're blueprinted or address the underlying use case for sideloading in what they feel is a more appropriate manner. I mean, simply being able to click a belt segment and turn off one side (similar to selecting output preference on splitters) would be great.

Good find.. thank you.

User avatar
Gergely
Filter Inserter
Filter Inserter
Posts: 595
Joined: Sun Apr 10, 2016 8:31 pm
Contact:

Re: Splitting belt lanes and blueprints

Post by Gergely »

Either blueprints should be fixed, or underground belts modified to disallow this half-lane mechanism. I'm serious, I'm fine with that feature being removed. I never liked it, never used it, and it is not doable without having some trash end up on the dead lane that bumps into the underground belt's cover.

My opinion is that we need an official way to split belts elegantly. Maybe a single tile splitter that sends the left lane to the left, and the right lane to the right possibly balancing the outputs in the process.

If I need to split a belt, I use splitters. And filters to split the lanes.

zOldBulldog
Smart Inserter
Smart Inserter
Posts: 1161
Joined: Sat Mar 17, 2018 1:20 pm
Contact:

Re: Splitting belt lanes and blueprints

Post by zOldBulldog »

I have to agree with the OP. If nothing else because by definition a blueprint has to reflect the original design. Failing to do so just because the dev doesn't like a particular design is sloppy work that degrades the quality of the whole product. The only rational options are to either correct the blueprint mechanism or make that particular design impossible in the game.

User avatar
Oktokolo
Filter Inserter
Filter Inserter
Posts: 883
Joined: Wed Jul 12, 2017 5:45 pm
Contact:

Re: Splitting belt lanes and blueprints

Post by Oktokolo »

Gergely wrote:My opinion is that we need an official way to split belts elegantly.
Using underground belt exits is the official way to do it. Whether the method is elegant or not is a matter of taste though.
Gergely wrote:Maybe a single tile splitter that sends the left lane to the left, and the right lane to the right possibly balancing the outputs in the process.
I saw something like that as a mod some time ago.
Gergely wrote:If I need to split a belt, I use splitters. And filters to split the lanes.
That would need two splitters (one for splitting and the other for blocking the unwanted stuff) when splitting from a main bus with multiple users. You can replace the second splitter with a single underground exit.

Hannu
Filter Inserter
Filter Inserter
Posts: 850
Joined: Thu Apr 28, 2016 6:27 am
Contact:

Re: Splitting belt lanes and blueprints

Post by Hannu »

zOldBulldog wrote:I have to agree with the OP. If nothing else because by definition a blueprint has to reflect the original design. Failing to do so just because the dev doesn't like a particular design is sloppy work that degrades the quality of the whole product. The only rational options are to either correct the blueprint mechanism or make that particular design impossible in the game.
I agree too, even I do not like balancers and see much use for them. In this phase of game development blueprints should make an exact copy in every situation which player can build by using vanilla interface. Any differences are just lazy programming and low quality, as you wrote, despite any possible excuses. Especially because devs have mentioned that they will not give specific tools intended to split lanes and encouraged to use underground belts instead. If they claim suddenly that this is not "officially supported" they should make an officially supported solution in the problem. Splitter filtering is not equivalent because it assumes certain things on belt lanes. Underground splitting splits any item.

Tekky
Smart Inserter
Smart Inserter
Posts: 1039
Joined: Sun Jul 31, 2016 10:53 am
Contact:

Re: Splitting belt lanes and blueprints

Post by Tekky »

Gergely wrote:My opinion is that we need an official way to split belts elegantly. Maybe a single tile splitter that sends the left lane to the left, and the right lane to the right possibly balancing the outputs in the process.
I fully agree with this statement. However, the developers have stated in Factorio Friday Facts #122 that they don't want to add new entity types to the game, if possible. Therefore, it may be appropriate to be able to use the already existing two-tile splitter for this and to be able to configure it to behave in the desired way, even if half of the input and output lanes are not used. The splitter already has a configuration UI, the configuration options would just have to be expanded.

Related threads:
viewtopic.php?f=6&t=56248 Shouldn't unmerging a belt be as simple as merging it?
viewtopic.php?f=5&t=48047 Underground belt lane splitting, anyone else hate it?

I am certainly in favor of getting rid of the ability of underground belts to let one belt lane through and block the other. I consider this "feature" to be an unintuitive, ugly hack. This has all been discussed in the two threads mentioned above.

Post Reply

Return to “General discussion”