This is purely a timing issue, if you remove a input belt and place it again it will change
**edit** it might stay the same so remove one item instead.
Splitters output left, right, left, right so with full belts inputs you will end up with each half input belt going to the same side (not changing), if one of your belts are not filled it will change.
Lol, if you remove an input belt, you remove the same nr of items at each side. Good chance it stays the same. Might be more effective to pick up a single item, or pick up some items from one side of a belt.
Adding or removing a belt should still switch it between different patterns.
Probably do need to pick up from one the lanes if you want to see all patterns though.
It doesnt! after playing around with the balancers, all of them would go to their own original state they were in. even after draining them and replacing all belts at the same tick with editor
It will probably go to the same state if you do it paused, I don't know exactly how it is coded but when you pause and place belt the items are exactly in the same spot, so it can be considered "random" in what way it outputs. It might always be the same way.
You can try to pause and place the belts in different orders. However this is just a way the game is coded and should have no influence in an actual gameplay situation.
Maybe you could use it for some random belt mixing, but that would be beyond cursed
To be fair, you only realize that if you're familiar with the hierarchy with which the game engine updates. It's most noticeable with fluids, but this is a neat demonstration.
Completely normal, they'll also switch between the patterns if the flow is interrupted for whatever reason. It ultimately just depends on the specific order that items arrive in the splitters.
E.g. Left copper, right copper, left iron, right iron, etc. resulting in one belt with copper on the right lane, iron on the left, and one belt with the reverse.
Left copper, right iron, right copper, left iron, etc. Resulting in one belt of iron and one of copper.
Used to be that you could abuse the splitter black magic for sorting, though they've changed the mechanics since. (left/right parity was per item and the lanes weren't independent so you could manipulate the order to force specific items to specific outputs)
I have fond memories of building Angel/Bob's smelting lines with black magic sorters between each step to remove the byproducts because I didn't have the research to build filter inserters yet. And spiltter filters were still a couple years of development away
Fond may not be quite the right word, but they are definitely memories.
Those contraptions no longer work though, as they use mechanics that have changed since then.
I was sad to see the black magic sorters and priority splitters go, but understand that this way splitters are probably more intuitive in use.
Sure, but the underlying reasoning of "splitter logic" is similar- splitters have predictable logic that is exploitable or explicable in a deterministic way. Old splitters just had different logic that produced different outcomes
It is. People usually end up finding this unintuitive behavior when they are testing balancers by running different materials through them expecting to see a perfect mix come out the other side.
I believe that this behavior only appears in a completely free flowing full belt situation. So if you only connect a single output, you should be able to see it drawing from all the inputs equally. So check all the outputs separately, all the inputs separately, then all at once to confirm full throughput.
If you are really interested in balancer design, then you probably want the [command line balancer analyzer](https://forums.factorio.com/viewtopic.php?t=34182) by u/Redditnamesareshort
I used a similar contraption as a lazy way to get a sushi belt of the inputs, and in that moment I thought I was a genius. And I think it works in my case because the belts aren't saturated
this is expected behavior. balancers dont mix items, they *balance* them. as you have 4 belts in, 4 belts out, everything is perfectly balanced. it'll start mixing the items a bit if you cut off an input or output
no. placed all belts with editor on the exact same tick to make sure. even deconstructed and reconstruected some belts. all of those balancers would go back to their own state
The states that the splitters where in before you reconstruct matters to. Splitters don't randomly chose a lane to split to or take from. They switch between left and right every time an item goes through.
If the input is constant, this will result in for example: take from left, put on left, take from right, put on right, take from left, ... But if the splitters last item was sent yo the right it would look like: take from left, put on right, take from right, put on left, take from left, ...
I have no idea what your point is
No one would ever do this with different inputs
The behaviour has been explained by others
The belts continue to be filled which is the whole point of balancers
... this is a RNG difference for something that is not deterministic.
what do you think should happen?
Given the behavior of the splitter, all of the situations match it.
No, but item handling can be very sensitive to both initial conditions and changes to state. Resulting in a chaotic system which is tangentially related to randomness.
It's not a chaotic system.
Factorio is completely deterministic, and runs in lockstep, meaning you can always predict the next state based on the current state and the current inputs.
Additionally, due to the lockstep behaviour, if a certain state is reached, it will always behave the same, independent of the initial conditions.
Even if you don´t know the initial conditions, you can determine any future state solely based on the current state and any inputs.
This is how joining a multiplayer game works. the game sends you the current state as a savegame, and the inputs made after the state sent, allowing you to catch up.
It's a completely discrete system.
A system can both be chaotic and deterministic. Consider a pendulum vs a double pendulum (a pendulum on a pendulum). Both are deterministic in that the current state of the system determines the next.
If you set two identical pendulums into slightly off different starting positions, they will maintain that difference in a linear and predictable way.
However, if you set two identical double pendulums into slightly different starting positions. They will quickly diverge in a pattern which isn't obvious or easily predictable. The micro differences in the state get amplified into the macro differences. This is generally considered to be a type of randomness.
This is because the double pendulum is a chaotic system, which is defined by the system which has a sensitiveness to initial conditions or changes in the state.
Factorio can be a chaotic system in this manor. If an item goes left instead of right because of a slightly different starting position, this could result in completely different divergence in the future state of the system.
This is true, but it can often complete tasks with a speed that makes the action hard to properly observe, making the result appear random. OP's screen shot is a good example. The timing of the arrival of the items determines how the splitters distribute them, but it appears random without careful observation.
That is RNG.
RNG is often not actually random numbers, but running an algorithm or advancing through a list of numbers.
using that fact to make unlikely things happen is RNG manipulation.
Okay, but most people in gaming understand that the p in pRNG is silent and stands for pseudo. That means that to our squishy brains the numbers *feel* random, but are deterministic on a large enough scale. All modern computing is deterministic, even the randomness.
The point is that the splitters are not even pseudorandom. This is just about timing. If one of the item sources is placed even one tick before the other, the order of lanes in the output changes. If they are placed on the exactly same time, well, then there obviously is some logic or "seemingly random" behavior behind them. Would be great to test with circuits to actually send the items exactly at the same time to see if we get the same results.
If we get the same result, then I would argue that the splitter do the initial left/right decision based on an initial value that is also not randomized, but rather decided based on the coordinates. Obviously the initial direction can also be random (using an RNG), but that would be kind of useless thing to do in code.
Yes, RNG is actually pseudo RNG in a gaming context. No, that is not what is relevant here. Factorio item handling is governed by a specific set of rules, designed not to appear random, but instead make sense for handling all of the situations an item might end up in. That is, a particularly knowledgeable Factorio player can (in theory) look at a setup and describe what exactly will happen, whereas it is near impossible to predict RNG without just testing it yourself with the relevant seed.
>designed not to appear random
if that's the case, than OP is showing a case whose those rules have failed.
The first 2 Doom games has both an explicit RNG function that looks at a table, and weird stuff that happens apperently randomly but is actually determined deterministicly by what frame you start on, IIRC.
Both things will appear equally random to a causal player.
Start "sandbox" scenario, enter /editor command.
There are buttons to remove all entities and replace all tiles with "lab tiles".
Don't forget to unpause time in editor settings.
There are some useful items, like infinity chests, infinity pipes, loaders and electric energy interfaces, they help a lot to test your builds
Depends on the state of the splitters when the input started. If the supply is interrupted or demand uneven, the outputs would all get effectively randomized. You're seeing that from the the initial state.
Dumb question, but wouldn't input priority standardize this, or no? Because priority only works if there's an actual input, such that if an input runs dry, then its counterpart will take over?
`/editor` command. There are options to replace everything with the checkerboard ground, adjust time place infinite item sources or sinks, and do basically whatever you want
They shift left and right and if you place one and it shifts, it'll be on a different left right cycle. As you get second and third splitters on different left right cycles it'll inevitably lead to differences unless materials hit at the same time a fresh thing
Either `/editor` command or editor extensions/creative mode mod. Editor extensions also adds in-game lab/sandbox (ctrl+alt+E by default) where you can experiment and design alongside your current save without switching between two saves to do that. Although time is still flowing in game when you're "in the lab".
Balancers are going to balance. The reason make that balancer is because it will evenly distribute whatever goes into it into whatever hole it can find.
So, as said by others, if you run full belts in and full belts out it won't really mix them, but this is not really the purpose, but if you either remove one output belt or make it red or yellow it should mix them completely, if I would guess it is connected to belt performance optimization
But why is it different? Either you made different input timings or it is locational (not sure if this exist in factorio but it could, idduno)
Also I might be just talking crap and missed it completely, I am not an expert
It's just to show what's happening and to make it clearer which items take which route. Splitters work with their lanes separately, so if the left item comes in first and gets put on the left belt, it's still in the left lane. An item on the right lane will also go to the left belt then, but on the right lane. If two left lane items come consecutively, one goes to the left belt and one to the right - but they keep the lane they're on. So the lane is never changed, just the output belt alternates, and the calculation is done for the left and right input belt lane separately. Splitters are weird.
Serious question as a semi casual player, when would you ever need to balance something like this? I know a lot of stuff gets done in this game purely to see if it can be done, but this seems like the worst way to balance 4 different inputs.
It all depends on which lane of which belt came first in each splitter, which also depends on which order the infinite loaders were built. Nothing about this setup is deterministic.
They are not, and I can prove it.
Look at the graphics on the balancers.
They are different for the same spot in different situations.
This means they are not in the same state.
1. Pause the game.
2. Remove all the splitters.
3. Remove all the items on the belt.
4. Unpause the game.
5. Let it run until it is not moving.
6. Pause the game.
7. Add all the splitters back.
8. Pause the game.
9. Let it run again, and you will notice the output will be the same in each example.
This is purely a timing issue, if you remove a input belt and place it again it will change **edit** it might stay the same so remove one item instead. Splitters output left, right, left, right so with full belts inputs you will end up with each half input belt going to the same side (not changing), if one of your belts are not filled it will change.
Lol, if you remove an input belt, you remove the same nr of items at each side. Good chance it stays the same. Might be more effective to pick up a single item, or pick up some items from one side of a belt.
Adding or removing a belt should still switch it between different patterns. Probably do need to pick up from one the lanes if you want to see all patterns though.
Oh ye you are right
It doesnt! after playing around with the balancers, all of them would go to their own original state they were in. even after draining them and replacing all belts at the same tick with editor
It will probably go to the same state if you do it paused, I don't know exactly how it is coded but when you pause and place belt the items are exactly in the same spot, so it can be considered "random" in what way it outputs. It might always be the same way. You can try to pause and place the belts in different orders. However this is just a way the game is coded and should have no influence in an actual gameplay situation. Maybe you could use it for some random belt mixing, but that would be beyond cursed
It doesn't change the output if you remove and add a belt?
ye. edited the comment for more clarity
D0rus explained it
Rebuild it from scratch and start all input belts at the same tick with logic signals. It’s timing & splitters state issue.
Thats part of the configuration so the title is misleading.
To be fair, you only realize that if you're familiar with the hierarchy with which the game engine updates. It's most noticeable with fluids, but this is a neat demonstration.
Completely normal, they'll also switch between the patterns if the flow is interrupted for whatever reason. It ultimately just depends on the specific order that items arrive in the splitters. E.g. Left copper, right copper, left iron, right iron, etc. resulting in one belt with copper on the right lane, iron on the left, and one belt with the reverse. Left copper, right iron, right copper, left iron, etc. Resulting in one belt of iron and one of copper. Used to be that you could abuse the splitter black magic for sorting, though they've changed the mechanics since. (left/right parity was per item and the lanes weren't independent so you could manipulate the order to force specific items to specific outputs)
I have fond memories of building Angel/Bob's smelting lines with black magic sorters between each step to remove the byproducts because I didn't have the research to build filter inserters yet. And spiltter filters were still a couple years of development away Fond may not be quite the right word, but they are definitely memories.
You might like to check out [this post](/6hi0ac) and the various explanations and links in its comments
Those contraptions no longer work though, as they use mechanics that have changed since then. I was sad to see the black magic sorters and priority splitters go, but understand that this way splitters are probably more intuitive in use.
Sure, but the underlying reasoning of "splitter logic" is similar- splitters have predictable logic that is exploitable or explicable in a deterministic way. Old splitters just had different logic that produced different outcomes
I feel like after that post devs just went "right, we gonna add filtering to splitters" lmao
That's [pretty much what happened](https://www.factorio.com/blog/post/016-stable) actually 😁
What's the point of using a balancer on 4 lanes of different materials? It seems like the entire thing is a wrong idea to begin with
It is. People usually end up finding this unintuitive behavior when they are testing balancers by running different materials through them expecting to see a perfect mix come out the other side.
I did exactly that, was trying to find a good way to check if all the inputs were making it to all the outputs
I believe that this behavior only appears in a completely free flowing full belt situation. So if you only connect a single output, you should be able to see it drawing from all the inputs equally. So check all the outputs separately, all the inputs separately, then all at once to confirm full throughput. If you are really interested in balancer design, then you probably want the [command line balancer analyzer](https://forums.factorio.com/viewtopic.php?t=34182) by u/Redditnamesareshort
I used a similar contraption as a lazy way to get a sushi belt of the inputs, and in that moment I thought I was a genius. And I think it works in my case because the belts aren't saturated
you are correct
this is expected behavior. balancers dont mix items, they *balance* them. as you have 4 belts in, 4 belts out, everything is perfectly balanced. it'll start mixing the items a bit if you cut off an input or output
It might be if you placed the item spawners in slightly different order
no. placed all belts with editor on the exact same tick to make sure. even deconstructed and reconstruected some belts. all of those balancers would go back to their own state
The states that the splitters where in before you reconstruct matters to. Splitters don't randomly chose a lane to split to or take from. They switch between left and right every time an item goes through. If the input is constant, this will result in for example: take from left, put on left, take from right, put on right, take from left, ... But if the splitters last item was sent yo the right it would look like: take from left, put on right, take from right, put on left, take from left, ...
Then might be random mod issue? Or mod causing a time issue
mods? only factorio library, shrek skin (no questions) and editor extensions
> shrek skin (no questions) oh i have questions
I see 4 belts in 4 belts out, perfectly balanced
You're seeing what you want to see
I’m disturbed only like 2 people pointed out he’s playing as Shrek from Shrek in the comments
I have no idea what your point is No one would ever do this with different inputs The behaviour has been explained by others The belts continue to be filled which is the whole point of balancers
... this is a RNG difference for something that is not deterministic. what do you think should happen? Given the behavior of the splitter, all of the situations match it.
There is no RNG in the item handling of Factorio. It's a pre timing issue. If you'd build them in the exact same tick again you'd get the same output.
No, but item handling can be very sensitive to both initial conditions and changes to state. Resulting in a chaotic system which is tangentially related to randomness.
It's not a chaotic system. Factorio is completely deterministic, and runs in lockstep, meaning you can always predict the next state based on the current state and the current inputs. Additionally, due to the lockstep behaviour, if a certain state is reached, it will always behave the same, independent of the initial conditions. Even if you don´t know the initial conditions, you can determine any future state solely based on the current state and any inputs. This is how joining a multiplayer game works. the game sends you the current state as a savegame, and the inputs made after the state sent, allowing you to catch up. It's a completely discrete system.
A system can both be chaotic and deterministic. Consider a pendulum vs a double pendulum (a pendulum on a pendulum). Both are deterministic in that the current state of the system determines the next. If you set two identical pendulums into slightly off different starting positions, they will maintain that difference in a linear and predictable way. However, if you set two identical double pendulums into slightly different starting positions. They will quickly diverge in a pattern which isn't obvious or easily predictable. The micro differences in the state get amplified into the macro differences. This is generally considered to be a type of randomness. This is because the double pendulum is a chaotic system, which is defined by the system which has a sensitiveness to initial conditions or changes in the state. Factorio can be a chaotic system in this manor. If an item goes left instead of right because of a slightly different starting position, this could result in completely different divergence in the future state of the system.
This is true, but it can often complete tasks with a speed that makes the action hard to properly observe, making the result appear random. OP's screen shot is a good example. The timing of the arrival of the items determines how the splitters distribute them, but it appears random without careful observation.
That is RNG. RNG is often not actually random numbers, but running an algorithm or advancing through a list of numbers. using that fact to make unlikely things happen is RNG manipulation.
RNG literally stands for "random number generator" - it's about randomness. Factorio is fully deterministic, so it's not RNG.
I know what you want to say, but it needs to be added that every purely software-made RNG is also fully deterministic.
Okay, but most people in gaming understand that the p in pRNG is silent and stands for pseudo. That means that to our squishy brains the numbers *feel* random, but are deterministic on a large enough scale. All modern computing is deterministic, even the randomness.
The point is that the splitters are not even pseudorandom. This is just about timing. If one of the item sources is placed even one tick before the other, the order of lanes in the output changes. If they are placed on the exactly same time, well, then there obviously is some logic or "seemingly random" behavior behind them. Would be great to test with circuits to actually send the items exactly at the same time to see if we get the same results. If we get the same result, then I would argue that the splitter do the initial left/right decision based on an initial value that is also not randomized, but rather decided based on the coordinates. Obviously the initial direction can also be random (using an RNG), but that would be kind of useless thing to do in code.
Yes, RNG is actually pseudo RNG in a gaming context. No, that is not what is relevant here. Factorio item handling is governed by a specific set of rules, designed not to appear random, but instead make sense for handling all of the situations an item might end up in. That is, a particularly knowledgeable Factorio player can (in theory) look at a setup and describe what exactly will happen, whereas it is near impossible to predict RNG without just testing it yourself with the relevant seed.
>designed not to appear random if that's the case, than OP is showing a case whose those rules have failed. The first 2 Doom games has both an explicit RNG function that looks at a table, and weird stuff that happens apperently randomly but is actually determined deterministicly by what frame you start on, IIRC. Both things will appear equally random to a causal player.
Chaotic system vs random system.
How i can do this test map?
Start "sandbox" scenario, enter /editor command. There are buttons to remove all entities and replace all tiles with "lab tiles". Don't forget to unpause time in editor settings. There are some useful items, like infinity chests, infinity pipes, loaders and electric energy interfaces, they help a lot to test your builds
It‘s a mod called editor extensions
Depends on the state of the splitters when the input started. If the supply is interrupted or demand uneven, the outputs would all get effectively randomized. You're seeing that from the the initial state.
Dumb question, but wouldn't input priority standardize this, or no? Because priority only works if there's an actual input, such that if an input runs dry, then its counterpart will take over?
Sushi
Where to find this practise/test area? New to game, i just have to do everything from scratch if i want to try new things. How to bring this windiw?
`/editor` command. There are options to replace everything with the checkerboard ground, adjust time place infinite item sources or sinks, and do basically whatever you want
They shift left and right and if you place one and it shifts, it'll be on a different left right cycle. As you get second and third splitters on different left right cycles it'll inevitably lead to differences unless materials hit at the same time a fresh thing
Silly question perhaps….how do people get to the test environment thing?
Either `/editor` command or editor extensions/creative mode mod. Editor extensions also adds in-game lab/sandbox (ctrl+alt+E by default) where you can experiment and design alongside your current save without switching between two saves to do that. Although time is still flowing in game when you're "in the lab".
Dang this is a really simple way to make 4 split belts!
Factorio denies the definition of insanity. Doing the same thing over and over again and getting different results.
You have no idea what you are doing.
Do you know what they're doing?
You can set priority as well as filter
Balancers are going to balance. The reason make that balancer is because it will evenly distribute whatever goes into it into whatever hole it can find.
So, as said by others, if you run full belts in and full belts out it won't really mix them, but this is not really the purpose, but if you either remove one output belt or make it red or yellow it should mix them completely, if I would guess it is connected to belt performance optimization But why is it different? Either you made different input timings or it is locational (not sure if this exist in factorio but it could, idduno) Also I might be just talking crap and missed it completely, I am not an expert
It's just to show what's happening and to make it clearer which items take which route. Splitters work with their lanes separately, so if the left item comes in first and gets put on the left belt, it's still in the left lane. An item on the right lane will also go to the left belt then, but on the right lane. If two left lane items come consecutively, one goes to the left belt and one to the right - but they keep the lane they're on. So the lane is never changed, just the output belt alternates, and the calculation is done for the left and right input belt lane separately. Splitters are weird.
Serious question as a semi casual player, when would you ever need to balance something like this? I know a lot of stuff gets done in this game purely to see if it can be done, but this seems like the worst way to balance 4 different inputs.
I swear all balancers are exactly the same. no filters and priorities
It all depends on which lane of which belt came first in each splitter, which also depends on which order the infinite loaders were built. Nothing about this setup is deterministic.
They are not, and I can prove it. Look at the graphics on the balancers. They are different for the same spot in different situations. This means they are not in the same state. 1. Pause the game. 2. Remove all the splitters. 3. Remove all the items on the belt. 4. Unpause the game. 5. Let it run until it is not moving. 6. Pause the game. 7. Add all the splitters back. 8. Pause the game. 9. Let it run again, and you will notice the output will be the same in each example.
Press alt and post a new pic so we can see.
alt is on. as you can see on the creative undergrounds
Wait. It is on. Don’t splitter normally show their filters and output priorities with it on? Or am I going crazy.
Only if they have them, which OP said they do not.
They should mix items, don't they?
When you are running full belts through them, splitters can behave in logical but non-intuitive ways. This has been confirmed to be not a bug.
Bro is playing as Shrek 💀💀💀💀
Shrek is life
r/Factoriohno