Friday Facts #394 - Assembler flipping and circuit control

Regular reports on Factorio development.
User avatar
MEOWMI
Filter Inserter
Filter Inserter
Posts: 335
Joined: Wed May 22, 2019 12:21 pm
Contact:

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

Post by MEOWMI »

The entity flipping and assembler circuitry are amazing. I think you demonstrate well just how worthwhile it is in the long run to focus on doing things properly.

Also, I think you've made the right decision with regards to the inserter naming.
scarhoof
Inserter
Inserter
Posts: 46
Joined: Tue Sep 15, 2015 5:44 am
Contact:

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

Post by scarhoof »

What if Pumpjacks flipping rotated through corner, side, corner for the outputs? And also make them transfer through neighbor like mining drills. This way we can output a pumpjack to it's neighbor, then take that output through a pipe to the destination? This could simplify pumpjack pipe spaghetti and make it so you can potentially fit more beacons around them. Alernatively we could also ask for oil spots to be more widely spaced when generated.
Qon
Smart Inserter
Smart Inserter
Posts: 2164
Joined: Thu Mar 17, 2016 6:27 am
Contact:

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

Post by Qon »

Controlling assemblers with circuits is a feature I've missed for a long time (well, until I installed Crafting Combinator mod), and it's something that definitly should be in the game so that combinator contraptions can actually do something. But will all the recipe data be available from some combinator as well?
Once we figured out how to handle setting the recipe, we could easily add some more utilities:

Enable/Disable - Simple on/off switch like a lot of circuit controls
Set recipe - Set the recipe of the assembler based on the incoming signals
Read ingredients - Outputs the ingredients and count required for the current recipe
Read recipe finished - A one tick signal emitted when a crafting cycle completes
Read working - Outputs a signal continuously while the assembler is crafting
But with this I can't find recipes that produce a specific output or uses it as an ingredient and tells me which building should be used. Like a "Recipe Book" combinator. The mod has this functionality in the "Recipe combinator", would be sad if I still needed the mod after the update is released...

It could be bruteforced with combinators that loops through all recipes and try them on all buildings, but that seems like a slow and really ugly "solution" which would need some manual setup to configure all recipe signals and wire in all types of crafting buildings.
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
mmmPI
Smart Inserter
Smart Inserter
Posts: 3640
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

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

Post by mmmPI »

Great ! both the flipping and the circuit control !

I would have thought this to be presented before the parameterised blueprint, because i think it's going to be used a lot together, to make what players on the other FFF called "general blueprint". Then parameterised blueprint feel like the extra tool required to take full advantage of the circuit control. But i also can see how they are very nice QoL taken independantly. So is the flipping, maybe not QoL only, because it has gameplay implications.

High school geometry be like : take a blueprint, press F, then R then R, repeat, same blueprint ! explain the magic . Now also woking with refineries and other weird entities with more fluidboxes hopefully boilers :)

Can't wait to see what players will create when the "crafting combinator" is in vanilla :)

I will no doubt go toward that rabbit hole at least for one game and keep my favourite designs for others not centered toward that particular aspect, for things like malls, a generic and parameterisable minimalist in footprint sounds very appealing.
UnrealDiego
Inserter
Inserter
Posts: 29
Joined: Fri Feb 08, 2013 7:44 pm
Contact:

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

Post by UnrealDiego »

Not a huge fan of the flipping implementation. I understand why it's done, but at this point, you could have gone all the way and just make the inputs and outputs dynamic and let the user assign which input and output uses what resource.

Now with the flipped inputs/outputs but unflipped building graphics, it's not immediately recognizable anymore that, for example, the left side always delivers/receives a specific resource. Doesn't help that the buildings aren't symmetrical. Basically it decreases readability of a factory. It also makes it more difficult to make buildings behave more "realistic". What if you want to make the visual input for oil actually have pipes, animations and stuff that make physically sense (in Factorio's world) for oil, but not other resources? Such details would potentially get lost.
Last edited by UnrealDiego on Fri Jan 19, 2024 3:08 pm, edited 4 times in total.
Pirate_Rance
Inserter
Inserter
Posts: 25
Joined: Tue Jun 28, 2016 1:33 am
Contact:

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

Post by Pirate_Rance »

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.
ChefOfRamen
Inserter
Inserter
Posts: 46
Joined: Fri Sep 22, 2023 2:06 pm
Contact:

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

Post by ChefOfRamen »

Weird, I thought there was a policy of circuit networks acting on the logistics level nf not the production level. I'm going to assume these changes have also been done for other production buildings, like chemical plants.

Flipping looks like it will let me really compress some of my refinery setups, but I'm concerned that it might not be visually obvious that a recipe is flipped in alt-mode. Maybe consider adding something to the recipe icon that shows that.
koliw_br wrote: Fri Jan 19, 2024 12:10 pm Good post! I waited for mirroring Oil refineries a long time! Now just wait for someone to make one assembler run
With lazy bastard
Kadet123
Inserter
Inserter
Posts: 46
Joined: Sat Sep 24, 2022 1:56 am
Contact:

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

Post by Kadet123 »

"When copy and pasting from one machine to another (though this won't change the direction, just the flipped nature of the pipe connections"

I think this may be annoying. It effectively means you cant copy recipes between fluid machines (like refineries) with different flips without also changing the pipe outputs. I think that fluid machines outputs should be only switchable before the machine is placed, and copy+paste should only update the recipes, not change the pipe outputs. Otherwise, if you accidentally copy+paste to a machine with different output layouts, you end up with mixed pipes, like you were trying to avoid.
jaredjeya
Burner Inserter
Burner Inserter
Posts: 5
Joined: Mon Mar 04, 2019 10:18 pm
Contact:

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

Post by jaredjeya »

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.
Nobody is forcing you to use this feature. If you want a challenge, don’t use circuits. If you want the challenging of designing an optimal circuit-based setup, use circuits. Since Factorio is not a (competitive) multiplayer game there is no obligation on you to use the “optimal” play, only what you think is fun.
adam_bise
Filter Inserter
Filter Inserter
Posts: 443
Joined: Fri Jun 08, 2018 10:42 pm
Contact:

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

Post by adam_bise »

Yes! Now there is no excuse! 4-way symmetrical bases!
User avatar
yagors2
Burner Inserter
Burner Inserter
Posts: 5
Joined: Fri Dec 01, 2023 2:25 pm
Contact:

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

Post by yagors2 »

gGeorg wrote: Fri Jan 19, 2024 12:25 pm
koliw_br wrote: Fri Jan 19, 2024 12:10 pm Good post! I waited for mirroring Oil refineries a long time! Now just wait for someone to make one assembler run
An opposite of megabase here the new term minibase is born.
Archetype - One assembler surrounded by combinators.
The Factory! Must! ...shrink?
User avatar
kizrak
Long Handed Inserter
Long Handed Inserter
Posts: 77
Joined: Thu Jul 19, 2018 1:27 am
Contact:

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

Post by kizrak »

As a mod developer, this FF got me thinking. So it would make sense that 1.0 mods would not be forward compatible with 2.0, but will 2.0 mods be 1.0 compatible? Will it be possible to make 2.0 mods that also "just work" for 1.0?

For example, as a mod developer for 2.0, will I need to check the game version (which I assume I can do at prototype time/etc.) to code a bunch of `stack_inserter=bulk_inserter` for one version and `bulk_inserter=stack_inserter` for the other version?
Maybe the prototype names for stack inserters keep their stack inserter name, but the stack inserters renamed to bulk inserters have a different prototype name (like `stack_inserter_2`)?

Maybe the next thought this brings, will there be separate mod portals or something for 1.0 and 2.0? Will mod developers have to release mods twice? If a mod is not coupled with a feature that changed between 1.0 and 2.0, could the same zip/release be made to work for both versions?

I would love a Friday Fact for mod developers and how they need to approach modding with 2.0 if they want backwards compatibility. Maybe the second or third to last Friday Fact before the release (or after most of the ramifications of designing a mod for both versions has settled). 🤔

Amazing work! 🚀 Love the progress! 🧡
Terrahertz
Fast Inserter
Fast Inserter
Posts: 132
Joined: Mon May 15, 2017 7:49 pm
Contact:

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

Post by Terrahertz »

With the way these changes are going the DLC will soon be called "Space Saving". :D Good job as always!

The circuit extension opens up a new way of starting the game, where instead of a main bus or spaghetti, you have a cicuit controlled storage and production block, I guess this would harmonise pretty well with quality.

As for the recipe selection, maybe this is already happening to some degree? How else would the assembler differentiate between the input for Set Recipe and the output from Read Ingredients? One could speculate that the order is key, therefore the amount tied to the signal, or that you can choose between red and green circuit for this.
My guess is: The selector combinator is/should be doing the recipe selection, maybe based on adjustable criteria like type of assembler or amount of ingredient types or something.

One interessting observation with regards to flipping, is the amount of people complaining about not being able to flip the pumpjack while also acknowledging that this would be almost completely pointless :D
Panzerknacker
Fast Inserter
Fast Inserter
Posts: 234
Joined: Mon Aug 22, 2022 5:27 am
Contact:

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

Post by Panzerknacker »

UnrealDiego wrote: Fri Jan 19, 2024 2:55 pm Not a huge fan of the flipping implementation. I understand why it's done, but at this point, you could have gone all the way and just make the inputs and outputs dynamic and let the user assign which input and output uses what resource.

Now with the flipped inputs/outputs but unflipped building graphics, it's not immediately recognizable anymore that, for example, the left side always delivers/receives a specific resource. Doesn't help that the buildings aren't symmetrical. Basically it decreases readability of a factory. It also makes it more difficult to make buildings behave more "realistic". What if you want to make the visual input for oil actually have pipes, animations and stuff that make physically sense (in Factorio's world) for oil, but not other resources? Such details would potentially get lost.
This. It does not make sense that the inputs/outputs are flipped but not the building graphics. For example at the oil refinery, the pipe leading into the cracking tower should be the particular fluid that goes there in a real refinery. Besides loosing this realism factor, I also think that the way fluids were hardwired to certain corners of the entity was part of the core gameplay, being able to mirror this trivializes factory design imo. Sorry for the hard work but I think this feature be rather removed. Sometimes things just don't NEED to make sense from a programmer's viewpoint, like being able to flip only SOME blueprints, so be it, just leave it how it is.

As always with stuff writting by Kovarex tho, the circuit network stuff with the assembling machines is amazing, hyped for that.
guy-732
Burner Inserter
Burner Inserter
Posts: 12
Joined: Fri Jan 19, 2024 4:10 am
Contact:

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

Post by guy-732 »

Teura wrote: Fri Jan 19, 2024 1:03 pm So now we're only missing reactor circuit control to get the temperature directly, instead of doing some detection logic based on steam and output of used fuel cells. But I guess that's coming as well in due time.
Now that would allow for some very fuel efficient nuclear designs that do not have a lot of delay between activating the reactors and actually getting steam produced.
Tricorius
Filter Inserter
Filter Inserter
Posts: 279
Joined: Fri Jul 01, 2016 9:04 pm
Contact:

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

Post by Tricorius »

ElderAxe wrote: Fri Jan 19, 2024 12:19 pm One thing still missing is being able to read a list of ghost entities from a roboport. Then everything can be automated.
Oh! That is genius. This would be AMAZING.

Also, this FFF is awesome!
User avatar
Philip017
Filter Inserter
Filter Inserter
Posts: 360
Joined: Thu Sep 01, 2016 11:21 pm
Contact:

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

Post by Philip017 »

nice change on the naming of the stack/bulk inserters.

i can see me flipping the refineries to have them with every other one flipped to make piping simpler.

looking forward to the DLC
malventano
Filter Inserter
Filter Inserter
Posts: 343
Joined: Thu Apr 27, 2017 4:31 pm
Contact:

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

Post by malventano »

From the FFF:
When copy and pasting from one machine to another (though this won't change the direction, just the flipped nature of the pipe connections)
If the copy-paste does not alter the rotation, then it should also not alter the flip. Copy-paste of this type everywhere else in the game only changes settings of buildings (recipe) and not their physical properties (rotation / connection locations).

Tying copy-paste to flip configuration also prevents the player from changing the recipe of two mirrored lines of fluid handling devices (the type of build naturally promoted by adding the ability to flip). Switching all refineries to advanced oil processing should be doable regardless of if half of those buildings are flipped.
Allyn Malventano
---
Want to improve fluid flow between pumps / across longer distances? Try my Manifolds mod.
Qon
Smart Inserter
Smart Inserter
Posts: 2164
Joined: Thu Mar 17, 2016 6:27 am
Contact:

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

Post by Qon »

kizrak wrote: Fri Jan 19, 2024 3:40 pm As a mod developer, this FF got me thinking. So it would make sense that 1.0 mods would not be forward compatible with 2.0, but will 2.0 mods be 1.0 compatible? Will it be possible to make 2.0 mods that also "just work" for 1.0?
No. https://wiki.factorio.com/Tutorial:Mod_ ... #info.json "factorio_version"
kizrak wrote: Fri Jan 19, 2024 3:40 pm For example, as a mod developer for 2.0, will I need to check the game version (which I assume I can do at prototype time/etc.) to code a bunch of `stack_inserter=bulk_inserter` for one version and `bulk_inserter=stack_inserter` for the other version?
Maybe the prototype names for stack inserters keep their stack inserter name, but the stack inserters renamed to bulk inserters have a different prototype name (like `stack_inserter_2`)?
Another reason why this kind of change makes this impossible. Not changing internal name is just a BAD idea even if factorio_version was made differently. And other things would break anyways. Just NO, don't even try.
kizrak wrote: Fri Jan 19, 2024 3:40 pm Maybe the next thought this brings, will there be separate mod portals or something for 1.0 and 2.0?
No. The mod portal supports mods for different versions of the game already, you can search for mods for specific versions like 0.13 if you want to (major.minor).

kizrak wrote: Fri Jan 19, 2024 3:40 pmWill mod developers have to release mods twice?
No, no one is forcing anyone to release anything at all. But if you want something to work on 1.1 and 2.0 (please stop saying 1.0 when you don't even play it yourself!) then yes. But also, why would you play 1.1 when you can play 2.0 instead? You don't play 1.0 now, everything is just better in 2.0. So DON'T support 1.1 or any earlier version for your mods.

kizrak wrote: Fri Jan 19, 2024 3:40 pm If a mod is not coupled with a feature that changed between 1.0 and 2.0, could the same zip/release be made to work for both versions?
Again, erase this thought from your head.
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
cj_1601
Burner Inserter
Burner Inserter
Posts: 5
Joined: Sun Sep 10, 2023 6:11 pm
Contact:

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

Post by cj_1601 »

The question in my head now is, what about rails? I guess 'flipping' would also go from right hand to left hand traffic or the other way around but, would be cool to not need several blueprints for every possible rail station layout. As it is the process for putting in a flipped station is to remove all the signals, then you have to go in and resignal the station, and then further to that manually flip the input or output. Of course, as mentioned above, you could have every possible flipped or rotated rail layout in your blueprints, but then you have a whole ton of extra blueprints, and still have to make every one of those blueprints one by one. And I mean, if I'm here mentioning rails, can we get rails to not be bound to a 2x2 grid and freely be able to place anywhere?
Post Reply

Return to “News”