## Multiple Conditions + If \ Else function+ for Logic Networks

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

Factory Overlord
Burner Inserter
Posts: 16
Joined: Mon Sep 30, 2019 1:32 pm
Contact:

### Multiple Conditions + If \ Else function+ for Logic Networks

I really like the idea of inputs and outputs the problem is I feel like it ends up feeling really limited and more like a wired mess.

It would be nice if Logic Networks use an If \ else function instead of just the single input and single output function that exist now.

For example

If Petroleum > 20,000 then Output Green 1
Else Output Red - 1

Starcraft 1 \ 2 Map Maker does it right when it comes to conditional statements allowing multiple conditions with multiple output variables would make circuit design so much more elegant.

For example

While Decider can get multiple "Inputs" it still can only setup a single condition. In order make a more complex logistic networks you need a seperate machine for the "And \ Or \ Xor" etc to evaluate the 2 inputs then have the decider decide based on that.

The problem here is the switch, you need 2 deciders to switch between the two based on the output due to lack of 2 conditional inputs.
This exponentially gets worse and worse.

By allowing If \ Else then logistic networks become exponentially less burdensome.

So if I want multiple pumps to run under a single decider I can. Which can them use those pumps to move fluids to various tanks \ factories as needed.

For example Lights
If Red 1 = Turn Red
If Green 1 = Turn Green
If Blue 1 = Turn Blue

Currently, I would need 3 Deciders to do this. I am proposing it instead be done by 1.

or
Decider
If Petroleum < 20,000 output Green 1
If Petreoleum > 20,000 output Red 1

That way a Single Decider can output multiple signals to direct various machines with far less machines.

ssilk
Global Moderator
Posts: 12719
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

### Re: Multiple Conditions + If \ Else function+ for Logic Networks

Factory Overlord wrote: ā
Fri Apr 10, 2020 2:53 pm
... more like a wired mess.
I think thatās intended. Partly intended...

What you explain as if/else makes in my eyes no sense, because - and thatās the point - what is the difference between:
- output āgreenā if true and āredā if false (your suggestion)
- output āgreenā if true and ānot greenā if false (as currently)
??

Logical-wise there is none, because the next instance can always check āif greenā/āif not greenā instead of āif greenā/āif redā.
And your point with the lamps: I see that as an advantage: you can say āturn green onā, if green, but what does it mean when at the same time there is a blue signal on?

So as it is right now makes a lot of sense in my eyes.

Maybe you can be more specific in describing your problem?
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

Factory Overlord
Burner Inserter
Posts: 16
Joined: Mon Sep 30, 2019 1:32 pm
Contact:

### Re: Multiple Conditions + If \ Else function+ for Logic Networks

ssilk wrote: ā
Sat Apr 11, 2020 9:14 am
Factory Overlord wrote: ā
Fri Apr 10, 2020 2:53 pm
... more like a wired mess.
I think thatās intended. Partly intended...

What you explain as if/else makes in my eyes no sense, because - and thatās the point - what is the difference between:
- output āgreenā if true and āredā if false (your suggestion)
- output āgreenā if true and ānot greenā if false (as currently)
??

Logical-wise there is none, because the next instance can always check āif greenā/āif not greenā instead of āif greenā/āif redā.
And your point with the lamps: I see that as an advantage: you can say āturn green onā, if green, but what does it mean when at the same time there is a blue signal on?

So as it is right now makes a lot of sense in my eyes.

Maybe you can be more specific in describing your problem?
True or False only works for a Basic Binary System for a local network
But when I want to connect multiple inputs to make a decision it gets tricky.

But if I want a decision - which involves another decision which involves another decision things get tricky fast.

Plastics Need Supplies -> Check Tanks -> Empty -> Check Other Tanks above 50% -> Shift Fluid from other tanks

I run the 3 Major groups pf tanks and have them shift Fluids based on Quantity of each other and Light Codes

But having a Single Decider output If \ Else \ else \ else \ else function I can run the last part under a single decider.

McDuff
Fast Inserter
Posts: 236
Joined: Sun Jan 11, 2015 11:09 am
Contact:

### Re: Multiple Conditions + If \ Else function+ for Logic Networks

The "high level" request here isn't just if/else statements, but multiple blocks within one combinator.

From what I can tell, there's no intention for the devs to adjust combinator logic in this way, but I could be proved wrong.

ssilk
Global Moderator
Posts: 12719
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

### Re: Multiple Conditions + If \ Else function+ for Logic Networks

Exactly.
Combinator logic Is tricky.

I struggled for a long while with such similar things. I donāt know if this can be compared, but it sounds similar: if I have a task where I need to compare, if several things are true, then .... I use a constant combinator which sends the invers + 1 signal and a decider, which checks if anything is greater than biggest signal.

[long bracket open
Example : I want to switch on a factory street only if there is enough items on the belts (8 for each), if there is enough power (80 min of A signal), if it is needed (green signal).
That output I combine with the timeout (30 seconds) of last produced item, to avoid that the switch is turned off, before the street is empty.
The green signal also controls, if item runs into the street, so if I have enough the belts are stopped and the 8-of-each-items will get false.

So the constant combinator sends for example
copper 73,
iron 73,
A 1,
green 80,
which is added to the 4 incoming signals. And the decider checks if everything is greater than 80 to start green circuits production.

So signal green (items needed) turns on. Belts turn on, and the belts into the factory street fill more or less fast. And if there is enough items on the belts (at least until all input fields have been running full), the whole factory street turns on. Minimally one item must be produced to trigger the timeout on the output. Which keeps the factory street running, until the input belts run empty.
Long bracket close]

What I want to say with this long description is that the combinator logic is sometimes quite different to your normal thinking and you need to learn and to use tricks to make effective use of it. And combinator logic is not everything, the belts can also be used to implement logic. And nearly everything (fluids, railway signals), can be used to make quite wired looking but highly reliable logic in Factorio.
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...

PyroFire
Filter Inserter
Posts: 356
Joined: Tue Mar 08, 2016 8:18 am
Contact:

### Re: Multiple Conditions + If \ Else function+ for Logic Networks

Factory Overlord wrote: ā
Sun Apr 12, 2020 1:49 pm
True or False only works for a Basic Binary System for a local network
Excuse me?
Only basic binary?

*Ahem*

Bullsh*t.
Factory Overlord wrote: ā
Sun Apr 12, 2020 1:49 pm
But when I want to connect multiple inputs to make a decision it gets tricky.
That never stopped anyone before.

tamanous
Fast Inserter
Posts: 135
Joined: Wed Aug 10, 2016 8:35 am
Contact:

### Re: Multiple Conditions + If \ Else function+ for Logic Networks

PyroFire wrote: ā
Wed Apr 15, 2020 12:16 pm
That never stopped anyone before.
Your logic is interesting. Showing one person, who (at its current state) is very advanced in something does not prove that everyone is smart in the same something (at the given moment), too.
But I guess you wanted to say "RTFM" by saying "I''m smarter than you" or "play it that way" instead of saying "I play factorio in another fashion than you do".
But thank you for the awesome links. Those people are more advanced in factorio than I am. I like their work/art.

This subforum is the correct area for proposing ideas to easen things up for (likely) a wide variety of people playing factorio.

I get your point. "Micromanaging" combinator logic "feels small" at the current state of advancement in the game. But there are several ingame ways to handle this "properly". Maybe you want to try the advanced combinator Mod?

PyroFire
Filter Inserter
Posts: 356
Joined: Tue Mar 08, 2016 8:18 am
Contact:

### Re: Multiple Conditions + If \ Else function+ for Logic Networks

tamanous wrote: ā
Wed Apr 15, 2020 9:23 pm
I get your point. "Micromanaging" combinator logic "feels small" at the current state of advancement in the game. But there are several ingame ways to handle this "properly". Maybe you want to try the advanced combinator Mod?
Circuitissimo might be an interesting look into as well, as it lets you merge combinator layouts into a single combinator, effectively achieving the same outcome as any lua driven combinator and with better performance.

tamanous wrote: ā
Wed Apr 15, 2020 9:23 pm
Your logic is interesting. Showing one person, who (at its current state) is very advanced in something does not prove that everyone is smart in the same something (at the given moment), too.
But I guess you wanted to say "RTFM" by saying "I''m smarter than you" or "play it that way" instead of saying "I play factorio in another fashion than you do".
Your logic is interesting. Expressing that, because you don't understand it today, that you will never understand it, nor should you have to - instead, new tools should be added to make it easier for you, whom apparently already doesn't want to learn how the existing system works.
The irony is, should the desired tools be added, this means there is more that any new player would need to learn about the game, and may actually increase the entry level computer skills needed to play factorio because of that fact, when again - you apparently already don't want to learn how the existing systems work, so how will you then fare with the new system which would be equally as "tricky" to use.

As proof of this, please provide examples of a combinator system (that you have either built, or attempted to build) with a real and practical purpose that is too complex for you to understand - and the key here is you must have attempted to build it - we're not talking hypothetical here. Screenshots would be appropriate too. Without the proof of attempt, what then does anyone's skill or play style matter when you haven't played at all?
tamanous wrote: ā
Wed Apr 15, 2020 9:23 pm
This subforum is the correct area for proposing ideas to easen things up for (likely) a wide variety of people playing factorio.
This subforum is for broad and open ideas for changes to the base game and for the wider community to openly discuss and debate those proposed changes or ideas.

Between the suggestion already being achievable with mods, the fact that you should actually play with the tools first before giving up and complaining it's too hard after 5 minutes, and the underlying premise of the idea - that a something is, or is not possible without the suggestion/idea, is fundamentally false, again see link: https://www.youtube.com/watch?v=7lVAFcDX4eM I believe this suggestion is not worth exploring, but of course it's always up to the devs. And if it's still too hard - prove it, because that becomes a gameplay help matter rather than something needing to be changed or added to the game (except maybe needing better tutorials ). If you don't like the way a mechanic feels, that's fine too, but you don't need to claim things are impossible or act dumb to say that.

tamanous
Fast Inserter
Posts: 135
Joined: Wed Aug 10, 2016 8:35 am
Contact:

### Re: Multiple Conditions + If \ Else function+ for Logic Networks

I should have said "be more kind" instead of what I actually said.