Friday Facts #384 - Combinators 2.0

Regular reports on Factorio development.
mrvn
Smart Inserter
Smart Inserter
Posts: 5855
Joined: Mon Sep 05, 2016 9:10 am
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by mrvn »

FuryoftheStars wrote: ↑Fri Mar 22, 2024 11:08 pm
pleegwat wrote: ↑Fri Mar 22, 2024 10:31 pm
dragon-architect wrote: ↑Fri Mar 22, 2024 9:22 pm
mrvn wrote: ↑Thu Mar 21, 2024 11:51 pm If only there where instant through holes. A wire with one side red and the other side green. :)
I could suggest an arithmetic combinator set to Each+0=Each to accomplish that. ;)
That's not instant. That's got a delay of 1 tick.
I have a feeling the devs will not want to add anything that can take in a signal and then output another in the same tick due to the continuous loop issue.
This would have to be a wire. Just one with different colors at the ends. And it would connect the 2 circuit networks just like any other wire. Except it connects 2 networks of different colors. But it's no different from having a loop in a purely green wire circuit network.
mmmPI
Smart Inserter
Smart Inserter
Posts: 3620
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by mmmPI »

mrvn wrote: ↑Thu Feb 29, 2024 11:07 am With mods I have a stacksize for e.g. Landfill of 1000. Which means the division is limited to values up to 2 million, which my store of ore can exceed quite easily. So not even a general solution for computing stacks.
I'd be curious to know why so much ore stockpile and how you deal with the division then ?
User avatar
dragon-architect
Burner Inserter
Burner Inserter
Posts: 15
Joined: Sun Dec 17, 2023 7:41 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by dragon-architect »

Actually, now that I've had time to reflect on it, I think I also want to add to whatever chorus might exist about decider combinators:

An RS latch function would also be nice to have. Bonus points, even, if it also has hysteresis thresholds that can be set.

This might make the decider combinator a little bit too OP, however, since a RS latch with hysteresis can already be implemented with three decider combinators, but it would still be super nice to have just to simplify a combinator configuration that I make a LOT of use of with my train stations in particular.
Tertius
Filter Inserter
Filter Inserter
Posts: 929
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Tertius »

dragon-architect wrote: ↑Sun Mar 24, 2024 8:20 pm An RS latch function would also be nice to have. Bonus points, even, if it also has hysteresis thresholds that can be set.
I guess it has been posted in this thread before, but a single decider combinator 2.0 can work as complete RS latch with hysteresis because of its multiple condition support.
As latch, the combinator should output OK=1 if input is below low threshold or if input is below high threshold and it was OK=1 before. This can be directly coded into the condition (input < thresh_low) OR (OK=1 AND input < thresh_high). As output define OK=1 and loop back a wire from the output to the input to make the previous OK value available as input.
User avatar
dragon-architect
Burner Inserter
Burner Inserter
Posts: 15
Joined: Sun Dec 17, 2023 7:41 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by dragon-architect »

Tertius wrote: ↑Mon Mar 25, 2024 12:50 am
dragon-architect wrote: ↑Sun Mar 24, 2024 8:20 pm An RS latch function would also be nice to have. Bonus points, even, if it also has hysteresis thresholds that can be set.
I guess it has been posted in this thread before, but a single decider combinator 2.0 can work as complete RS latch with hysteresis because of its multiple condition support.
As latch, the combinator should output OK=1 if input is below low threshold or if input is below high threshold and it was OK=1 before. This can be directly coded into the condition (input < thresh_low) OR (OK=1 AND input < thresh_high). As output define OK=1 and loop back a wire from the output to the input to make the previous OK value available as input.
Hm...! I need to take some time to ponder this through when I'm not as ADHD brainfogged and sleeplagged, but you might actually be on to something... πŸ€”
User avatar
dragon-architect
Burner Inserter
Burner Inserter
Posts: 15
Joined: Sun Dec 17, 2023 7:41 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by dragon-architect »

Tertius wrote: ↑Mon Mar 25, 2024 12:50 am
dragon-architect wrote: ↑Sun Mar 24, 2024 8:20 pm An RS latch function would also be nice to have. Bonus points, even, if it also has hysteresis thresholds that can be set.
I guess it has been posted in this thread before, but a single decider combinator 2.0 can work as complete RS latch with hysteresis because of its multiple condition support.
As latch, the combinator should output OK=1 if input is below low threshold or if input is below high threshold and it was OK=1 before. This can be directly coded into the condition (input < thresh_low) OR (OK=1 AND input < thresh_high). As output define OK=1 and loop back a wire from the output to the input to make the previous OK value available as input.
Oh, snap! You're actually right, it does work the same way! Having had the day to think about it, it's more appropriate to call this single-combinator configuration a comparator with hysteresis, the hysteresis part coming from the (OK=1 AND input < thresh_high) clause and the feedback.

I think the only small detail left that could massively improve my QoL when designing train stations is for storage containers to output some useful statistics beyond just what their contents are, but I've already posted about that in another FFF thread.
Structurer
Manual Inserter
Manual Inserter
Posts: 1
Joined: Wed Apr 03, 2024 2:10 am
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Structurer »

Late to comment but I think it looks great πŸ‘

Two things I would like to see

1. A vanilla "Circuit Board", eg a unit where you can build more complicated circuits. Same "unfolded" size as a combinator, but larger when unfolded. I know some addins exist, but I like vanilla!

2. Possibility to make calculations based on two inputs. Say amount of Iron Ore divided by another signal.

Really looking forward to 2.0!
Qon
Smart Inserter
Smart Inserter
Posts: 2164
Joined: Thu Mar 17, 2016 6:27 am
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Qon »

Structurer wrote: ↑Wed Apr 03, 2024 2:18 am 1. A vanilla "Circuit Board", eg a unit where you can build more complicated circuits. Same "unfolded" size as a combinator, but larger when unfolded. I know some addins exist, but I like vanilla!
Would be nice, yes. Should be blueprintable and have unlimited internal space and plenty of connections to be truly useful.

Structurer wrote: ↑Wed Apr 03, 2024 2:18 am 2. Possibility to make calculations based on two inputs. Say amount of Iron Ore divided by another signal.
They definitely can do this already. Maybe you meant to request something else?
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
Taeolas
Manual Inserter
Manual Inserter
Posts: 1
Joined: Fri Apr 19, 2024 1:44 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Taeolas »

Late to the party and just registered to post this, but one idea that I might like to see is a simple checkbox next to/near any spot you can enter values that just says "stacks".

When checked, the number will be treated as a # of Stacks as opposed to a # of Items.

It could be context enabled/disabled so if you pick something that can't be counted by stacks (liquids, power percentage, etc...) it isn't enabled.

But it would mean that I could set a signal that would go off when I have 40 stacks of something, and I won't need to recalculate that value when I change between something with stack size of 100, 50, 10, or 1; the logic would still stay the same.
Den_Viefde
Manual Inserter
Manual Inserter
Posts: 1
Joined: Mon Apr 29, 2024 10:29 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Den_Viefde »

Also late to the party.

I would like to see an unique number option added to the constant combinator.

You'd be able to select a signal and then instead of entering a value for the signal you can select the "unique" value button. Selecting this will output a seemingly random value that is guaranteed to be unique on the map for this specific signal. The value should be persistent
A nice extra would be if the value could be set to a certain range with an alarm in the case when all values within the range are already taken.
DarkShadow44
Filter Inserter
Filter Inserter
Posts: 352
Joined: Thu Jun 01, 2017 12:05 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by DarkShadow44 »

Great ideas here!

I made a list of all the suggestions that I find good/great:
  • Something like Compact Circuits
  • R/G being color coded, R / G
  • Being able to set a value other than "1" as output
  • Chosing R/G in arithmetic combinator, and possibly everywhere else
  • Graph combinator to show the values of the attached circuit network over time
  • Delay combinator for adding delays
  • Gui cleanup, move the R/G checkboxes into the signal selection dialog
  • Wire highlights like the Circuit Visualizer mod
  • More info about the operation when hovering over the combinator
  • Unique number output (possibly to distinguish different outposts)
Tooster
Long Handed Inserter
Long Handed Inserter
Posts: 80
Joined: Wed Mar 24, 2021 6:42 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Tooster »

Also remember about vector operations!

for example

Code: Select all

output red = each red * each green
Look mom, I made a mod ^^ Barrel Stages
starry_pavestone
Manual Inserter
Manual Inserter
Posts: 1
Joined: Sat Sep 28, 2024 8:21 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by starry_pavestone »

Love this!

Does anyone know if there is a solution for "build order" problems? The combinators (or possibly blueprints) seem like a likely candidate for this. I haven't scoured the FFF with a fine toothed comb, so I may have missed something. The basic problem comes up when you blueprint some sort of circuit network that uses counting logic. Without knowing the build order (i.e. construction robots) you can enter a state you didn't intent or foresee.

Combinator ideas to solve this would be:
-Maybe the Selector Combinator can already be used for this?
-Add a combinator that reads all entities "connected with a wire" on the network. This way you could only start your counters once everything is connected/built as expected.
Tooster
Long Handed Inserter
Long Handed Inserter
Posts: 80
Joined: Wed Mar 24, 2021 6:42 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Tooster »

starry_pavestone wrote: ↑Sat Sep 28, 2024 8:48 pm Does anyone know if there is a solution for "build order" problems? [...]
Combinators shouldn't work unless they are powered, so I think it's up to you to cut power to a section of a network until it's built. You can use switches or just manually keep track of connections and only attach to power network when needed.
Look mom, I made a mod ^^ Barrel Stages
KeepGridButton
Burner Inserter
Burner Inserter
Posts: 19
Joined: Sat Nov 14, 2020 2:39 am
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by KeepGridButton »

I'm really happy to see the ability to copy/paste small sections without breaking wires and support for boolean logic as well as separate green/red logic. I posted a couple years ago with these specific suggestions, but felt like a helpless plea since a lot of the more active community seemed to advocate against making circuits components more expressive. This change alone has really reinvigorated my interest in the game.
Post Reply

Return to β€œNews”