#Preventing deadlocks with quality in all steps.

1 messages · Page 1 of 1 (latest)

sonic garnet
#

Instead of parallel no quality lower priority chain for backup one can use quality recycling for EACH item.

ashen cove
#

why not smelt everything normally and abuse PU/LDS productivity to produce legendary everything?

#

then legendary plastic lds smuggling for copper and steel, and 1/4 pu-circuit-iron for legendary iron

#

this way you can "not care" for deadlocks as it will only really produce as much legendary anything as is necessary

#

holmium/tungsten/biter eggs/spoilage for modules will be the biggest problems however, and I don't have an answer for those rn

humble shadow
#

how do you prevent the assember with quality mods that produces uncommon green circuits getting stuck because rare green ciruits arent being used.
they arent being used because the assembler making rare red circuits doesnt have rare wire, the rare wire that gets made in the uncommon wire assembler is stuck because uncommon wire isnt being used in the uncommon green assembler, and the dedicated rare wire assembler doesnt have plate because rare copper plate is stuck waiting on uncommon plate. if you have a dedicated line, then the problem backs all the way to the miner.

you need to match ratios for quality for each step in a production chain. the wire sent to green circuits needs to be the same ratio as the iron plate.

or you recycle

ashen cove
#

void looping any excess is possible but idk if I'd like that. buffer chests for more problematic situations like uncommon wire can work, but aren't automatic unless you include circuit-based active provider chest disposal

cerulean hollow
#

I think some recycle voiding is inevitable with quality unless you do pure end product recycle looping which has its own costs

ashen cove
sonic garnet
ashen cove
#

fair enough

sonic garnet
#

One crazy idea is to use beacons with speed modules and circuits controlling logic to drop the quality instead of building a parallel setup. If you detect that you have excess quality iron ore that blocks production of common iron ore you swap speed modules in!

ashen cove
#

but...that doesn't get rid of the deadlock

#

it only prevents the deadlock

sonic garnet
#

Suppose you have a set of buffers and define a global policy for ratio between qualities! If the buffered quality ration starts to exceed the limits you swap speed in

#

This requires global circuit network coverage

ashen cove
#

do note that this only works between <quality as a whole> vs common

sonic garnet
#

You can require thresholds for every level for even more craziness 🙂

#

If you have a train base you can swap speed in if you notice that quality provider station has significantly more than one train of stuff that was not picked up, while lower quality has less than one train.

ashen cove
sonic garnet
#

For mining - yes. For other levels you have setups for different qualities

#

So you can prevent assemblers that consume uncommon plates from creating rare chips

ashen cove
#

in general. the best you can do is tell the uncommon ingredient handler to only produce uncommon, and no chance at producing rare and such. idk if that'd be able to do much of anything

sonic garnet
#

If you have excess of quality component X that is consumed together with component Y and there is not enough quality Y and quality Y is no longer produced because common Y is not consumed...

ashen cove
#

void looping is the best answer there

sonic garnet
#

You can attack the problem from two sides. You can increase the supply of low quality X. Or you can decrease the supply of low quality Y. But not with a void looping, with quality upgrade looping

#

Crazy sh..t

ashen cove
#

increase the supply of low quality X? oh cuz the common Y isn't being used? sadly the supply of low quality X is unlikely to be fixed with speed modules

sonic garnet
#

It can. It reduces in advance the fraction of high quality X that is not being consumed fast enough to prevent deadlocks.

#

But it requires some very tricky logic

ashen cove
#

but that doesn't stop the deadlock, only deals with the aftermath in the case where it was on the verge of happening but not yet

sonic garnet
#

It must be at least somewhat proactive/react on a large buffer

ashen cove
#

I don't think it'd work. maybe some extra complex stuff that needs a lot of time to figure out after it's built, but eh

#

cannot recommend MenheraNervousEhehe

#

dw I do get the idea
I just don't think it'd work

sonic garnet
#

And the other balancing act is that consumers of quality Y can consume low quality Y via a scrap with quality loop, but scrapper loops have reduced priority and kick in only when actual consumers of low quality Y are oversaturated.

ashen cove
#

so, void loops for any excess?

sonic garnet
#

Semi-void

#

Doesn't void fully. Voids 90% and 10% are upgraded to the next tier.

#

For simplicity the void-upgrade loops try to upgrade to last tier (kinda wasteful)

#

But yes, it is more of a void loop, than quality loop. Even with high tier modules you void 90%

ashen cove
#

if you want to be more efficient in resources
make a recycler upgrader, and once that backs up, a proper void loop

sonic garnet
#

Yep

#

But I the crazy idea is to drop the quality of stuff that is consumed with what you void loop via speed modules.

#

So you have double action

ashen cove
#

what

sonic garnet
#

This is even crazier on Fulgora where production chain is reversed

#

I think with 2.0 improvements to train this can in theory work reasonably well with big buffers

#

Using train stop priorities to detect excess and shortages.

ashen cove
#

uh
maybe, that I can't talk about. I haven't touched 2.0 trains yet

sonic garnet
#

Same, I am theoryctafting based on FFF

#

When I try to implement there will be surprises.

ashen cove
#

yeah, go for it

#

some practical experience with that kind of stuff always comes in handy

cerulean hollow
#

Once it’s quality, it’s stuck that way

sonic garnet
#

This effectively downranks quality of products

cerulean hollow
#

…how?

ashen cove
#

consumes the mid-quality ingredients via recycler looping, which in the grand scheme of things, would reduce global quality index?
idk either

cerulean hollow
#

That’s just voiding dolphinSus

ashen cove
sonic garnet
#

I have miners that produce 8% quality ore. Low quality ore goes to foundries. Foundries are starving because quality or is not produced fast enough. By swapping in speed modules I reduce the percentage of quality ore added to the system.

ashen cove
#

foundries starving because quality ore is not consumed* fast enough?

cerulean hollow
#

If you want to mega fine tune yeah you can fool with micromanaging the quality chance of given steps/ores
Like my coal and stone have lower quality modules just cause I don’t need those materials for mall applications much (coal got boosted back cause modules go brr though)
But there’s still never a way to literally down rank an item

sonic garnet
#

Yes

#

The idea is to do it with circuits by inserting speed modules into beacons

#

@cerulean hollow nice discord name by the way

cerulean hollow
#

Speed modules in beacons is an interesting idea once you have bmds going
I feel I’d just go for the on/off route instead of anything scaling though. Once I have enough quality plate, throw enough speeds in to completely negate the quality output

sonic garnet
#

I liked using trains to balance stuff in SE, but with quality it is even crazier

cerulean hollow
#

But at the same time I’d rather just recycle loop to rank things up
I just got done making a quality extractor recycle loop trianglepupper

#

Big drills

ashen cove
#

oh. right

sonic garnet
#

Yep, my idea was that recycle loop and quality downgrade of companion ingredient can go together. And that you can use circuits and beacons

ashen cove
#

you cannot downgrade quality

sonic garnet
#

Effectively downgrade the average quality of item pool in the system 😛

#

That's why @unkempt yarrow said that the low quality parallel chain must start from the very bottom, from the mine.

ashen cove
#

quality related deadlocks come from something stopping because its own quality output cannot be consumed because another ingredient's quality output is itself blocked. Reducing overall quality is not an answer, dealing with excess is

#

to which, well
void looping, quality recycling, are your best bets

#

and yes, parallel chain must start all the way from the mine. you can't leave anything with different qualities together

unkempt yarrow
ashen cove
#

my best idea is to put no qual on miners, qual on foundries and have any no-qual excess be turned to quality

#

with priority input for what comes directly from foundries to lower deadlock possibility

#

this way you might lower quality item throughout if your no-quality items like science are being consistently produced, but there is less risk of deadlock

humble shadow
cerulean hollow
#

So that the ratios of quality inputs can be actively controlled to prevent overflows

cerulean hollow
#

If you speed mod your iron but not your copper, you now get a lower amount of quality iron assuming it’s skimmed off of normal stuff sent to science

#

Oh yeah
That’s the ratio we’re talking about, not the multi rank ratio trianglepupper

humble shadow
#

thats more complicated than having non priority unquality moded miners