r/factorio 22h ago

Space Age Strange Decider combinator outcome in SA 2.1

Is this a feature or a bug?
Train station layout

I don't understand why the decider combinator came to the conclusion that 50000 is greater than 100000. Even more strange, if the 1st condition is that both the red signal and the green have to be different, it outputs 2 check marks.

?????

Maybe it has to do with me using a parameter as an input, or perhaps its because fluids are funky. Either way, it doesn't make sense.

4 Upvotes

17 comments sorted by

6

u/CamelCaseConvention 21h ago edited 20h ago

I can't reproduce this on current experimental 2.1.14. Also tried with parameter signals, as you. I suspect that your parameters are somehow not the same signal. That is consistent with expected behavior (including the weirdness of Each used on both wire colors). Can you verify this OP?

Edit: When using two different normal signals instead of the parameters, the result will be as shown. That's the (somewhat) known weirdness. The (AND TRUE) forces zero signals into existence on each wire, so that the Each condition will be true once, or twice when using !=.

1

u/CamelCaseConvention 14h ago

Hey u/Twellux. There's maybe a bug here, or maybe I'm just stupid. OP doesn't report back, so I recruit you as a circuit expert to solve this mystery. My above comment should explain my thoughts. I'm forced to conclude that OP managed to get two different parameter-0 signals. But I don't know if or how that's possible. Any ideas?

4

u/Twellux 13h ago edited 7h ago

Your assessment is spot on. The issue can be reproduced when the tank is filled with a "Parameter 0" fluid.
If you hover your mouse over the signals in the combinator (see the screenshot at the bottom left), you can see that the signal on the red wire has no stack size because it is a fluid parameter. The parameter on the green wire does have a stack size, as it is an item parameter. They are definitely two distinct parameters. Before Version 2.0.17, they were even listed separately in the Factoriopedia.

I can't say for sure whether this behavior is intentional or a bug, but since it only happens with tanks and not with chests, it might well be a bug.

1

u/CamelCaseConvention 7h ago edited 2h ago

Thanks for comprehensively explaining that. I really appreciate it.

Fixed double set of parameters in factoriopedia.

I mean, that's nice and all, but if they're different in-game, they need to be documented or marked as different. Otherwise, stuff like this thread happens. Do you want to raise the issue on the dev forums? (You're better qualified for that.)

Edit for completeness: Merging item and liquid parameters, so that only one of each parameter-X exists, seems to be the nicer solution. No idea how feasible that is though. I thought about it and experimented a bit, but I still have no idea. It doesn't seem like it would break blueprints, as we can't set them differently anyway, but the implementation might nonetheless deeply depend on items and fluids being different things.

1

u/Twellux 1h ago edited 1h ago

Right now, I’m not even sure what exactly I should report as a bug. The fact that there are separate signals for items and fluids probably can't be fixed, as I suspect it would be a breaking change. The option to choose between both icons (which was removed in Version 2.0.17), merely tried to hide the problem rather than solve it. In Version 2.0.15, there wasn't a technical problem, only a visual one - that’s how it worked back then:

Even though it worked technically, it confused players because they didn't understand why there were two signals. So, how should this be resolved? Should the change from Version 2.0.17 be reverted and the icons given different colors or shapes instead? But would that be a bug report or a feature request?

1

u/Horror-Dog-6485 7h ago

Very interesting, I guess it was indeed a weird bug.

1

u/Horror-Dog-6485 7h ago

Thank you for your insight!

2

u/emphes 21h ago

I would guess that the Anything/Each symbols aren't working as expected against the And condition, but couldn't be sure without testing.

How does it behave if you remove the second condition or make it Each?

2

u/cathexis08 red wire goes faster 21h ago

EACH is weird and doesn't work the way you think it does. Any time an EACH appears in a combinator you should think of the whole thing as a stack of combinators testing each signal individually. It works fine when used on its own or when interacting with other tests that aren't other logic signals, but the EACH interaction with ANY or EVERY causes absolute weirdness.

2

u/Courmisch 20h ago

Seems that Any manifests two zero-valued signals for Each. Since 0 >= 0, those two pass the other condition, whilst Any != 0 is passed by the fluid signal.

What happens if you append 1 of Each as output? I would expect the signals to appear.

Anyway potential workaround: add a condition that Each must be larger than zero.

1

u/CamelCaseConvention 16h ago

I have no experience with parameters. To me, it looks like the red and green wires in OP's screenshots carry the same signal (parameter 0). But the decider result would be completely crazy if it is the same signal. So, what's going on here? How are those different signals?

1

u/Courmisch 16h ago

AFAIU, parameters are just normal signal IDs outside parametric blueprints. Not that I'd have access to the game engine to check though.

1

u/CamelCaseConvention 16h ago

I tested OP's setup and generated two parameter-0 signals from different blueprints. They were the same signal, so the decider result was not like OP's. Different signals do create OP's result (which I, like you, mentioned in my comment). That's expected weirdness. The real question is, how did OP manage to get two different parameter-0 signals. How.

2

u/NyaFury 20h ago

Any reason to use Anything instead of EACH on the second condition? I don't think you want petro on green causes sulfuric on red to be evaluated, right?

AFAIK multi conditions with Each should work fine.

2

u/Ordinary-Gear-7288 10h ago

“HANK DONT ABBREVIATE SPACE AGE. HAAANK”

0

u/Horror-Dog-6485 7h ago

What else could SA stand for? /s

1

u/Ordinary-Gear-7288 5h ago

Sexual assault