Friday Facts #384 - Combinators 2.0

Regular reports on Factorio development.
nixCorvus
Manual Inserter
Manual Inserter
Posts: 2
Joined: Sat May 06, 2017 1:38 am
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by nixCorvus »

Great changes! Everything I hoped the new combinator would be for has been implemented. The only thing I would still like to see are the R/G check boxes on the Arythmetic combinator as well. This would make it possible, for example, to multiply each signal of the green cable with the corresponding signal of the red cable. I would be happy to receive early access as soon as you have implemented this. Where can I pre-order the extension? Shut up and take my money!
crj
Burner Inserter
Burner Inserter
Posts: 6
Joined: Fri Nov 10, 2023 1:21 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by crj »

if you have some ideas (for the Selector combinator) we would welcome them
How about some kind of unique-ID mechanism? That would be really handy in multiplexing signals from different parts of a mega-base, and is currently tricky to do. (The best way I know of is to leave a locomotive permanently parked at a train stop!)
Tertius
Filter Inserter
Filter Inserter
Posts: 934
Joined: Fri Mar 19, 2021 5:58 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Tertius »

I wonder if it is possible with the new decider combinator to fully provide a stack filter inserter with one filtering item as well as the corresponding stack size, with 1 decider only.

Consider you have a list of items to load into a train. 5 wall, 10 repair kits, 15 belts. You want to load exactly this number of items into the train.

Currently, you need 2 combinators for this: one decider to get one item (with the ANYTHING operator) and its count. This is what you set as filter in the stack filter inserter. And you need another decider to convert the count of that item into a fixed signal (for example S) to set it as stack size. This is done with the EACH operator and output S(input count).

In my opinion this is an operation worth to be done with 1 combinator only. However, it doesn't seem to be possible to set the output options to something to achieve this result. Neither the new decider nor the new selector combinator.


Example with current 1.1 logic:
Screenshot 2023-11-10 150447.png
Screenshot 2023-11-10 150447.png (682.27 KiB) Viewed 3741 times


In my opinion, much too much combinators for a rather simple task to load a supply train with a configurable bunch of items.
Last edited by Tertius on Fri Nov 10, 2023 2:18 pm, edited 3 times in total.
Splitframe
Long Handed Inserter
Long Handed Inserter
Posts: 73
Joined: Thu Aug 28, 2014 4:44 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Splitframe »

Looks good. Addon release next week?
farcast
Long Handed Inserter
Long Handed Inserter
Posts: 87
Joined: Fri Jul 06, 2018 8:25 am
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by farcast »

I can't wait to see what kind of horrors I'll be able to create in 2.0!

With deciders having infinite conditions, is it possible to make a computer out of one decider combinator connected to itself?
...ah, I'm getting too excited, you can't tie different outputs to different conditions can you? It's all or nothing. Still, maybe that just makes it harder, but not impossible...

Wait, how will the wild-card signals work?
Last edited by farcast on Fri Nov 10, 2023 2:47 pm, edited 3 times in total.
Efficient inefficient design.
mmmPI
Smart Inserter
Smart Inserter
Posts: 3636
Joined: Mon Jun 20, 2016 6:10 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by mmmPI »

Happy to read the FFF, quite surprised to see the change to the decider combinators because it was the least complex and now it's not clear anymore with all those possibilities added :)
To me it feel it helps for larger build, to make them smaller, I'm not sure it's making combinators look less daunting to see all the menu open at the same time for small build.

I think the abiilty to manipulate green and red wire separatly was quite a requested feature too and is a nice addition.

I'm still unsure how i would use the new combinator, i suppose it will make more sense to me when i actually try to automate interplanetary logistic but i'm not surprised there is something to adress this specifically and welcome the further implications.

I like the idea that there is a possibility to get a random output easily.
Since the scope of the Selector combinator is quite broad, there is also room for further functions we could give it, if you have some ideas, we would welcome them.
I'm not sure how it could work, but i have this idea that maybe it could be used also as sensor to detect on which environment/planet/gravity/pressure/velocity of the space platform it is located so that one could make blueprint that react differently depending on where the player copy them. ( ie : if space platform goes faster , light more lamps on each side or make them blink faster; or throttle/adapt some number based on gravity or day/night cycle lengh).

I'm sorry but you implemented many of the ideas i had in that new combinators, it make me think the others are not good :D
User avatar
Drury
Filter Inserter
Filter Inserter
Posts: 794
Joined: Tue Mar 25, 2014 8:01 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Drury »

the selector combinator would've been useful a while back, good to see it
Tooster
Long Handed Inserter
Long Handed Inserter
Posts: 86
Joined: Wed Mar 24, 2021 6:42 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Tooster »

DeadMG wrote: Fri Nov 10, 2023 1:33 pm [...] The second thing I'd like most is the ability to select certain properties from red or green only.. stuff like everything * everything would be a lot more useful if you could say "red everything * green everything".
YES. Vector operations, would perform out := green <OP> red for each channel at the same time. Yup. So many times I wanted to have this in the game...
Look mom, I made a mod ^^ Barrel Stages
plepper1
Long Handed Inserter
Long Handed Inserter
Posts: 82
Joined: Tue May 23, 2017 4:25 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by plepper1 »

Somtuk wrote: Fri Nov 10, 2023 1:27 pm d) Output the stack size of the input item.
e) Output the rocket capacity of the input item (useful for Space Age logistics).
f) Transfer the quality of an input signal (more on that another day perhaps).
...
I know this seems petty, but it got me thinking more about this and looking at bullet e made it worse. The input MUST be a rocket, and the output MUST be the capacity.
I think you misunderstand. The input for 'e' is not a rocket. The input for 'e' is an item, such as iron plates.
The output is then "how many iron plates can a rocket carry".
Moroquen
Manual Inserter
Manual Inserter
Posts: 1
Joined: Fri Nov 10, 2023 2:22 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Moroquen »

I cannot live without this. Amazing!

A few humble suggestions:

(1) Could reorder the elements of the decider input signal configuration?

I think that the equation (signal - operation - signal) should be kept together visually, because that's the core functionality of the combinator. The wire configuration should be on the outside (figuratively, these are "the wires that go into the 'box' from the outside").

Additionally, I would place the R and G labels on the outermost and the checkboxes between the labels and the signal symbol - aka flipping the order of the label and the checkboxes for the left-hand signal. Again, that would reinforce the "wires go in from the outside and connect to the logic of the combinator" concept.

My sketch:
Decider-Combinator-UI.png
Decider-Combinator-UI.png (54.74 KiB) Viewed 3553 times

(2) Can we have wire selectors for the arithmetic combinator too?

I often run into operations like "substract the value of a signal on the green wire from the same signal on the red wire". Right now, that requires an additional "multiple by -1" arithmetic combinator that adds clutter for no good reason. It would also make the arithmetic combinator UI more consistent with the new decider combinator UI.

Bonus points if you would re-use the output configuration from the decider combinator for the arithmetic one (aka allow to send the output of the operation to more than one signal and select the wires.

(3) Constant value output for decider combinators

I think the "custom value" idea from j_matya is fantastic. I think it could be simplified to "constant value" with a default value of 1.

Thank you so much for all these fantastic improvements in the recent FFFs. It's unbelievable how much better you make an already incredible game!
Somtuk
Burner Inserter
Burner Inserter
Posts: 15
Joined: Tue Feb 26, 2019 11:25 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Somtuk »

plepper1 wrote: Fri Nov 10, 2023 2:47 pm
Somtuk wrote: Fri Nov 10, 2023 1:27 pm d) Output the stack size of the input item.
e) Output the rocket capacity of the input item (useful for Space Age logistics).
f) Transfer the quality of an input signal (more on that another day perhaps).
...
I know this seems petty, but it got me thinking more about this and looking at bullet e made it worse. The input MUST be a rocket, and the output MUST be the capacity.
I think you misunderstand. The input for 'e' is not a rocket. The input for 'e' is an item, such as iron plates.
The output is then "how many iron plates can a rocket carry".
If that's how it is meant, then you are right, I did misunderstand.

I still feel the whole "this function is specific to rockets only" aspect seems out of place. I hope it gets reworks a bit.
Kyralessa
Filter Inserter
Filter Inserter
Posts: 573
Joined: Thu Sep 29, 2016 5:58 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Kyralessa »

Will this make it easier to make an S-R latch?

Every time I make one, I have to look up how to do it again.
Brambor
Fast Inserter
Fast Inserter
Posts: 189
Joined: Thu May 07, 2015 1:52 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Brambor »

I would like to get a specific tick (morning perhaps) on this surface. I made combinator based calculation of how much power does my anti-meteor defence need until morning and checked that the accumulators will last. This is based on number of ticks in a day, solar power multiplier, ammount of solar panels and ammount of accumulators.

Detecting when the morning starts for the first time reminds as a annoying problem left to solve and the solution is... not nice (after first morning the next arrives after certain number of ticks). I don't care if it is morning, sunset, sunrise, middle of the night, but give me something. Also, not Nautilus time but this surface time.


Edit: "selector > select surface" would return the tick T since last morning.
Last edited by Brambor on Fri Nov 10, 2023 8:06 pm, edited 1 time in total.
revanar
Burner Inserter
Burner Inserter
Posts: 5
Joined: Tue Nov 07, 2023 2:51 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by revanar »

Now I'm hoping that we get the ability to somehow read the composition of train cars in a station---that paired with the selector combinator would make it relatively easy to build train stations that could automatically adjust their properties based on the length of train that's visiting them!
Attal
Inserter
Inserter
Posts: 23
Joined: Fri Dec 23, 2016 9:49 am
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Attal »

This is priceless!

Very nice selector guy!
PaszaVonPomiot
Long Handed Inserter
Long Handed Inserter
Posts: 77
Joined: Fri Dec 29, 2017 1:50 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by PaszaVonPomiot »

I feel like christmas every week.
deer_buster
Fast Inserter
Fast Inserter
Posts: 114
Joined: Wed Aug 31, 2016 3:35 am
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by deer_buster »

Regarding multiple outputs...it would be nice to specify which output wire color gets what output
StansTheMan
Inserter
Inserter
Posts: 20
Joined: Sat Mar 30, 2019 5:43 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by StansTheMan »

Justderpingalong wrote: Fri Nov 10, 2023 12:26 pm This is nice and all... but does this FINALLY give us a way to 'sanitize' our inputs? Specific case: I was working on making a station using LTN that would allow me to load multiple types of cargo. The problem is that LTN's station, alongside expected cargo, also dump out a whole bunch of other data. And as I was using filter inserters with set filter, this could lead to them trying to set their filter to a signal instead of an item. If I were able to 'sanitize' my input, this would be a lot less cumbersome. Because right now the only way I could would be to add an arithmatic combinator which multiplies the values of all the data I didn´t want by -1. I think a nice feature for the 'selector combinator' would be to specifically filter out either groups of signals (so u can filter out any 'non-entity' signals like letters) or specific values, though a group would be most useful in my specific case.
Huh. I think you are doing it wrong or I am misunderstanding things.

Just place a Constant combinator with a -1,000,000 signal of every blacklisted item. = Blacklist.

Or place a Constant combinator with a +1,000,000 signal of every whitelisted item, connect to an arithmetic combinator with input "each", subtract by -1,000,000, output "each". = Whitelist.

Obviously this onlys work because machines and inserters filter via positive leftover signals. Dunno how LTN works in this regard
Kadet123
Inserter
Inserter
Posts: 46
Joined: Sat Sep 24, 2022 1:56 am
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by Kadet123 »

The only suggestion I have for all combinators is in the sprites and connection locations: offset the connection locations so that the connection points don't form a straight line.

For example, in the post's very last picture of a line of 5 combinators, on both the left side (inputs) and right side (outputs) all the connection points form a straight line, which makes it harder to tell which wires go where on wires that go vertical between combinators, especially when multiple wires overlap. The overlap of wires could be reduced a little by, on each side, moving the top connection point left a pixel*, and the bottom connection point right a pixel, so that vertical connections don't overlap so much.

* Pixel meaning some tiny bit, not necessarily exactly one pixel.
User avatar
AileTheAlien
Filter Inserter
Filter Inserter
Posts: 351
Joined: Sat Mar 11, 2017 4:30 pm
Contact:

Re: Friday Facts #384 - Combinators 2.0

Post by AileTheAlien »

Great changes, thanks! Combinators were really fiddly before, because you needed separate ones just for a simple and/or.
revanar wrote: Fri Nov 10, 2023 3:02 pm Now I'm hoping that we get the ability to somehow read the composition of train cars in a station
Yeah, this plus...I think cargo was missing? Maybe you can already read the cargo totals for a train, without any mods.
Post Reply

Return to “News”