Friday Facts #394 - Assembler flipping and circuit control

Regular reports on Factorio development.
User avatar
AliceTheGorgon
Inserter
Inserter
Posts: 23
Joined: Sat Sep 13, 2014 9:10 pm
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by AliceTheGorgon »

gGeorg wrote:
Fri Jan 19, 2024 12:09 pm
Assembling machine circuit control applyed on centrifuge removes challenge of designing efficient enrichment process.
I am not sure it is correct approach.
And?
Blueprints and construction robots remove the "challenge" of hand-building everything in the factory. If someone is able to setup an automated system for it, that's fair game. And anyone who doesn't want to have to design their own will look something up online the same as they would have previously.

*Forcing* it to be tricky isn't very fun.

It's the same as how some players love min-maxing their efficiency with very carefully balanced production lines, but others are allowed to just spend the space and resources to build simpler production lines that are easier to use.

Lithane
Burner Inserter
Burner Inserter
Posts: 19
Joined: Tue Jul 03, 2018 3:01 am
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by Lithane »

gGeorg wrote:
Fri Jan 19, 2024 12:09 pm
Assembling machine circuit control applyed on centrifuge removes challenge of designing efficient enrichment process.
I am not sure it is correct approach.
I don't really see this. An efficient enrichment process can be simplified by just using bots already...

Grimshad
Inserter
Inserter
Posts: 42
Joined: Thu Dec 11, 2014 12:37 am
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by Grimshad »

I've always thought it didn't make sense to have so many types of inserters instead of just adding additional functionality to existing inserters. Like why have inserter, long inserter, filter inserter, stack inserter, bulk inserter. Other than the difference in recipe it just makes more sense to have an inserter that you can add filtering to using research and you can already add stacking by researching the stack bonus. So the normal inserter now handles "bulk" and filtering. So there's no point in even having bulk anymore. I know you're going to say, but the bulk inserter can handle x size stack by default and the research doesn't allow the normal inserter to handle that many, but why? Why not just have research that can get the normal inserter to the maximum stack size? Then you can just completely eliminate "Bulk" inserters and you'll only have normal inserters and stack inserters (to place full stacks).

and yes, you could just use the same argument to just add a toggle to a normal inserter on whether it places stacks or only 1 at a time (after you complete the stacking research). Now we're down to just 1 inserter type that is completely configurable. I don't know why but this makes way more sense to me than having a bunch of different inserter types.

The same reason why I love bobs inserters I guess. It eliminates the clutter. You can just make 1 inserter and configure it to do what you need, long, angle, stack count, near, far, fast, slow, ect..

Maybe I'm just dumb and removing necessary complexity for convenience.

lilihahattl
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sun Feb 21, 2016 8:32 am
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by lilihahattl »

Grimshad wrote:
Sat Jan 20, 2024 3:34 am
I've always thought it didn't make sense to have so many types of inserters instead of just adding additional functionality to existing inserters.
I think the point of it to reward you with a inserter with more functionality for using more advance ingredient.
If we just add functionality to the original inserter, you get a op inserter with just basic material, then might as well just always have 1 tier of belts and assembly machine.
Removing old recipe after researching better inserter seem like it would break the game somehow (or just more headache for rebalancing and refactoring code for the poor devs)
Maybe just add more control option to the more advance inserter to enable them to slow down and dynamically change the power usage based on it? But somehow i feel like it would slow down the games performance, maybe that is why they went with different inserter option?
Grimshad wrote:
Sat Jan 20, 2024 3:34 am
Why not just have research that can get the normal inserter to the maximum stack size? Then you can just completely eliminate "Bulk" inserters and you'll only have normal inserters and stack inserters (to place full stacks).
I don't get this as well, why give all inserter(beside long inserter) stack bonus(v1.1) when we already have stack inserter(v1.1)? What is the point of stack inserter(v1.1)?

User avatar
SteelWolf300
Inserter
Inserter
Posts: 30
Joined: Sat Apr 09, 2016 11:21 am
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by SteelWolf300 »

Hey if you like math, group theory can be used to describe flipping and rotating. And if you don't care too much about math, the key takeaway is that, considering 90° turns and flipping around a set axis, there are exactly 8 types of behavior an entity could take, amongst those only 3 need to keep track of flipping.
So, if you wanna be exhaustive in the implementation (eg, for allowing mods to add custom buildings with arbitrary behavior), it is sufficient to keep track of these 8 behaviors only.
factorio-lattice-D4.png
factorio-lattice-D4.png (131.31 KiB) Viewed 3007 times
Above is an example of the lattice of subgroups of the dihedral group D4 (that I modified from here). I won't go into the details about what D4 is and why it applies nicely to flipping and rotating in Factorio, I encourage you to read about it if you want to know more. I will just say that the letter F that you see in black illustrates the possible symmetries (rotations and reflections) composing that subgroup. I have put green letters/unicode symbols as well as Factorio entities that are invariant to these symmetries. Note that I have grouped together the "A" and "B" subgroups, as well as the "Q" and "L" subgroups, the technical reason being that they are not normal subgroups, they are conjugate of each other, i.e. you can "get to the other" by rotating 90°.

I have put in blue the letters/entities that are identical to their mirrored version (up to rotations), and red those that are chiral and need to keep track of flipping.

Sorry for the swastika, I could not find any other unicode symbol to represent this subgroup... (I spent at least an hour searching for an other one, without success). I guess mustache man made that kind of symmetry infamous :roll: I don't know any entity that could illustrate this subgroup, but this simple anti-AFK design can. I also couldn't find any vanillla examples for subgroups "N" and "Q-L", but I'm sure some modders could find applications. In Factorio, most entities fall in subgroup "X" and "A-B", and a few in "F".

Each entity can have a determined number of possible orientation (after rotation and reflection). To compute how many, take the order of the D4 group, i.e. 8 elements, and divide it by the order of the subgroup, eg 8/4=2 orientations for a gate ("H"), or 8/2=4 for a boiler ("A-B"). Note that Factorio doesn't always allow all the possible orientations, eg. the burner mining drill or train signals and stops have only 4 of the 8 theoretical orientations (idk if the devs plan to change that). Also, I took the recipe into account here (eg the sulfuric acid recipe is identical if reflected but oil processing is not), but if you take other elements into account it can change the category of an entity. For example, an inserter inserting on a belt directed away from it is chiral (the hand drops items to the right side of the belt), and would place the inserter in the "F" subgroup. Indeed, flipping blueprints with inserters can sometime break blueprints, and keeping track of the flip would fix that (although it would be hard to see the difference between the normal and flipped version).

Timothy King
Manual Inserter
Manual Inserter
Posts: 3
Joined: Wed Mar 01, 2017 6:09 am
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by Timothy King »

I think it's sufficient for the stack inserter to place entire stacks only when the destination is a conveyor belt, and operate like a conventional stack inserter otherwise. There is no need to add a new bulk inserter.

aka13
Filter Inserter
Filter Inserter
Posts: 788
Joined: Sun Sep 29, 2013 1:18 pm
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by aka13 »

gGeorg wrote:
Fri Jan 19, 2024 12:09 pm
Assembling machine circuit control applyed on centrifuge removes challenge of designing efficient enrichment process.
I am not sure it is correct approach.
But what is there to design? The only challenge, that exists, is the attempt at circumventing the base game buffering logic, which is so hacky, that after implementing such a control once I never bothered again.
Therefore there remain two setups - a bot based one, where the inserter on in/output is limited by the 235/238 network amount (I usually run them "while 235>238 * 238>10k"), or the same on a circulating belt, with the same aforementioned conditions on the output. I don't see a use for the circuit control on the centrifuges.

In my mind, the first place where I would apply the controls would be module production, even belt-based, since the ingredients are the same, and I use them in bursts most of the time.
Pony/Furfag avatar? Opinion discarded.

pleegwat
Filter Inserter
Filter Inserter
Posts: 277
Joined: Fri May 19, 2017 7:31 pm
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by pleegwat »

Anachrony wrote:
Fri Jan 19, 2024 5:54 pm
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.
Until you beacon it of course. Or would it be more efficient to beacon in the perpendicular direction?

oyunbagimlisi
Fast Inserter
Fast Inserter
Posts: 182
Joined: Mon Aug 31, 2020 10:09 pm
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by oyunbagimlisi »

As someone who has followed all the innovations and changes announced so far with appreciation and excitement, I would like to state that,

Within the scope of "flipping for real", I consider the ability to change fluid inlets/outlets as a bad "cheat" that is as contrary to the spirit of factorio as possible.

Of course, qql mods attract a lot of attention and are well received, and I was excited to see their counterpart in vanilla with the innovations so far. But here the situation has now turned into a "cheat".

Think of a computer case, power jack, internet cable, USB port, etc. The location of everything is clear and fixed. Rotating does NOT change the input and output of the machines. We can generalize this example for all real-life machines. I understand that a machine that takes a single type of variable is not dependent on any input (which already exists in the existing factorio; example: chemical plants have 2 pipes inlet and outlet, you can make the oil gas required for plastic production from the right or left inlet.) these make sense and already exist.

However, my logic does not accept changing the liquid inputs in recipes that require different types of liquids...

In recipes using assembly machines that require liquids such as grease (mk3 belt, etc.), an innovation such as allowing liquids to pass through adjacent machines would seem much more logical to me, but the planned innovation is far from this understanding...
viewtopic.php?f=33&t=105093
Beacon domain & Cable access area coloring (Color Tone variations)

Anachrony
Fast Inserter
Fast Inserter
Posts: 143
Joined: Thu Sep 21, 2017 10:55 pm
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by Anachrony »

pleegwat wrote:
Sat Jan 20, 2024 10:35 am
Until you beacon it of course. Or would it be more efficient to beacon in the perpendicular direction?
It's not more beaconable with 1 tile gaps. If you want room for beacons on both sides, then you can still alternate them with mirror to fit them closer together and use fewer beacons. You can still alternate rows of them facing one another so that the pipe openings line up more, while moving them apart further and leaving a few tiles for a row of beacons.

User avatar
Illiou
Long Handed Inserter
Long Handed Inserter
Posts: 79
Joined: Wed Feb 27, 2019 9:35 pm
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by Illiou »

Xeridanus wrote:
Fri Jan 19, 2024 12:48 pm
I don't understand why a distinction had to be made between input and output pipes for flipping buildings. That's the only reason I can see why the Space Manufactory isn't considered symmetrical, because if output and input are considered the same, it is symmetrical. In the blueprint case, all the infrastructure around the building is going to be moved as well, so pipes that input resources will still input resources correctly after the flip. In the case of flipping a building that's already built, you're not checking if the fluids will be valid so why would it matter if there's a machine trying to output to another output? Or you are checking in which case it should be blocked on that grounds. What am I missing?

To add more sanity damage: Pumpjacks, which were mentioned before the Space Manufactory, are diagonally symmetrical. Are they able to be flipped as well?

TL;DR: The diagonal distinction makes no sense for Space Manufactory but does make sense for Pumpjacks.
That's exactly what I was thinking. The mirroring seems to be made overcomplicated or some decided constraints are left unmentioned.

It is also written that "There are some interesting caveats to this, like undergrounds, which you rarely want to actually turn around, since now the outputs would be facing each other, you generally want to just reverse the direction their belts travel." but if you just do what was described, mirror positions then turn by 180 degrees, undergrounds will be mirrored just fine, without any special logic.

And pumpjacks, well, they are basically the only building that could already be flipped in the past, just not rotated properly :)

pleegwat
Filter Inserter
Filter Inserter
Posts: 277
Joined: Fri May 19, 2017 7:31 pm
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by pleegwat »

Anachrony wrote:
Sat Jan 20, 2024 2:07 pm
pleegwat wrote:
Sat Jan 20, 2024 10:35 am
Until you beacon it of course. Or would it be more efficient to beacon in the perpendicular direction?
It's not more beaconable with 1 tile gaps. If you want room for beacons on both sides, then you can still alternate them with mirror to fit them closer together and use fewer beacons. You can still alternate rows of them facing one another so that the pipe openings line up more, while moving them apart further and leaving a few tiles for a row of beacons.
Refineries are 5x5. If you're putting a line of beacons besides it a 1 tile gap allows the beacons to align.

ryanalpasta
Burner Inserter
Burner Inserter
Posts: 12
Joined: Sun Sep 03, 2023 8:06 pm
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by ryanalpasta »

Once again you have reached into my brain and done all the hard work for the stuff i've always secretly wanted. Get out of my head, also thank you.

hanli427
Inserter
Inserter
Posts: 22
Joined: Wed Apr 26, 2017 4:55 pm
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by hanli427 »

What happens to modules when you swap assembler recipes, since productivity modules may not be used with all recipes?
I assume the old ones could just go to the output, but can there be a way to swap in other modules in their place?
Or should it be up to the user to make sure such things don't happen.

ryanalpasta
Burner Inserter
Burner Inserter
Posts: 12
Joined: Sun Sep 03, 2023 8:06 pm
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by ryanalpasta »

oyunbagimlisi wrote:
Sat Jan 20, 2024 10:49 am
Think of a computer case, power jack, internet cable, USB port, etc. The location of everything is clear and fixed. Rotating does NOT change the input and output of the machines. We can generalize this example for all real-life machines. I understand that a machine that takes a single type of variable is not dependent on any input (which already exists in the existing factorio; example: chemical plants have 2 pipes inlet and outlet, you can make the oil gas required for plastic production from the right or left inlet.) these make sense and already exist.

However, my logic does not accept changing the liquid inputs in recipes that require different types of liquids...
I think the aspect of this that you're missing is that in factorio, you are the person designing the buildings from scratch. You are researching the tech, you are defining the manufacturing of each building. If you wanted to design and fabricate a mirrored version of a usb switch, it would be trivial. If you wanted to design your refineries to be modular buildings that can be reconfigured upon installation, you could easily do that. We're already dealing with a human that can carry hundreds of oil refineries in his pockets, I think having the ability to assemble your prefab "refinery kit" is actually a pretty chill step from the current situation. In-fact, all fluid switching could easily be handled by internal valves, which is even simpler than what I already described and probably does exist in some systems that require flexibility in real life!

z498279401
Burner Inserter
Burner Inserter
Posts: 16
Joined: Wed Mar 24, 2021 1:21 pm
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by z498279401 »

It’s hard to understand the Chinese translation of each issue on the bilibili website.
https://www.bilibili.com/read/cv2969732 ... 3.1365.0.0

floven1
Burner Inserter
Burner Inserter
Posts: 13
Joined: Fri Mar 01, 2019 3:31 am
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by floven1 »

I don't think people are giving enough love to the assembler circuit control feature, imagine this:
you are on vulcanus (am I spelling that right? I cant remember) you just unlocked the big mining drill there and you want to use it on nauvis (love that name btw, so fitting), with a setup like the one depicted (assuming it is in fact configurable) you could set it building the big mining drill instead of building an entire factory specifically for that purpose. sure there would be a fair bit of setup time, but I believe it would save massive amounts of time when you need/want something on another planet, eliminating the need to either A) take the trip to that planet or B) build a factory to make whatever you want to make
dismissive sig? opinion discarded

Tertius
Filter Inserter
Filter Inserter
Posts: 874
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by Tertius »

floven1 wrote:
Sun Jan 21, 2024 12:58 pm
I don't think people are giving enough love to the assembler circuit control feature
I'm unable to give love to that feature now, because I only read about it. It definitely opens a whole new world of circuit control, but since this world was never available before and continues to be so until the release of 2.0, it's difficult to judge how far this might change our circuit usage in general.

My only conclusion of all these added tiny and not so tiny QoL features: "I can throw away every single blueprint I have and need to make new ones with the new features". They will be better, faster, more shiny than the old blueprints. This means much new fun with the old game. But I can only give praise after I actually enjoyed the new feature, and then I can also say which one is more important and which one is meh.

Svip
Fast Inserter
Fast Inserter
Posts: 101
Joined: Sun Apr 29, 2018 6:19 am
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by Svip »

floven1 wrote:
Sun Jan 21, 2024 12:58 pm
I don't think people are giving enough love to the assembler circuit control feature, imagine this:
you are on vulcanus (am I spelling that right? I cant remember) you just unlocked the big mining drill there and you want to use it on nauvis (love that name btw, so fitting), with a setup like the one depicted (assuming it is in fact configurable) you could set it building the big mining drill instead of building an entire factory specifically for that purpose. sure there would be a fair bit of setup time, but I believe it would save massive amounts of time when you need/want something on another planet, eliminating the need to either A) take the trip to that planet or B) build a factory to make whatever you want to make
While the circuit feature for assemblers is lovely, it is not intended for the scenario you describe. That is largely covered by remote view. You don't need circuits, you can just click on an assembler on a different planet and tell it to build something different, and then you can tell its requester chest of its new demands (and remember shift-right click on the assembler and shift-left click on the requester chest). Indeed, if remote view wasn't a thing, you could not configure the combinators anyway.

Gully
Inserter
Inserter
Posts: 31
Joined: Mon Jan 19, 2015 10:24 pm
Contact:

Re: Friday Facts #394 - Assembler flipping and circuit control

Post by Gully »

Hmmm. Assembly machine can now be entirely controlled by the circuit network. I'm so ready for a factory of one Assembler that produces rocket parts, with a gazillion of combinators.

Post Reply

Return to “News”