Additional Virtual Signals for Operating on Red and Green

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Bortos
Burner Inserter
Burner Inserter
Posts: 18
Joined: Sun Aug 28, 2016 11:07 am
Contact:

Additional Virtual Signals for Operating on Red and Green

Post by Bortos »

Add additional EACH, ANYTHING and EVERYTHING signals that are specific to the red and green input signals.

Image

Example usages:

EACH(RED) > EACH(GREEN) => EACH (GREEN)
What it would look like
(50 iron, 50 copper) > (100 iron, 20 copper) => (50 copper)
(50 steel, 50 copper) > (-50 iron) => (50 steel, 50 copper)
EVERYTHING(RED) > EVERYTHING(GREEN) => EVERYTHING(RED)
What it would look like
(50 iron, 50 copper) > (100 iron, 20 copper) => (Nothing)
(150 iron, 50 copper) > (100 iron, 20 copper) => (150 iron, 50 copper)
(50 steel, 50 copper) > (-50 iron) => (50 steel, 50 copper)
EACH(RED) / EACH (GREEN) => EACH
What it would look like
(50 iron, 50 copper) / (10 iron) => (5 iron, 50 copper)*
(50 steel, 50 copper) / (5 steel, -10 copper ) => (10 steel, -5 copper
* I suggest that when items aren't a component of both red and green signals for arithmetic, they should pass through without being removed or operated on. Otherwise you could make a 1 combinator filter by multiplying a big signal with a 1 item signal which may be unfair.

Reasons for:
Quality of life by cutting down on number of combinators needed for some things
Makes some things possible, like multiplying each item by a varying amount (i.e. each(RED) * each(GREEN))

Reasons against:
Takes away some difficulty which is a part of factorio
Last edited by Bortos on Tue Apr 18, 2017 11:29 am, edited 1 time in total.
User avatar
<NO_NAME>
Filter Inserter
Filter Inserter
Posts: 295
Joined: Tue Aug 02, 2016 9:52 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by <NO_NAME> »

+1
I am a translator. And what did you do for Factorio?
Check out my mod "Realistic Ores" and my other mods!
User avatar
Lav
Filter Inserter
Filter Inserter
Posts: 384
Joined: Mon Mar 27, 2017 10:12 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by Lav »

Maybe instead of adding new signals, introduce a filter for operators in the conditions?

So you would be able to set an inserter to work only if "(red) iron plates < (all) gears".
Bortos
Burner Inserter
Burner Inserter
Posts: 18
Joined: Sun Aug 28, 2016 11:07 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by Bortos »

Lav wrote:Maybe instead of adding new signals, introduce a filter for operators in the conditions?

So you would be able to set an inserter to work only if "(red) iron plates < (all) gears".
That also makes sense, and may give us more capabilities when you could use a red or green filter on any item or virtual signal. However I suspect it would be far more difficult to implement and would require UI additions.

In any case, I hope we do get this after 0.15
The Eriksonn
Fast Inserter
Fast Inserter
Posts: 230
Joined: Wed Jun 08, 2016 6:16 pm
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by The Eriksonn »

I see one problem with this: if you have each(green)<each(red) => each, what will be outputted?
But i guess it could be prevented and only be able to output red or green and not the "general" each
BenSeidel
Filter Inserter
Filter Inserter
Posts: 590
Joined: Tue Jun 28, 2016 1:44 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by BenSeidel »

The Eriksonn wrote:I see one problem with this: if you have each(green)<each(red) => each, what will be outputted?
But i guess it could be prevented and only be able to output red or green and not the "general" each
The comparison could be per-input signal, however the output could be defined as either the sum of both the red and green or a constant (as it currently works). This would give consistency with the current implementation. Likewise, an "Each red" and "Each Green" could be added as the outputs, and could be signals used in any combinator.
mattj256
Fast Inserter
Fast Inserter
Posts: 203
Joined: Sun Mar 27, 2016 7:25 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by mattj256 »

No. We can already do this in vanilla by adding an extra combinator or two. Please don't make the GUI more complicated.
FunMaker
Fast Inserter
Fast Inserter
Posts: 107
Joined: Wed Jun 08, 2016 8:43 pm
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by FunMaker »

I am sorry to say that, but the best approach to all of these Problems would be:

Get Rid od red/green wire, it's just annoying to put introduce no-op combinators just for separating networks
Use one circiut wire and introduce channels on that wire...
The only handicap could be performance if this is overused. This way you would have just the already existing virtual signals (and any other signal) but you could configure these signals to be present on a specific channel
User avatar
<NO_NAME>
Filter Inserter
Filter Inserter
Posts: 295
Joined: Tue Aug 02, 2016 9:52 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by <NO_NAME> »

mattj256 wrote:No. We can already do this in vanilla by adding an extra combinator or two. Please don't make the GUI more complicated.
There is a lot of things, you can't do. E.g., how would you approach a situation when you need to multiply/divide each value from red wire by corresponding value from green wire?
FunMaker wrote:Get Rid od red/green wire, it's just annoying to put introduce no-op combinators just for separating networks
Use one circiut wire and introduce channels on that wire...
I think that building multiplexers and other contraptions to help you bypass the two-colors limit is the fun part of using combinators.
I am a translator. And what did you do for Factorio?
Check out my mod "Realistic Ores" and my other mods!
quyxkh
Smart Inserter
Smart Inserter
Posts: 1031
Joined: Sun May 08, 2016 9:01 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by quyxkh »

I think this maybe could be available via a mod, as a part (like the loaders) that can be enabled that way, but not in the base game. it might make some things easier to figure out, but I think maybe it, like the loaders, would change the flavor of building drastically, and not turn out for the better.

Is there a concrete, worked-out example somewhere, of something useful in-game you can build with this, compared with an existing design? The possibilities are fun to think about, but I think actually implementing it requires doing some really concrete thinking beforehand, showing concrete effects on gameplay. Otherwise I think what you're proposing could almost be called a separate minigame, unconnected to Factorio.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by ssilk »

I'm already not that convinced by the everything-signal (etc.) itself, cause it is not a signal, but a complete operator.
In real world this "signal" would be a combinator...

But as it is as it is: This suggestion points to other suggestion into the direction of "put a whole circuit and combinators into a black box". Then this suggestion is just a "blueprint" of some combinators.

And it points to more comfort with editing of circuits.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
mattj256
Fast Inserter
Fast Inserter
Posts: 203
Joined: Sun Mar 27, 2016 7:25 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by mattj256 »

Related threads:

Expand Circuit Network's "Each"
viewtopic.php?f=6&t=26944

"A way to divide red by green signal?"
viewtopic.php?f=5&t=29706
<NO_NAME> wrote:
mattj256 wrote:No. We can already do this in vanilla by adding an extra combinator or two. Please don't make the GUI more complicated.
There is a lot of things, you can't do. E.g., how would you approach a situation when you need to multiply/divide each value from red wire by corresponding value from green wire?
The circuit network is already Turing complete.
Which means it's already possible to build a computer or play Tetris. Doing a "cross product" of red value times green value is already possible - the only question is how many combinators and how much time and patience.

If I had to multiply five red values by five green values, I would do it the clunky way with 10 combinators. If I had to do this calculation with 50 values I would lay down 100 combinators and be done with it. (My primary interest is the game, not the circuit network.)

Can you give an example of how this red*green operation is related to building a better factory? The circuit network is already complicated and I don't think it's a good idea to add to the GUI and make it harder to understand unless there's a good reason.
<NO_NAME> wrote:
FunMaker wrote:Get Rid od red/green wire, it's just annoying to put introduce no-op combinators just for separating networks
Use one circiut wire and introduce channels on that wire...
I think that building multiplexers and other contraptions to help you bypass the two-colors limit is the fun part of using combinators.
I totally agree. I would say that getting around the limitations of "each" using combinators is part of the fun. :)
User avatar
<NO_NAME>
Filter Inserter
Filter Inserter
Posts: 295
Joined: Tue Aug 02, 2016 9:52 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by <NO_NAME> »

mattj256 wrote:If I had to multiply five red values by five green values, I would do it the clunky way with 10 combinators. If I had to do this calculation with 50 values I would lay down 100 combinators and be done with it. (My primary interest is the game, not the circuit network.)
Of course you can multiply 5 values manually. I was talking about a situation when you need to multiply all/almost all signal from logistic cable. There is hundreds of them even if you don't have any mods. Placing one combinator after another in row and setting them to each signal is not a challenge. It is boring. And you can easily forgot one signal without even noticing. Not fun at all.
mattj256 wrote:Can you give an example of how this red*green operation is related to building a better factory? The circuit network is already complicated and I don't think it's a good idea to add to the GUI and make it harder to understand unless there's a good reason.
An example straight from my factory: I have a lot of warehouses in different places. Most of them can store only one/few different kinds of items. I've managed to calculate how much of each item I have and how much empty space remains for it (red and green cable). Now, I want to know how many percent of space is left for every type of item because I would like to have an alarm lights in visible places. This way I can know that I need to increase size of a warehouse without need for constantly checking each of them. The only problem is that I cannot calculate percentage values.
mattj256 wrote:
<NO_NAME> wrote:
FunMaker wrote:Get Rid od red/green wire, it's just annoying to put introduce no-op combinators just for separating networks
Use one circiut wire and introduce channels on that wire...
I think that building multiplexers and other contraptions to help you bypass the two-colors limit is the fun part of using combinators.
I totally agree. I would say that getting around the limitations of "each" using combinators is part of the fun. :)
The problem is that the multiplying/dividing problem doesn't have any clever or interesting solution. It's just laying down a whole lot of combinators.

Also, I don't thing that the red/green operations could reduce the challenge of using circuit network. They help only in situations when you have to place crazy amounts of combinators with the same settings. (Again, it's tiring not challenging.)
I am a translator. And what did you do for Factorio?
Check out my mod "Realistic Ores" and my other mods!
mattj256
Fast Inserter
Fast Inserter
Posts: 203
Joined: Sun Mar 27, 2016 7:25 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by mattj256 »

<NO_NAME> wrote:The problem is that the multiplying/dividing problem doesn't have any clever or interesting solution. It's just laying down a whole lot of combinators.
Have you seen this yet? I would say XKnight's solution is clever and interesting. :)
viewtopic.php?f=5&t=29706#p188233
<NO_NAME> wrote:Now, I want to know how many percent of space is left for every type of item because I would like to have an alarm lights in visible places.
Yeah, there's no easy way to do this. You could subtract green from red to get the amount (not percent) of storage remaining. Or you could generate a signal at the warehouse if that warehouse is running low on space, instead of trying to compute everything in one place.

Yay, 0.15 comes out on Tuesday! I wonder if any of the new features in the circuit network will be relevant to our discussion?
quyxkh
Smart Inserter
Smart Inserter
Posts: 1031
Joined: Sun May 08, 2016 9:01 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by quyxkh »

<NO_NAME> wrote: I would like to have an alarm lights in visible places. This way I can know that I need to increase size of a warehouse without need for constantly checking each of them.
You can do that with with six combinators, specifying the item ratio numerators with one constant combinator and the threshold capacity in a second, calculating the per-item thresholds with three more (denominator calc, threshold multiply, denominator divide) and generating the signals with a comparator:
Threshold-warning alarms
Threshold-warning alarms
Screenshot from 2017-04-24 04-31-28.png (526.1 KiB) Viewed 7886 times
Say you're storing circuits and want them in a 10:5:1 ratio, you'd set 10 green circuits, 5 red circuits, 1 blue circuit in your ratio combinator. Say 800 slots in your warehouse, capacity for circuits is 160000, 90% full is 144000, so put -144000 yellow (for have > want comparison, want values are negative) in the threshold combinator.

The left divisor is denominator calc, Each / 1 → D, the right one is ( threshold * ratio numerator ) / (ratio denominator), Each / D → Each. The multiplier is threshold * ratio numerator, Each * Yellow → Each.
mattj256
Fast Inserter
Fast Inserter
Posts: 203
Joined: Sun Mar 27, 2016 7:25 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by mattj256 »

Now that I've had more time to think about it, I think that if enough people are going to use this then it should be implemented. My concern is that this feature would make the circuit network harder to understand for newbies and intermediate players (like myself) while only being useful to a very small number of power users.

And there is already XKnight's 17-combinator solution. This is already possible and the question is whether it should be easier and less cumbersome.

Ok, Factorio community. If you want this to be implemented speak up. :D
User avatar
<NO_NAME>
Filter Inserter
Filter Inserter
Posts: 295
Joined: Tue Aug 02, 2016 9:52 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by <NO_NAME> »

Sorry that I'm answering so long. I was too preoccupied in 0.15.
mattj256 wrote:
<NO_NAME> wrote:The problem is that the multiplying/dividing problem doesn't have any clever or interesting solution. It's just laying down a whole lot of combinators.
Have you seen this yet? I would say XKnight's solution is clever and interesting. :)
viewtopic.php?f=5&t=29706#p188233
That actually is pretty clever. But still, multiplying is pretty basic operation. Wasting so much space for that is pretty lame, especially if you have to multiple a signal a few times. And that long delay can be unacceptable in some cases.
mattj256 wrote:
<NO_NAME> wrote:Or you could generate a signal at the warehouse if that warehouse is running low on space, instead of trying to compute everything in one place.
This will work only in simple cases, when you have only one warehouse per type of item.
quyxkh wrote:You can do that with with six combinators, specifying the item ratio numerators with one constant combinator and the threshold capacity in a second, calculating the per-item thresholds with three more (denominator calc, threshold multiply, denominator divide) and generating the signals with a comparator:
I'm not sure if I understand you example but I think that it doesn't exactly relate to my problem.
mattj256 wrote:Now that I've had more time to think about it, I think that if enough people are going to use this then it should be implemented. My concern is that this feature would make the circuit network harder to understand for newbies and intermediate players (like myself) while only being useful to a very small number of power users.
Actually, I believe that this would make circuit network easier to understand by newbies. Currently it has kind of hidden layer. It performs the addition without informing player of it. It would be much clearer if relation between red and green input was explicitly stated in combinator's GUI.
It's just a matter of good GUI layout.
I am a translator. And what did you do for Factorio?
Check out my mod "Realistic Ores" and my other mods!
Zakharov
Burner Inserter
Burner Inserter
Posts: 5
Joined: Wed Apr 12, 2017 7:14 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by Zakharov »

I'm strongly in favor of this. It makes it realistic to do complicated things with the circuit network which are otherwise unrealistically complicated, it doesn't make it "too easy" to do anything. It adds complexity, but you can just ignore it if you don't need it.
quyxkh
Smart Inserter
Smart Inserter
Posts: 1031
Joined: Sun May 08, 2016 9:01 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by quyxkh »

You've got a situation you're in -- you want threshold alarms for your warehouses so you don't have run around and check the levels manually -- and you've got a method that would get you what you want if you had a different tool than what's there now. I think you can get threshold alarms easily with the tools you've got now. Dial in capacity and item ratios, get alarm signals.
mattj256
Fast Inserter
Fast Inserter
Posts: 203
Joined: Sun Mar 27, 2016 7:25 am
Contact:

Re: Additional Virtual Signals for Operating on Red and Green

Post by mattj256 »

<NO_NAME> wrote:Sorry that I'm answering so long. I was too preoccupied in 0.15.
Lol no worries, I've been playing a lot of 0.15 too.
mattj256 wrote:you could generate a signal at the warehouse if that warehouse is running low on space, instead of trying to compute everything in one place.
I understand that you want the circuit network to be changed but in the meantime you have a way forward, right? Can you generate your alarm signal at the warehouse and feed that into a central area with alarms and display?
Post Reply

Return to “Ideas and Suggestions”