Mixed quality crafting

Post your ideas and suggestions how to improve the game.

Moderator: ickputzdirwech

terrible
Burner Inserter
Burner Inserter
Posts: 5
Joined: Sat Nov 01, 2014 12:02 pm
Contact:

Mixed quality crafting

Post by terrible »

TL;DR
Add a new "Any :any-quality:" quality setting to crafting machines, which permits the mixing of ingredients of different quality in a crafting machine.
What?
Currently, crafting machines can only select a single quality level, and subsequently store and consume ingredients of only that quality.
I propose adding a new "Any :any-quality:" quality setting, which will permit machines to store and consume ingredients of any quality.
The output quality level would then be dictated by a different formula, which penalizes the use of mixed inputs.

The implementation of this would be different from the "Any" quality setting that previously existed, as now the ingredients may also be mixed on a per-item basis, rather than per-stack. For example; an iron gear could be crafted from a combination of uncommon and rare iron plates.
mixed_craft_mockup.png
mixed_craft_mockup.png (95.45 KiB) Viewed 403 times
Why?
Quality is currently very difficult to integrate throughout a factory.
The moment you introduce quality into a production step, every step afterwards will need a separate production line for every single quality you've unlocked.
As a result, the complexity (and effort needed to build it) explodes to the point where quality does not seem worth interacting with outside of end products, Fulgora and legendary malls for megabases.

By permitting the mixing of ingredient quality levels, quality can be naively introduced at any point without needing to explicitly handle the varying quality levels of the output.
However, I do believe this should come with penalties, as that would introduce a healthy trade between mixed and non-mixed setups.
Implementation Details
There's a lot of finer details, both technical and game design wise, that I've deliberately left out above.
I've tried to fill in these detail below, aiming to maintain parity with existing mechanics as closely as possible.
Mixed Quality Formula
A new formula needs to be introduced to determine the quality of the final product.
This is done by computing an average quality value of the ingredients, then using that value to roll the quality value of the craft. After that, the quality roll introduced by quality bonuses will occur as normal, with the additional upgrade chance only occurring if this latter quality roll succeeds.
For example:
To produce 1 iron gear, 1 uncommon iron plate and 1 rare iron plate is used. The machine has +5% quality from modules.
The average quality value is (1.0(uncommon) + 2.0(rare)) / 2 = 1.5. This would result in a 50/50 chance to produce an uncommon or rare gear.
After it has been chosen whether an uncommon or rare gear is being crafted, the 5% quality chance gets rolled, subsequently upgrading the gear to higher quality and rolling for the additional upgrade chance if so.

The above formula mimics the existing behavior as close as possible, but still needs a penalty added to it.
This penalty would scale off the difference between the lowest quality input and the average quality value. In the example above, this would be 0.5. This value would then be multiplied by a constant (i.e. 0.4) and substracted from the quality value of the craft. 1.5-(0.5*0.4)=1.3 This would result in a 70% chance to perform an uncommon craft, and a 30% chance to perform a rare craft.
This penalty works in such a way that a non-mixed input has zero penalty, whilst mixed input gets penalized harder the lower quality the lowest quality ingredient is.

If the crafting machine has a productivity bonus, then as the productivity bar fills up the machine will also internally accumulate an average quality value. Once the bar is filled up, this value would be equivalent to the average quality value that the productivity craft has seen. The value accumulated should already have the penalty already applied to it, removing that complexity from when the productivity craft completes.
Ingredient Weights
Recipes in Factorio are not designed in such a way that a naive average value would suffice. Some recipes, such as the blue circuit, would end up being cheaply producible in higher quality due to large amounts of low cost and complexity ingredients. The solution here is to define a weight per ingredient on recipes.
Whilst it would be ideal to manually define these weights, there are simply too many recipes and ingredients to do this reasonably by hand.
Fortunately it is not too hard to generate values as a starting point. A simple method would be to first manually assign a weight value to raw components (stone, coal, iron ore, water, oil, etc.), and then computing weight values of items derived from them by adding the weights of all ingredients together, divided by the amount of inputs, multiplied by a recipe multiplier constant.
This way, the more ingredients and the more complex a craft, the greater the weight. Those who have played Satisfactory may recognize this formula being similar to the amount of points the AWESOME Sink provides for items.

Example using a starting weight of 1.0 for iron ore, copper ore and coal, 0.25 for oil and a recipe multiplier constant of 1.5:
  • 1 iron ore 1.0 -> 1 iron plate 1.5
  • 1 copper ore 1.0 -> 1 copper plate 1.5 -> 2 copper cables, 1.5/2*1.5 = 1.125 each
  • 3 copper cables, 1.125 each + 1 iron plate 1.5 = green circuit (3*1.125 + 1*1.5)*1.5 = 7.3125
  • 100 crude oil, 0.25 each -> 45 petroleum, 100*0.25/45*1.5 = ~0.833 each
  • 1 coal 1.0 + 20 petroleum, ~0.833 each = 2 plastic, (1*1.0 + 20*0.833)/2*1.5 = ~13.25 each
  • 4 copper cables, 1.125 each + 2 green circuits, 7.3125 each + 2 plastic, ~13.25 each) = red circuit (4*1.125 + 2*7.3125 + 2*13.25)*1.5 = ~68.43
Although I am computing the weights of fluids for the purpose of computing other weights, they are not used in the actual quality formula. Thus the blue circuit recipe weights would be:
  • Total weight: 2*68.43 + 20*7.3125 = 283.11
  • Red circuit: ~24.1% each, ~48.3% total
  • Green circuit: ~2.58% each, ~51.7% total
Kyralessa
Filter Inserter
Filter Inserter
Posts: 876
Joined: Thu Sep 29, 2016 5:58 pm
Contact:

Re: Mixed quality crafting

Post by Kyralessa »

100% guarantee...

As soon as they add this in the base game, there are going to be a hundred posts all saying:

"This assembly machine ate my legendary XYZ piece! How could you awful devs let this happen!?"
wobbycarly
Filter Inserter
Filter Inserter
Posts: 306
Joined: Tue Jan 29, 2019 4:00 am
Contact:

Re: Mixed quality crafting

Post by wobbycarly »

As long as the default recipe is a specific quality level, and the player had to make the decision to allow "any" quality, this would minimise player confusion. I don't mind the suggestion, other than it does trivialise the logistics of managing multiple quality levels, which I think the devs want to avoid (avoid the trivialisation, that is)
Erfar
Long Handed Inserter
Long Handed Inserter
Posts: 85
Joined: Tue May 21, 2024 2:34 am
Contact:

Re: Mixed quality crafting

Post by Erfar »

viewtopic.php?t=134154
I believe this idea would be much simplier for realisation
FasterJump
Filter Inserter
Filter Inserter
Posts: 307
Joined: Sat Jul 09, 2016 11:43 am
Contact:

Re: Mixed quality crafting

Post by FasterJump »

The issue with this approach is handling ingredients in 5 different stacks, each. Also, deciding which ones to use for the craft.

But I agree, it would have been easier to use quality.
Panzerknacker
Filter Inserter
Filter Inserter
Posts: 389
Joined: Mon Aug 22, 2022 5:27 am
Contact:

Re: Mixed quality crafting

Post by Panzerknacker »

I'm also for allowing to mix input quality and letting output depend on quality of inputs.
aka13
Filter Inserter
Filter Inserter
Posts: 924
Joined: Sun Sep 29, 2013 1:18 pm
Contact:

Re: Mixed quality crafting

Post by aka13 »

I'd like that as well.
Pony/Furfag avatar? Opinion discarded.
terrible
Burner Inserter
Burner Inserter
Posts: 5
Joined: Sat Nov 01, 2014 12:02 pm
Contact:

Re: Mixed quality crafting

Post by terrible »

FasterJump wrote: Tue Jul 07, 2026 10:22 am deciding which ones to use for the craft.
There's different strategies that a crafting machine could use (i.e. lowest first, highest first, non-mixed first), but I think the most intuitive here would be to use the higher quality ingredients first. You typically want a machine to craft the highest quality product, and if you want to prioritize non-mixed crafts you can have your input pass some specific-quality machines first.

wobbycarly wrote: Tue Jul 07, 2026 7:48 am it does trivialise the logistics of managing multiple quality levels, which I think the devs want to avoid (avoid the trivialisation, that is)
I agree, but I also question how bad this is. The popular uses of quality that I named in the OP all have in common that they remove multiple quality level logistics from the equation.
  • End products don't go through logistics, except for recycling and immediately re-crafting until the desired quality is reached.
  • Fulgora produces most items directly from scrap recycling, which effectively accepts mixed quality input due to internally functioning as a furnace. Afterwards, bots are used to trivially sort and move the result, except for trash that can be dumped mixed into the same recycler trashcan.
  • Legendary mega-base malls typically use strategies like LDS Shuffle, Space Casino and upcycling to convert base materials to legendary first, rather than producing multiple different quality levels. On top of that, they usually utilize bots to sort and move these items.
I believe the complicated logistics of multiple quality levels are only worth engaging with for novelty, and not because it creates a meaningful tradeoff to other strategies. Of course I can only speak for myself; I don't know if there are a lot of players that build this kind of setup. But if the usage of it is relegated to just a novelty, lowering the barrier to entry may be the thing that makes players try out the mechanic and integrate it throughout their base.

This is also why I think a penalty is in order for mixed crafts; by making them strictly inferior to non-mixed, players would be rewarded for reworking parts of their bases to craft strictly non-mixed components. For example, a naively mixed base with the proposed mechanic would see better quality output by filtering some uncommon iron and copper plates for a non-mixed green circuit production line. This separate production line would not face the penalty of being mixed with common ingredients, and as such would produce a higher quality on average. This would then have a knock-on effect throughout the rest of the factory, producing a higher quality on average everywhere after.

TL;DR: I think it's better if players can start from a naively mixed setup, and see improvements by reworking parts of it into specialized non-mixed lines, than require them to build specialized non-mixed lines all the way from the first quality step to the final output before they see any improvements.
nzer
Long Handed Inserter
Long Handed Inserter
Posts: 76
Joined: Sat Jun 24, 2023 11:30 pm
Contact:

Re: Mixed quality crafting

Post by nzer »

I believe the reasoning given for why this wasn't done is that it allows a productivity exploit in which you can raise the productivity bar with low quality crafts then trigger the bonus item with a higher quality craft.

I'm skeptical this is actually a problem though. It seems like a neat puzzle to solve to increase your quality output.
Post Reply

Return to “Ideas and Suggestions”