Friday Facts #394 - Assembler flipping and circuit control
Assembler request size
Great news. Now that we have a dialog, i would appreciate to have an option to increase the request quantity of an assembler up to the limit that the slots have when i manually insert ingredients.
Re: Friday Facts #394 - Assembler flipping and circuit control
What about dumping items with the new assemblers, I guess this would be easy if you had drones. If you didn't have drones then what? Does the assembler just store the items? Is there any control we can have over how the items get handled other than filter inserters? It would be nice if they didn't get dumped out into the wild.
Re: Friday Facts #394 - Assembler flipping and circuit control
Whoever wrote the FFF missed an important trick with mirroring. In the picture of refineries on the bottom, that's not even close to optimal. To make full use of mirroring, you mirror all the buildings next to one another, then you don't need to leave a 1 tile space between the adjacent buildings like that, because the left output matches the right output of the neighbor. Normally you would always alternate mirroring like a chess board pattern. Nullius has a button to mirror buildings just like this feature, so people have already been doing this for a while.
I bring this up because understanding this is actually important to making sure the new feature is designed in a useable way. I've heard that copy pasting the recipe settings onto a machine will also overwrite the mirroring setting. This is a bad idea. Normally you're not going to want a row of mirrored buildings that all have the same mirroring, you want them alternated. So if you implement it this way, you can't just set the recipe on a row of machines by pasting it anymore, it would mess up your careful mirroring. Mirroring affects which pipes connect with which fluids, so it's not something you want to happen unintentionally as part of something else. It's more similar to rotating a building than it is to setting the recipe. Nullius lets you paste settings for another of its new properties, energy priority, but it intentionally did not make pasting settings change the mirroring. In vanilla this is perhaps less critical, because how often do you really change recipes on an existing build? Vanilla doesn't have many fluid recipes or alternate recipes. But for mods you'll change recipes of existing builds more frequently, and you'll definitely not want that to make you have to go one by one through a row to make the mirroring alternate as intended. If a blueprint has mirrored buildings connecting to a very specific pipe layout, then you go to set the recipe and it unmirrors half of them, then all the pipes will be connecting to pipes of the wrong fluid.
I bring this up because understanding this is actually important to making sure the new feature is designed in a useable way. I've heard that copy pasting the recipe settings onto a machine will also overwrite the mirroring setting. This is a bad idea. Normally you're not going to want a row of mirrored buildings that all have the same mirroring, you want them alternated. So if you implement it this way, you can't just set the recipe on a row of machines by pasting it anymore, it would mess up your careful mirroring. Mirroring affects which pipes connect with which fluids, so it's not something you want to happen unintentionally as part of something else. It's more similar to rotating a building than it is to setting the recipe. Nullius lets you paste settings for another of its new properties, energy priority, but it intentionally did not make pasting settings change the mirroring. In vanilla this is perhaps less critical, because how often do you really change recipes on an existing build? Vanilla doesn't have many fluid recipes or alternate recipes. But for mods you'll change recipes of existing builds more frequently, and you'll definitely not want that to make you have to go one by one through a row to make the mirroring alternate as intended. If a blueprint has mirrored buildings connecting to a very specific pipe layout, then you go to set the recipe and it unmirrors half of them, then all the pipes will be connecting to pipes of the wrong fluid.
Last edited by Anachrony on Fri Jan 19, 2024 11:58 pm, edited 3 times in total.
- theRustyKnife
- Filter Inserter
- Posts: 259
- Joined: Thu Feb 26, 2015 9:26 pm
- Contact:
Re: Friday Facts #394 - Assembler flipping and circuit control
I'm really curious how the circuit control for assemblers is gonna work. I know from experience with the crafting combinator mod that there are tons of annoying edge cases that seem difficult to account for in a nice way even if you're not limited by the mod api... It's one of the reasons I kind of abandoned the mod - it just feels like a gigantic pile of hacks prone to breaking whenever some other mod does anything unexpected and it's really slow on top of that. Oh well, hopefully I won't have to make a 2.0 version now.
-
- Inserter
- Posts: 39
- Joined: Mon May 08, 2017 8:13 pm
- Contact:
Re: Friday Facts #394 - Assembler flipping and circuit control
I'm glad you agree with us on the "stack/Bulk" inserter name changes. It'd be really frustrating to explain to anyone why "stack inserters" don't deal with "stacks".
I also think that it'd be great if fluid inputs could be dynamic. Someone mentioned it earlier in this topic, but for the life of me I can't find it anymore, so they will have to be happy with my passing mention. But anyway....
Yeah, let fluid input slots be blank. It's not like you need to place an inserter with wires at a VERY specific side spot of an assembler in order to manufacture wires, so why does the input pipe need to be coded for a particular liquid input? If someone is dumb enough to hook up both inputs to a water pipe and can't figure out why Adv. Oil Processing isn't working doesn't deserve to be hand-held.
Unfortunately, I was all excited that such a change would invalidate the need to be able to "flip" liquid recipe machines, but this would not work for output slots... Well, remove liquid input limits and you will simplify nearly all "can it flip?" questions in the base game. Only mixed-fluid outputs (oil processing/cracking) has mixed fluid output now.
Of course, I'd like the ability to flip outputs as well, but another suggestion earlier about letting us change the outputs via UI is nice too. Keep a default output format for those that don't want to change anything, but a quick copy-paste from one to another will mean you only have to change the outputs once and can apply it to all nearby that also need the input changed.
I also think that it'd be great if fluid inputs could be dynamic. Someone mentioned it earlier in this topic, but for the life of me I can't find it anymore, so they will have to be happy with my passing mention. But anyway....
Yeah, let fluid input slots be blank. It's not like you need to place an inserter with wires at a VERY specific side spot of an assembler in order to manufacture wires, so why does the input pipe need to be coded for a particular liquid input? If someone is dumb enough to hook up both inputs to a water pipe and can't figure out why Adv. Oil Processing isn't working doesn't deserve to be hand-held.
Unfortunately, I was all excited that such a change would invalidate the need to be able to "flip" liquid recipe machines, but this would not work for output slots... Well, remove liquid input limits and you will simplify nearly all "can it flip?" questions in the base game. Only mixed-fluid outputs (oil processing/cracking) has mixed fluid output now.
Of course, I'd like the ability to flip outputs as well, but another suggestion earlier about letting us change the outputs via UI is nice too. Keep a default output format for those that don't want to change anything, but a quick copy-paste from one to another will mean you only have to change the outputs once and can apply it to all nearby that also need the input changed.
-
- Filter Inserter
- Posts: 500
- Joined: Tue Jun 26, 2018 10:14 am
- Contact:
Re: Friday Facts #394 - Assembler flipping and circuit control
I'm under the impression that Wube team has listed all the "Ideas and suggestions" threads ordered by decreasing number of posts, and implemented one after the other most wanted features
viewtopic.php?f=8&t=76775
Koub - Please consider English is not my native language.
Re: Friday Facts #394 - Assembler flipping and circuit control
Are the "Set Recipe" and "Read Ingredients" check boxes mutually exclusive? Otherwise, I'm concerned checking both might lead to feedback loops on the circuit, where an ingredient might get seen as the new recipe. I'm curious to experiment with this.
-
- Burner Inserter
- Posts: 11
- Joined: Tue Aug 22, 2023 8:45 am
- Contact:
Re: Friday Facts #394 - Assembler flipping and circuit control
This looks amazing! Does flipping work for all entity types, e.g. a pipe with limited fluid connections? Asking because I have a mod that lets you remove pipe connections in specific directions, and if they were automatically detected as flippable / rotatable with this change, that would be a massive QOL improvement as they currently don't properly get rotated / flipped with blueprints (and I could simplify the mod to only implement the basic straight, elbow, and T pipe segments).
-
- Fast Inserter
- Posts: 139
- Joined: Wed Apr 26, 2017 11:29 pm
- Contact:
Re: Friday Facts #394 - Assembler flipping and circuit control
Since you started renaming things ...
Can we please get the one most annoying thing in the whole factorio (modding api) renamed?
Namely:
force
to something like faction
For example placing an entity and reading the api docs and thinking "oh there is force" and intuitively means for me to just place the entity, destroy everything that is in the way, or place entities over each other, or on water, ..., whatever, just place it!
And then the letdown comes with the realisation you cant just set force=true and be happy, but its actually just who the entity belongs to.
Can we please get the one most annoying thing in the whole factorio (modding api) renamed?
Namely:
force
to something like faction
For example placing an entity and reading the api docs and thinking "oh there is force" and intuitively means for me to just place the entity, destroy everything that is in the way, or place entities over each other, or on water, ..., whatever, just place it!
And then the letdown comes with the realisation you cant just set force=true and be happy, but its actually just who the entity belongs to.
Re: Friday Facts #394 - Assembler flipping and circuit control
Not always possible though.
And what about doing an actual positional flip of all entities in the blueprint?
"Left hand" and "right hand" traffic are higher level concepts that apply to the rail network as ideas in your head, they cannot be flipped by an algorithm seeing only a blueprint of a part of the rail network.
No. You would get unconnectable rail networks or need a lot more segments and get weird behavior if you tried to connect them, even more so now that we get 16-directional (2-way) rail pieces.
My mods: Capsule Ammo | HandyHands - Automatic handcrafting | ChunkyChunks - Configurable Gridlines
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser
Some other creations: Combinassembly Language GitHub w instructions and link to run it in your browser | 0~drain Laser
Re: Friday Facts #394 - Assembler flipping and circuit control
Great FFF.
1 : Maybe you could rename the stack inserter into bulk inserter right away in the next 1.1 release, to let people get used to it ?
2 :
1 : Maybe you could rename the stack inserter into bulk inserter right away in the next 1.1 release, to let people get used to it ?
2 :
Maybe refer to as "capacity" ? "inserter capacity bonus", "override inserter capacity" ?
Re: Friday Facts #394 - Assembler flipping and circuit control
This is how Nullius refers to forces in its multiplayer mode with multiple forces. But I think it would be more trouble than it's worth to change it internally, and make modders change their code for something cosmetic like this. Plus as a programmer I appreciate working with more concise names. Faction is 2 extra characters. The concept of "force" is not very exposed to the player, so a mod that actually uses the concept is free to localize it to "faction" for text that the player sees.
Re: Friday Facts #394 - Assembler flipping and circuit control
I really wish the graphics would flip as well. I know there is no actual machine in there that does anything logical to transform the inputs to the outputs, but it feels wrong to just flip the label on the outputs. Though this might not work with diagonals...
-
- Inserter
- Posts: 44
- Joined: Thu Apr 07, 2016 9:17 pm
- Contact:
Re: Friday Facts #394 - "Stack" inserters"
WRT the confusing name change, I'd like to suggest:
* Retire "stack inserter" altogether -- no more thing exists.
* "Bulk inserter" as you have planned.
* New item that puts stacks on belts is "Stacking inserter" (it stacks things on belts by "doing stacking").
Much less confusion to retire the old name and have a new (though, ACK, similar) name.
* Retire "stack inserter" altogether -- no more thing exists.
* "Bulk inserter" as you have planned.
* New item that puts stacks on belts is "Stacking inserter" (it stacks things on belts by "doing stacking").
Much less confusion to retire the old name and have a new (though, ACK, similar) name.
Re: Friday Facts #394 - Assembler flipping and circuit control
Recipe-setting is worrying. It converts "logistics" with its pleasing visuals designed by artists, into "programming" with no visuals at all.
Malls are worse, so I will use recipe-setting on malls, to cancel one abomination with another. :/ Early-game malls work nicely, with good reward for getting a few simple ingredients past machines. By mid-game there are too many ingredients, with no elegant subsets. Malls turn ugly and unmanageable, and we're now cheering for the option to replace them with programmable logic that's invisible. And I am going to do it, but I think the game would have been better if recipes were chosen so that malls had elegant layouts throughout the game.
Malls are worse, so I will use recipe-setting on malls, to cancel one abomination with another. :/ Early-game malls work nicely, with good reward for getting a few simple ingredients past machines. By mid-game there are too many ingredients, with no elegant subsets. Malls turn ugly and unmanageable, and we're now cheering for the option to replace them with programmable logic that's invisible. And I am going to do it, but I think the game would have been better if recipes were chosen so that malls had elegant layouts throughout the game.
Re: Friday Facts #394 - Assembler flipping and circuit control
Since recipe setting effectively requires logistics to work, you're already at the point of a "bot mall". While it's an interesting experiment to take advantage of the circuits to set recipes for more obscure items, I doubt I'll be using it much in my malls. Besides, "bot malls" are pretty elegant, I feel.
Re: Friday Facts #394 - Assembler flipping and circuit control
Joined the forums to echo this sentiment.Pirate_Rance wrote: ↑Fri Jan 19, 2024 2:58 pm While I appreciate all the work done for the Flipping I have an Honest Question, Why not just have it so after recipe selection have the building UI let you select what each fluid slot is for? The only Issue I can find with this would be mixed fluids being a possibility.
The amount of effort put in to automate the flipping of fluid recipies for both Vanilla and Modded content just feels weird.
I want to preface that I do genuinely appreciate the effort put in to do all of this work for 2.0, flipping included ...
But I do genuinely have to wonder why the idea of just manual fluid selection wasn't considered (or at least not even mentioned in the post). While I can imagine that some might find it awkward to be *required* to select fluid I/O, I would argue that these buildings can just default to their current I/O assignment and instead be modified at any point afterwards.
Regarding mixed fluids: There could even be additional fluid logic that detects if an I/O is already connected to a pipe network containing a particular fluid, and either prevent the selection of an incorrect fluid/recipe, or automatically assign the I/O based on the existing connections.
These settings could then be copy/pasted like pretty much every other building feature like recipe, logi-requests, etc.
Even better; machine monstrosities (in a good way) like that SpaceExp assembler with 12 fluid I/O's no longer requires awkward math and logic to try and give a flippable version - instead the player can choose where the most sensible connections are and actually engineer the building and not just a mess of underground pipes.
I don't believe fluid throughput is usually a problem for buildings (don't they act like pumps for outgoing at least, or something similar?), but if it were, you could even allow players to try to increase I/O throughput by assigning additional connections to a fluid.
If this has already been covered and explained elsewhere in this thread, and I missed it, then I apologise.
But still - I want to say again, I really do appreciate all the effort and work. I've been loving the 2.0 updates (even Quality unlike a lot of others it seems).
Keep up the great work team!
Re: Friday Facts #394 - Assembler flipping and circuit control
Things the weren't showcased that are still broken with regards to flipping as far as I know:
A: Pumpjacks. Thankfully... there's functionally no reason to blueprint jumpjacks from my experience. The irregularity of patches already necessitates this as a manual process. Maybe there are plans for this in the future though, as reducing this kind of manual repetitive process seems to be a major goal for 2.0. I think I'm okay if pumpjacks remained unflippable, but it'd still be a nice QoL. I do sometimes setup an oil patch and go "I wish that I could flip that. It would make the pipes a bit neater.
B: Inserters: Factorio will currently let you flip this blueprint. It will not turn out well. I think the only time I've used this design is in train unloaders where I'm trying to get a lot of throughput onto a single belt. So given that item C is trains, it might not be the worst thing to not have flippable inserters. But there are a lot of designs where it would be nice to flip inserters to inserting onto the left side of the belt.
C: Trains. Like... everything related to trains. Train stations. Train signals. Chain signals. All of it is dependent on the side of the track that it's placed. Left-handed vs. Right-handed trains is a decision you must make early on with your train system and locks you into (and out of) certain designs. I understand why it will probably never happen. It's complexity probably makes the complexity of the current work to flip the fluid outputs look like a minor bug fix in comparison. But the ability to no longer be locked into right/left-handed train designs would be real nice. Being able to arbitrarily place stations on either side of a track regardless of where train handedness... I do like it.
A: Pumpjacks. Thankfully... there's functionally no reason to blueprint jumpjacks from my experience. The irregularity of patches already necessitates this as a manual process. Maybe there are plans for this in the future though, as reducing this kind of manual repetitive process seems to be a major goal for 2.0. I think I'm okay if pumpjacks remained unflippable, but it'd still be a nice QoL. I do sometimes setup an oil patch and go "I wish that I could flip that. It would make the pipes a bit neater.
B: Inserters: Factorio will currently let you flip this blueprint. It will not turn out well. I think the only time I've used this design is in train unloaders where I'm trying to get a lot of throughput onto a single belt. So given that item C is trains, it might not be the worst thing to not have flippable inserters. But there are a lot of designs where it would be nice to flip inserters to inserting onto the left side of the belt.
C: Trains. Like... everything related to trains. Train stations. Train signals. Chain signals. All of it is dependent on the side of the track that it's placed. Left-handed vs. Right-handed trains is a decision you must make early on with your train system and locks you into (and out of) certain designs. I understand why it will probably never happen. It's complexity probably makes the complexity of the current work to flip the fluid outputs look like a minor bug fix in comparison. But the ability to no longer be locked into right/left-handed train designs would be real nice. Being able to arbitrarily place stations on either side of a track regardless of where train handedness... I do like it.
Re: Friday Facts #394 - Assembler flipping and circuit control
They do seem to like there to be a minor puzzle element of fitting together good builds. That means elements that don't support every possible configuration you can imagine, which detract from having to solve spatial problems. But it's a matter of balancing that puzzle aspect with usability and convenience. I don't think the puzzle element of fitting together unflipped vanilla refineries is all that satisfying, and a lot of vanilla players get turned off when they have to start dealing with oil, which the awkwardness of piping around refineries doesn't help with.Cubey wrote: ↑Fri Jan 19, 2024 11:48 pm The amount of effort put in to automate the flipping of fluid recipies for both Vanilla and Modded content just feels weird.
I want to preface that I do genuinely appreciate the effort put in to do all of this work for 2.0, flipping included ...
But I do genuinely have to wonder why the idea of just manual fluid selection wasn't considered (or at least not even mentioned in the post).
I think simply allowing flipping is a good compromise. In practice, simply flipping like this allows you to accomplish most of what you'd want to do, but not 100%, so there are still some challenges with fitting the pieces together. Adding infinite configuration options wouldn't be all that consistent with other aspects of how things work in Factorio. Clicking through those menus to configure things would slow down the pace and fun of building, and 90% of the time you'd just be configuring it to flip them all anyway. I'd rather just have a button to flip it than click several times to set up individual fluids.
There's already a mod that lets you rearrange the fluid connections in more configurations, for people who want that. I think it's overkill as default vanilla behavior.