Ability to craft lower quality with higher quality

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

User avatar
MeduSalem
Smart Inserter
Smart Inserter
Posts: 1685
Joined: Sun Jun 08, 2014 8:13 pm
Contact:

Re: Ability to craft lower quality with higher quality

Post by MeduSalem »

Zijkhal wrote:
Wed Oct 30, 2024 5:01 pm
AFAIK the big performance draw in Factorio is related to memory, not calculations. As such, a few more calculations could potentially have negligible performance impact, because the bottleneck lies in the cache and memory

Honestly, I don't wanna find excuses why not to do this, because it *can* be done relatively performance friendly, I think.
May be so, I am not the final judge on that. If at all the devs can say what is best. I can only make some assumptions from here, so don't take my word for it. ^^


Anyway, I would also totally settle on a compromise where you can craft an item with partial higher quality ingredients, with the standard resulting item quality being that of the lowest quality ingredient. That would at least allow for the stuff to be used up without necessarily having to throw it back into a recycler. That would already be an improvement I think. ^^


And I would definitely not have anything against calculating average quality probability on a per ingredient quality basis, if it is not too performance intensive.


At least it would make it more straightforward. Like direction-insertion between assemblers; then you don't necessarily need a filtered inserter to take out quality items that don't match the target machine's recipe because then you know the target can deal with it should the necessity arise.

User avatar
Ranakastrasz
Smart Inserter
Smart Inserter
Posts: 2167
Joined: Thu Jun 12, 2014 3:05 am
Contact:

Re: Ability to craft lower quality with higher quality

Post by Ranakastrasz »

The calculation doesn't seem like it would be that bad, but eh maybe. I mean, you get the recipie level, say 1.5, and the flip a coin, and then run it like its 1 or 2 depending. Not likely to be particularly expensive but I dunno

As for cheesing the system, you will always get better results by using all higher quality stuff. There are likely some abusable recipes, but they will still never be as reliable.
My Mods:
Modular Armor Revamp - V16
Large Chests - V16
Agent Orange - V16
Flare - V16
Easy Refineries - V16

AssaultRaven
Long Handed Inserter
Long Handed Inserter
Posts: 55
Joined: Sun Jun 08, 2014 4:00 am
Contact:

Re: Ability to craft lower quality with higher quality

Post by AssaultRaven »

Rather than allowing higher quality items as inputs, I think it would make more sense to be able to down-bin excess items of a given quality by turning them into a lower quality. This is directly analogous to how excess high-quality items are handled in real-world manufacturing, which is to simply relabel them as a worse version of themselves. The computer you play Factorio on almost certainly has several down-binned components, for example.

Personally, I've just started to approach the quality system, but I've opted to do it with a bottom-up approach, rather than the top-down approach used when the system was introduced by the devs. This transforms the quality mechanic from a gacha system to a supply chain Quality Assurance project. But, because Quality, like Productivity, compounds multiplicatively across production steps, even common Quality 1's make it easy to get, for example, 6.84% of your total steel production to be uncommon or better, just by putting Quality 1's into miners and smelters, and implementing quality sorting and diversion at every level.

Any factory will smelt a lot of steel, and 6.84% of a lot is still a lot. If you don't already have something to consume it, it will immediately clog the smelter line. Even when you get other lines up, not every ore is consumed at exactly equal rates, so an imbalance will eventually occur.

In this situation, down-binning Uncommon steel into Common steel feels like common sense. It relieves the unconsumed backpressure while still letting me collect Rares, which are still infrequent enough to put in chests while I work on expanding the quality process. And unlike the painful recycling penalty(1), it lets you convert items 1-to-1.

This avoids any issues with a recipe taking multiple qualities, and avoids being able to get free easy quality just by putting higher quality items onto the bus and letting it percolate up the chain, which removes any challenge or novel design.

I think the best what to implement this would be as a belt-rider, like circuits. It doesn't even interrupt the flow or need inserters, just down-grades anything that passes under it to a specified quality. So you could set a Rare down-binner, that turns anything higher than Rare into Rares and leaves anything lower alone. This makes sense because you're not actually changing anything about the item, just choosing to lose track of its original quality and tossing it into a lower quality bin. Or rather, belt.

(1) All the more painful given that a quality-based line will not have productivity modules installed in the slots that quality modules are taking up, so it's not as if avoiding the Recycler saves you from having to pay a large resource cost for quality items.

Edit: After making this post I found this suggestion thread. My proposal is more in line with that concept.

Edit: I've implemented a proof-of-concept mod that implements down-binning with chests and scripting.
Last edited by AssaultRaven on Fri Nov 01, 2024 5:18 pm, edited 1 time in total.

User avatar
Ranakastrasz
Smart Inserter
Smart Inserter
Posts: 2167
Joined: Thu Jun 12, 2014 3:05 am
Contact:

Re: Ability to craft lower quality with higher quality

Post by Ranakastrasz »

AssaultRaven wrote:
Thu Oct 31, 2024 3:30 pm
-- Snip --
Actually, framed like that, I think that is a far better solution. Admittedly, it would not work for direct insertion still, but I can easily visualize a way to handle it, filter out what I need, accept the excess being downbinned.

I now have no choice but to at least google search the concept, because I have never heard of it before. I guess I'm one of the lucky 10,000
My Mods:
Modular Armor Revamp - V16
Large Chests - V16
Agent Orange - V16
Flare - V16
Easy Refineries - V16

dragon_gawain
Long Handed Inserter
Long Handed Inserter
Posts: 51
Joined: Sun Dec 19, 2021 11:37 pm
Contact:

Re: Ability to craft lower quality with higher quality

Post by dragon_gawain »

Here to raise my voice in agreement of this!

I've only just gotten to Fulgora in my playthrough, so I haven't played around with the recycler much (though I do see it's potential to fix some of the issues I have with the quality system..)

I was thinking of something along the lines of a belt condition that would wipe any quality away (i.e. item of any quality goes on the belt -> item leaves the belt as common).

Without the recycler, my solution is 'use active provider chests and have a silly amount of storage/buffer chests to deal with the excess quality, and hopefully I'll be able to manually do stuff with it latter' which has lots of issues (chiefly the manual intervention is making me frustrated with the quality system, but I'll withhold my final opinion until I finish the game and get a chance to play around with everything).

But be it a quality destroyer (that is not inserter-speed capped) or simply the ability to use higher quality items together with lower quality items in the same craft, I agree that something should be done.

Shalashalska
Inserter
Inserter
Posts: 21
Joined: Sun Feb 24, 2013 5:33 am
Contact:

Add option for mixed Quality in Assemblers

Post by Shalashalska »

TL;DR
I would like there to be an "Any" quality option in an assembling machine. This would take inputs of any quality, and produce an output of the average quality of the inputs.

What?
Currently when setting up an assembler, you can only choose a specific quality for the ingredients:
10-31-2024, 22-07-46.png
10-31-2024, 22-07-46.png (252.63 KiB) Viewed 700 times
This makes quality based factories very annoying to work around, where you need to use a lot of filters and many machines to prevent it from jamming. Having the specific qualities is useful if you want to make sure you are getting a specific quality, so I do not want this to be removed. What I want is a new option where the ingredient quality can be "Any", (Or even <, >, etc) similar to how filters work.
10-31-2024, 22-08-10.png
10-31-2024, 22-08-10.png (216.16 KiB) Viewed 699 times
It would take the average (possibly weighted a bit negatively) quality of the ingredients, with some random variation with a positive bonus for quality modules to determine the output quality. I do not believe this would be too computationally expensive, as spoilable items already use the average spoiling for their output which is quite similar.

The most difficult part would likely be handling recipes that require more than one of a given item. The machines could either lock the slot to match the quality, like a furnace does with iron plates -> steel or bricks, or gain additional input slots for each quality seperately.
Why?
Currently quality is very all-or-nothing, you either do not use it, design your factory very heavily around it, or build recycler loops that are very wasteful. I think this would add another option to more smoothly integrate quality into the factory, though less efficiently than specialized designs.

Necronium
Long Handed Inserter
Long Handed Inserter
Posts: 53
Joined: Tue Oct 19, 2021 8:35 pm
Contact:

Re: Add option for mixed Quality in Assemblers

Post by Necronium »

we already had any quality recipe before release aand it was removed due to exploits that it brought. Devs even stated that system like that with weight for quality isnt possible with current implementation

deer_buster
Fast Inserter
Fast Inserter
Posts: 113
Joined: Wed Aug 31, 2016 3:35 am
Contact:

Re: Add option for mixed Quality in Assemblers

Post by deer_buster »

Necronium wrote:
Fri Nov 01, 2024 5:27 am
we already had any quality recipe before release aand it was removed due to exploits that it brought. Devs even stated that system like that with weight for quality isnt possible with current implementation
Not sure what the issue would be if the lowest item's quality is what affected the final product. 4 legendary iron plates and 1 common iron plate? 1 common steel plate (plan better next time). This type of automatic downgrading quality of the inputs to the lowest quality item of all the inputs should prevent any exploits.

User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 2861
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: Add option for mixed Quality in Assemblers

Post by boskid »

1/ productivity-quality exploit. During development there was an option for any quality recipe where a base rolled quality was lowest quality of provided ingredients. There was however exploit when using productivity modules: a machine could be fed normal quality ingredients that would "charge" the bonus crafting progress and when bonus progress was close to finishing a higher quality ingredients were given causing the bonus productivity to give an additional set of products of the higher quality.

2/ weighted quality. If a blue chip would be crafted, which ingredient would have higher weight? Greed chips since there are 20 of them needed or red chips since they are more complex? Also what would it mean that quality is 60% normal 40% uncommon?

deer_buster
Fast Inserter
Fast Inserter
Posts: 113
Joined: Wed Aug 31, 2016 3:35 am
Contact:

Re: Add option for mixed Quality in Assemblers

Post by deer_buster »

it's an unnecessary, and un-fun, production killer. I'd rather an edge case exploit than an un-fun mechanic.

Zijkhal
Inserter
Inserter
Posts: 25
Joined: Thu Sep 07, 2017 4:32 pm
Contact:

Re: Add option for mixed Quality in Assemblers

Post by Zijkhal »

boskid wrote:
Fri Nov 01, 2024 6:33 am
1/ productivity-quality exploit. During development there was an option for any quality recipe where a base rolled quality was lowest quality of provided ingredients. There was however exploit when using productivity modules: a machine could be fed normal quality ingredients that would "charge" the bonus crafting progress and when bonus progress was close to finishing a higher quality ingredients were given causing the bonus productivity to give an additional set of products of the higher quality.
If the prod bonus also kept track of the ingredients used to "boost" it, that could be fixed. It could be as simple as just keeping track of the lowest quality input that was being used up whenever a crafting cycle started up during the boosting phase, and when the prod bonus starts after finishing a cycle.
boskid wrote:
Fri Nov 01, 2024 6:33 am
2/ weighted quality. If a blue chip would be crafted, which ingredient would have higher weight? Greed chips since there are 20 of them needed or red chips since they are more complex?
As far as I see, there are two main ways to approach it: either wieght the ingredients according to raw materials (and possibly total time) required to make them, or by just input count. The arguement for the former would be that more complex materials contribute more to the output, while the arguement for the latter would be that more complex ingredients have had more steps of production to achieve a higher quality, therefore the complexity of the ingredients is already factored in there, and also that it is much easier to grasp for players.

Tbh I don't think that it matters a lot which approach for weighting is used, because both have merits (and also because I think that locking the inputs to certain quality levels as it currently is done is not very user-friendly)
boskid wrote:
Fri Nov 01, 2024 6:33 am
Also what would it mean that quality is 60% normal 40% uncommon?
I'd imagine it to mean that there is a 60% chance to output normal, and a 40% chance to output uncommon quality. Am I not aware of some hidden complexity here?

Keeping track of the prod bonus quality chances would be a bit more complicated in this case than if the output in mixed quality was the lowest quality input, but still quote doable, as the only thing that needs to be kept track of is the average quality so far, which would be calculated by taking the average quality of the crafting cycle during the filling of the prod bonus bar, and weighing each cycle by the percentage of the prod bonus bar it was responsible for filling.

As an example, if common quality is 1, and legendary is 5, 60% normal and 40% uncommon would be an average quality of 1.4
Now, if 20% of the prod bonus bar was filled with that 1.4 average quality, it would keep track of that 1.4 average as 1.4*0.2 = 0.28. Next crafting cycle lets say the average ingredients quality is 1.2, and the crafting cycle filled another 25% of the prod bonus bar (so a total of 45% so far). The new average quality would be 0.28 + 1.2*0.25 = 0.28 + 0.3 = 0.58

When the prod bar is filled, it would have a neat average quality to work off of.

Although, I can guarantee that I am not aware of many of the complexities that would crop up when implementing this stuff. One thing that comes to mind is that this could negatively affect the memory footprint of assemblers.
boskid wrote:
Fri Nov 01, 2024 6:33 am
Greed chips
Best typo ever :D

Zijkhal
Inserter
Inserter
Posts: 25
Joined: Thu Sep 07, 2017 4:32 pm
Contact:

Re: Add option for mixed Quality in Assemblers

Post by Zijkhal »

The more I think about this, the more I think that if mixed quality inputs are allowed, then the assemblers must be able to make multiple quality ingredients at the same time, otherwise factories would bottleneck over time:

Imagine a blue chip line, fed by mostly common green chips, but occasionally some uncommons also make their way there. If the input slot locks to the first input quality until it empties, then, over time, the uncommon green chips would accumulate at the end of the belt. At that point, either the assemblers at the end did not consume its input supply exactly, thus deadlocking, unable to take the uncommon greens, or it did consume its input exactly, enabling it to take some uncommons, but probably not enough to start a new cycle, thus deaslocking the assemblers. And even if it did start a new cycle, sooner or later it will deadlock, guaranteed. Next one to deadlock is the assembler before that, then the one before that, and so on, until the whole line is deadlocked.

It's pretty much what happens with stone deadlocking furnace rows in the Danger Ores mod if u feed a furnace line mixed stone and ores.

And deadlocking by default behaviour would be even less player-friendly than what we have now.

So, either allow the assemblers to have different qualities of the same input item, or make the mixed quality inputs a non-default behaviour.

User avatar
Stargateur
Fast Inserter
Fast Inserter
Posts: 148
Joined: Sat Oct 05, 2019 6:17 am
Contact:

Re: Add option for mixed Quality in Assemblers

Post by Stargateur »

I'm this close to say quality ingredient don't make sense.
boskid wrote:
Fri Nov 01, 2024 6:33 am
1/ productivity-quality exploit. During development there was an option for any quality recipe where a base rolled quality was lowest quality of provided ingredients. There was however exploit when using productivity modules: a machine could be fed normal quality ingredients that would "charge" the bonus crafting progress and when bonus progress was close to finishing a higher quality ingredients were given causing the bonus productivity to give an additional set of products of the higher quality.
This was fixed right ? The progress reset when you remove ingredient now.

Sunrosa
Burner Inserter
Burner Inserter
Posts: 6
Joined: Tue Jul 18, 2023 11:44 pm
Contact:

Re: Ability to craft lower quality with higher quality

Post by Sunrosa »

This would definitely be much more dynamic at its core, making it feel like the DLC added a brand new system, a new aspect of recipes themselves, instead of what's currently basically just a set of auto-generated recipes. I hate saying this, but the current system is disappointing. The suggestion regarding mixed quality ingredients having better probability for better quality ingredients would put such life into the quality system. The propagation of probability from low-level ingredients mixed along a belt would be stunning to observe as it unfolds down your factory.

Necronium
Long Handed Inserter
Long Handed Inserter
Posts: 53
Joined: Tue Oct 19, 2021 8:35 pm
Contact:

Re: Add option for mixed Quality in Assemblers

Post by Necronium »

Dont misunderstood me. I would love to have any quality recipe too. I would be even fine if recipe like that wouldnt have productivity bonus to remove exploit. But it is what it is.

nzer
Inserter
Inserter
Posts: 29
Joined: Sat Jun 24, 2023 11:30 pm
Contact:

Re: Add option for mixed Quality in Assemblers

Post by nzer »

Crafting something with the average quality of the inputs isn't going to happen, because it's exploitable. But there could be an option for lower quality recipes to accept higher quality inputs. That wouldn't be exploitable.

VertebreakHER
Burner Inserter
Burner Inserter
Posts: 5
Joined: Sat Oct 05, 2024 12:08 am
Contact:

Re: Ability to craft lower quality with higher quality

Post by VertebreakHER »

AssaultRaven wrote:
Thu Oct 31, 2024 3:30 pm
Rather than allowing higher quality items as inputs, I think it would make more sense to be able to down-bin excess items of a given quality by turning them into a lower quality. This is directly analogous to how excess high-quality items are handled in real-world manufacturing, which is to simply relabel them as a worse version of themselves. The computer you play Factorio on almost certainly has several down-binned components, for example.
The big issue with down-binning as a solution is that depending on implementation, it would effectively still make inserting quality modules in an existing production chain nigh-worthless. If the solution is to explicitly wipe quality from an item(as opposed to buffering it in an assembler to be potentially used later) then the quality module will simply wind up wasting all its possible benefits while still inflicting downsides. At which point you should obviously use productivity or speed modules instead.

This is in practice worse then the current situation, because it will be way harder for players unfamiliar with the quality system to learn when they're using it wrong. Quality that mysteriously disappears is much harder to spot then quality that clogs up your production line.

It would change very little about where the best places to use quality modules are. It could be less annoying, but the annoying and inconvenient things about quality right now are still a result of using it in the wrong places.

I think if something has to change, mixed quality recipes with chance to keep or lose quality levels is most viable and least prone to issue.

AssaultRaven
Long Handed Inserter
Long Handed Inserter
Posts: 55
Joined: Sun Jun 08, 2014 4:00 am
Contact:

Re: Ability to craft lower quality with higher quality

Post by AssaultRaven »

VertebreakHER wrote:
Fri Nov 01, 2024 7:15 pm
This is in practice worse then the current situation, because it will be way harder for players unfamiliar with the quality system to learn when they're using it wrong. Quality that mysteriously disappears is much harder to spot then quality that clogs up your production line.
To clarify, I'm thinking of explicit down-binning, that the player would have to deliberately setup, not automatic. So, there wouldn't be mysteriously disappearing quality.

newllama
Inserter
Inserter
Posts: 22
Joined: Thu Jul 07, 2016 1:00 am
Contact:

Re: Ability to craft lower quality with higher quality

Post by newllama »

+1

We absolutely need a better way to manage these items. I think the quality mechanic is really cool and with a few minor changes it would be great.

I'm holding off on researching Epic and Legendary right now because it's going to be like throwing a bunch of sand into the engine of my factory. All of a sudden all my assemblers will start outputting different items? Yeah I'll wait on that one.

Here's some ideas:

Version 2.0.x:
- Upgrade planner to modify recipes in assemblers + filters in splitters & inserters
- Assemblers can use higher quality items for lower quality recipes

Version 2.1.x:
- Inserters can pick up mixed stacks of different quality items
- Different qualities can stack together in chests & player inventory
Note: Fixes "wait for full cargo" train condition. Basically once you have quality you need to use the inactivity condition or an R/S combinator latch to prevent partial stacks.

zebediah49
Fast Inserter
Fast Inserter
Posts: 122
Joined: Fri Jun 17, 2016 8:17 pm
Contact:

Re: Ability to craft lower quality with higher quality

Post by zebediah49 »

I was just thinking that down-binning like that shouldn't be too hard to mod in to see how it plays.

It turns out that AssaultRaven just made exactly that: https://mods.factorio.com/mod/quality-down-binning/

I'll be testing it out; this should allow quality to be used in more places while still allowing failsafe logic to avoid clogged high quality lines backing up the normal production.

Post Reply

Return to “Ideas and Suggestions”