Page 1 of 1

Belt un-balancers

Posted: Mon May 10, 2021 7:06 am
by Bauer
Have you ever thought about unbalancing belts?

The more I play this game, the less use I see in belt balancers. (Trainloading/unloading _might_ be an exception)
However, I have an increasing need for unbalancing belts.
- Wouldn't it make more sense to draw with priority from ore-belts that come from the middle of the patch?
- Insertes take from the nearer lane. Shouldn't we prioritise the inner side before/after the branch to a sub-factory?
- Does it make sense to prioritise a less used output, so that it back-ups more quickly to get faster to a state of equilibrium?
- Or deliver stuff to high demand sub-factories first that produce important intermediates (e.g. gears) to make a stortage more visible.

I used to use balances in all these cases. These days I'm using unbalancers.
Does anyone have a systematic approach to belt-unbalancing?
(My solutions are very *cough* individual...)

Re: Belt un-balancers

Posted: Mon May 10, 2021 7:27 am
by JimBarracus
My ore fields usually are built to be "placed and forgotten"
I remove them once they dried up completly.

I usually place a speed module in the miners with the highest expected resources to even it out a little.
But usually its not worth to deal with this kind of micromanagment.

You can leave more space between the miners on the edge of the ore field to even it out.
Sure it can be optimized to death but as long as the train gets loaded evenly I dont care about what happens within the ore field.

Re: Belt un-balancers

Posted: Mon May 10, 2021 10:19 am
by jodokus31
You are talking about prioritization, which is no contradiction to balancing. IMO, its an aspect of balancing.

You take n belts and ensure, that one lane is always filled depending on availability and usage.
At the same time you could balance the inputs, to be used equally.

Or you take n input belts and ensure, that one lane is used prioritized.
At the same time you could balance the outputs, to be filled equally.

Or you take each belt individually, but have to live with the fact, that it will dry out some day.

If you are starving on resources, prioritization is very important. And buffers are dangerous (You don't want to fill a buffer, while the resources are missing elsewhere.)
Or if you want to get rid of byproducts, you need to consume them prioritized.

Re: Belt un-balancers

Posted: Mon May 10, 2021 1:41 pm
by Bauer
We have gain a very deep and systematic understanding how balancers work.
There's a lot of "literature" from mathematical guides to blueprint-books available.
This made it controllable and understandable.

How does an n:m prioritiser look like?
It does make a difference if it's input or ouput prioritised.
It does make a difference if it's left to right or right to left.
Especially if both input and output are prioritised.

I'm not saying that it's awefully difficult.
I observe that I'm every time reinventing the wheel because I haven't seen a systematical approach.

What is the minimum number of splitters needed to input and/or output prioritise an n-belt system?
For 2 belts the answer is 1. Trivial.
For 3 belts the answer is 3. Ok.
For 4 belts... I have an idea.
For 8 belts... I don't know. (36?)

And once we have this... will we ever need balancers any more?

Re: Belt un-balancers

Posted: Mon May 10, 2021 3:24 pm
by jodokus31
Speedrunners currently use a contraption to merge several uncompressed ore lines together, to get fully compressed belts. It's triangle-shaped like this: (Hope i got it right)
Screenshot from 2021-05-10 17-22-17.png
Screenshot from 2021-05-10 17-22-17.png (778.15 KiB) Viewed 796 times
Its more like an compacter, but the lines are also output prioritized. And it is able to lane balance
The bottom line has the highest prio, top line the lowest

Re: Belt un-balancers

Posted: Sun May 23, 2021 8:43 pm
by Plawerth
Balancing to spread evenly across all belts on a bus is bad for machines that are dumping resources onto the belts, because objects on the belt take priority over incoming objects, and it is not possible for an object with space around it to slide forward or back to make room at that exact tick.

If there is no buffer space in the machine, it then must pause until an empty space randomly appears in front of it on the belt for it to fill.

Prioritizing belts to always be empty in front of machines that are unloading onto the belt, assures the machine can always unload when it needs to, and it also then will minimally to never buffer anything internally.