In other languages: Français 日本語

Quality: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(→‎Optimal module usage: Fix typo in the example transition matrix (0.5625 -> 0.05625 to get uncommon when recycling normal))
(→‎Creating high-quality items: Fixed header level of "Derivation" to be a child of the Optimal Module Usage section.)
 
(2 intermediate revisions by 2 users not shown)
Line 533: Line 533:


==== Optimal module usage ====
==== Optimal module usage ====
It is optimal to improve quality on the lead-up to the target output item due to the recycler only giving back 25% of the input items, except for cases where the chosen item has a productivity research available, in which case looping through a recycler is optimal and has no added material cost (ignoring fluids).
It is optimal to improve quality on the lead-up to the target output item due to the recycler only giving back 25% of the input items, except for cases where the chosen item has a productivity research available, in which case looping through a recycler is optimal and has no added material cost (ignoring fluids).


Line 542: Line 541:
<div style="display:inline-block; vertical-align:top; margin-right:20px;">
<div style="display:inline-block; vertical-align:top; margin-right:20px;">
{| class="wikitable" style="border: 2px solid; text-align:center;"
{| class="wikitable" style="border: 2px solid; text-align:center;"
|-
! Max Modules !! Base Prod. !! No. of {{Icon|productivity_module_3|[[File:quality_rare.png|Rare|16px]]}} !! No. of {{Icon|quality_module_3|[[File:quality_rare.png|Rare|16px]]}} !! Crafts
!Max Modules!!Base Prod.!!No. of {{Icon|productivity_module_3|[[File:quality_rare.png|Rare|16px]]}}!!No. of {{Icon|quality_module_3|[[File:quality_rare.png|Rare|16px]]}}!!Crafts
|-
|-
| 2 || 0% || 0 || 2 || 891
| 2 || 0% || 0 || 2 || 891
Line 556: Line 554:
|-
|-
| 8 || 0% || 4 || 4 || 70
| 8 || 0% || 4 || 4 || 70
|}
|}</div>
</div>
<div style="display:inline-block; vertical-align:top; margin-right:20px;">
<div style="display:inline-block; vertical-align:top; margin-right:20px;">
{| class="wikitable" style="border: 2px solid; text-align:center;"
{| class="wikitable" style="border: 2px solid; text-align:center;"
|-
! Max Modules !! Base Prod. !! No. of {{Icon|productivity_module_3|[[File:quality_epic.png|Epic|16px]]}} !! No. of {{Icon|quality_module_3|[[File:quality_epic.png|Epic|16px]]}} !! Crafts
!Max Modules!!Base Prod.!!No. of {{Icon|productivity_module_3|[[File:quality_epic.png|Epic|16px]]}}!!No. of {{Icon|quality_module_3|[[File:quality_epic.png|Epic|16px]]}}!!Crafts
|-
|-
| 2 || 0% || 0 || 2 || 608
| 2 || 0% || 0 || 2 || 608
Line 574: Line 570:
|-
|-
| 8 || 0% || 5 || 3 || 34
| 8 || 0% || 5 || 3 || 34
|}
|}</div>
</div>
<div style="display:inline-block; vertical-align:top; margin-right:20px;">
<div style="display:inline-block; vertical-align:top; margin-right:20px;">
{| class="wikitable" style="border: 2px solid; text-align:center;"
{| class="wikitable" style="border: 2px solid; text-align:center;"
|-
! Max Modules !! Base Prod. !! No. of {{Icon|productivity_module_3|[[File:quality_legendary.png|Legendary|16px]]}} !! No. of {{Icon|quality_module_3|[[File:quality_legendary.png|Legendary|16px]]}} !! Crafts
!Max Modules!!Base Prod.!!No. of {{Icon|productivity_module_3|[[File:quality_legendary.png|Legendary|16px]]}}!!No. of {{Icon|quality_module_3|[[File:quality_legendary.png|Legendary|16px]]}}!!Crafts
|-
|-
| 2 || 0% || 0 || 2 || 309
| 2 || 0% || 0 || 2 || 309
Line 592: Line 586:
|-
|-
| 8 || 0% || 8 || 0 || 7
| 8 || 0% || 8 || 0 || 7
|}
|}</div>
</div><div style="white-space: nowrap;">For example, suppose the goal is to produce{{Icon|Processing_unit|[[File:quality_legendary.png|Legendary|16px]]}}and legendary T3 modules are available. If each electromagnetic plant producing epic quality or below has 1{{Icon|quality_module_3|[[File:quality_legendary.png|Legendary|16px]]}}and 4{{Icon|productivity_module_3|[[File:quality_legendary.png|Legendary|16px]]}}, and the electromagnetic plant with the legendary recipe has 5{{Icon|productivity_module_3|[[File:quality_legendary.png|Legendary|16px]]}}, then on average an input of 280{{Icon|Electronic_circuit|[[File:quality_normal.png|Normal|16px]]}}and 28{{Icon|Advanced_circuit|[[File:quality_normal.png|Normal|16px]]}}is expected to produce 1{{Icon|Processing_unit|[[File:quality_legendary.png|Legendary|16px]]}}.</div>
For example, suppose legendary T3 modules are available and the goal is to produce legendary [[File:Processing_unit.png|link=Processing unit|20px]]. If each electromagnetic plant producing epic quality or below has 4 legendary [[File:productivity_module_3.png|link=Productivity module 3|20px]] and 1 legendary [[File:quality_module_3.png|link=Quality module 3|20px]], and the electromagnetic plant with the legendary recipe has 5 legendary [[File:productivity_module_3.png|link=Productivity module 3|20px]], then on average an input of 280 normal [[File:Electronic_circuit.png|link=Electronic circuit|20px]] and 28 normal [[File:Advanced_circuit.png|link=Advanced circuit|20px]] is expected to produce 1 legendary [[File:Processing_unit.png|link=Processing unit|20px]].


;Derivation
===== Derivation =====
 
Derivation of the tables above was as follows: Starting with 1 set of common ingredients, with an assembly quality chance of Q and total productivity bonus of P, the statistical expected number of product is as follows:
Derivation of the tables above was as follows:
Starting with 1 set of common ingredients, with an assembly quality chance of Q and total productivity bonus of P, the statistical expected number of product is as follows:
{| class="wikitable" style="text-align:center; vertical-align:middle;"
{| class="wikitable" style="text-align:center; vertical-align:middle;"
|+
|+
! [[File:quality_normal.png|Normal|20px]] !! [[File:quality_uncommon.png|Uncommon|20px]] !! [[File:quality_rare.png|Rare|20px]] !! [[File:quality_epic.png|Epic|20px]] !! [[File:quality_legendary.png|Legendary|20px]]
! [[File:quality_normal.png|Normal|20px]] !! [[File:quality_uncommon.png|Uncommon|20px]] !! [[File:quality_rare.png|Rare|20px]] !! [[File:quality_epic.png|Epic|20px]] !! [[File:quality_legendary.png|Legendary|20px]]
|-
|-
| (1 + P) * (1 - Q) || (1 + P) * (Q * (10<sup>0</sup> - 10<sup>-1</sup>))|| (1 + P) * (Q * (10<sup>-1</sup> - 10<sup>-2</sup>)) || (1 + P) * (Q * (10<sup>-2</sup> - 10<sup>-3</sup>)) || (1 + P) * (Q * 10<sup>-3</sup>)
| (1 + P) * (1 - Q) || (1 + P) * (Q * (10<sup>0</sup> - 10<sup>-1</sup>))|| (1 + P) * (Q * (10<sup>-1</sup> - 10<sup>-2</sup>)) || (1 + P) * (Q * (10<sup>-2</sup> - 10<sup>-3</sup>)) || (1 + P) * (Q * 10<sup>-3</sup>)
|-
|-
| (1 + P) * (1 - Q) || (1 + P) * Q * 9/10|| (1 + P) * Q * 9/100 || (1 + P) * Q * 9/1000 || (1 + P) * Q * 1/1000
| (1 + P) * (1 - Q) || (1 + P) * Q * 9/10 || (1 + P) * Q * 9/100 || (1 + P) * Q * 9/1000 || (1 + P) * Q * 1/1000
|}
|}


Line 611: Line 603:


{| class="wikitable" style="text-align:center; vertical-align:middle;"
{| class="wikitable" style="text-align:center; vertical-align:middle;"
|+
! [[File:quality_normal.png|Normal|20px]] !! [[File:quality_uncommon.png|Uncommon|20px]] !! [[File:quality_rare.png|Rare|20px]] !! [[File:quality_epic.png|Epic|20px]] !! [[File:quality_legendary.png|Legendary|20px]]
! [[File:quality_normal.png|Normal|20px]] !! [[File:quality_uncommon.png|Uncommon|20px]] !! [[File:quality_rare.png|Rare|20px]] !! [[File:quality_epic.png|Epic|20px]] !! [[File:quality_legendary.png|Legendary|20px]]
|-
|-
| (1 + -0.75) * (1-Q) || (1 + -0.75) * (Q * (10<sup>0</sup> - 10<sup>-1</sup>))|| (1 + -0.75) * (Q * (10<sup>-1</sup> - 10<sup>-2</sup>)) || (1 + -0.75) * (Q * (10<sup>-2</sup> - 10<sup>-3</sup>)) || (1 + -0.75) * (Q * 10<sup>-3</sup>)
| (1 + -0.75) * (1-Q) || (1 + -0.75) * (Q * (10<sup>0</sup> - 10<sup>-1</sup>)) || (1 + -0.75) * (Q * (10<sup>-1</sup> - 10<sup>-2</sup>)) || (1 + -0.75) * (Q * (10<sup>-2</sup> - 10<sup>-3</sup>)) || (1 + -0.75) * (Q * 10<sup>-3</sup>)
|-
|-
| 0.25 * (1-Q) || 0.25 * Q * 9/10|| 0.25 * Q * 9/100 || 0.25 * Q * 9/1000 || 0.25 * Q * 1/1000
| 0.25 * (1-Q) || 0.25 * Q * 9/10|| 0.25 * Q * 9/100 || 0.25 * Q * 9/1000 || 0.25 * Q * 1/1000
|}
|}


For example, recycling an uncommon ingredient with a Q of 25%:
For example, recycling an uncommon ingredient with a Q of 25%:
{| class="wikitable" style="text-align:center; vertical-align:middle;"
{| class="wikitable" style="text-align:center; vertical-align:middle;"
|+
! {{Diagonal split header|Input|Output}} !! [[File:quality_normal.png|Normal|20px]] !! [[File:quality_uncommon.png|Uncommon|20px]] !! [[File:quality_rare.png|Rare|20px]] !! [[File:quality_epic.png|Epic|20px]] !! [[File:quality_legendary.png|Legendary|20px]]
!{{Diagonal split header|Input|Output}} !! [[File:quality_normal.png|Normal|20px]] !! [[File:quality_uncommon.png|Uncommon|20px]] !! [[File:quality_rare.png|Rare|20px]] !! [[File:quality_epic.png|Epic|20px]] !! [[File:quality_legendary.png|Legendary|20px]]
|-
|-
|style="background:#424242"| [[File:quality_uncommon.png|Uncommon|16px]] || - || 0.1875 || 0.05625 || 0.005625 || 0.000625
| style="background:#424242" | [[File:quality_uncommon.png|Uncommon|16px]] || - || 0.1875 || 0.05625 || 0.005625 || 0.000625
|}
|}


Line 630: Line 620:


{| class="wikitable" style="border:2px solid; text-align:center;"
{| class="wikitable" style="border:2px solid; text-align:center;"
! !!style="border-left:2px solid"| I<sub>[[File:quality_normal.png|Normal|10px]]</sub> !! I<sub>[[File:quality_uncommon.png|Uncommon|10px]]</sub> !! I<sub>[[File:quality_rare.png|Rare|10px]]</sub> !! I<sub>[[File:quality_epic.png|Epic|10px]]</sub> !! I<sub>[[File:quality_legendary.png|Legendary|10px]]</sub>
! !! style="border-left:2px solid" | I<sub>[[File:quality_normal.png|Normal|10px]]</sub> !! I<sub>[[File:quality_uncommon.png|Uncommon|10px]]</sub> !! I<sub>[[File:quality_rare.png|Rare|10px]]</sub> !! I<sub>[[File:quality_epic.png|Epic|10px]]</sub> !! I<sub>[[File:quality_legendary.png|Legendary|10px]]</sub>
!style="border-left:2px solid"| P<sub>[[File:quality_normal.png|Normal|10px]]</sub> !! P<sub>[[File:quality_uncommon.png|Uncommon|10px]]</sub> !! P<sub>[[File:quality_rare.png|Rare|10px]]</sub> !! P<sub>[[File:quality_epic.png|Epic|10px]]</sub> !! P<sub>[[File:quality_legendary.png|Legendary|10px]]</sub>
! style="border-left:2px solid" | P<sub>[[File:quality_normal.png|Normal|10px]]</sub> !! P<sub>[[File:quality_uncommon.png|Uncommon|10px]]</sub> !! P<sub>[[File:quality_rare.png|Rare|10px]]</sub> !! P<sub>[[File:quality_epic.png|Epic|10px]]</sub> !! P<sub>[[File:quality_legendary.png|Legendary|10px]]</sub>
|- style="border-top:2px solid"
|- style="border-top:2px solid"
! I<sub>[[File:quality_normal.png|Normal|10px]]</sub>
! I<sub>[[File:quality_normal.png|Normal|10px]]</sub>
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 0
| style="border-left:2px solid" | 0 || 0 || 0 || 0 || 0
|style="border-left:2px solid"| 1.125 || 0.3375 || 0.03375 || 0.003375 || 0.000375
| style="border-left:2px solid" | 1.125 || 0.3375 || 0.03375 || 0.003375 || 0.000375
|-
|-
! I<sub>[[File:quality_uncommon.png|Uncommon|10px]]</sub>
! I<sub>[[File:quality_uncommon.png|Uncommon|10px]]</sub>
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 0
| style="border-left:2px solid" | 0 || 0 || 0 || 0 || 0
|style="border-left:2px solid"| 0 || 1.125 || 0.3375 || 0.03375 || 0.00375
| style="border-left:2px solid" | 0 || 1.125 || 0.3375 || 0.03375 || 0.00375
|-
|-
! I<sub>[[File:quality_rare.png|Rare|10px]]</sub>
! I<sub>[[File:quality_rare.png|Rare|10px]]</sub>
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 0
| style="border-left:2px solid" | 0 || 0 || 0 || 0 || 0
|style="border-left:2px solid"| 0 || 0 || 1.125 || 0.3375 || 0.0375
| style="border-left:2px solid" | 0 || 0 || 1.125 || 0.3375 || 0.0375
|-
|-
! I<sub>[[File:quality_epic.png|Epic|10px]]</sub>
! I<sub>[[File:quality_epic.png|Epic|10px]]</sub>
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 0
| style="border-left:2px solid" | 0 || 0 || 0 || 0 || 0
|style="border-left:2px solid"| 0 || 0 || 0 || 1.125 || 0.375
| style="border-left:2px solid" | 0 || 0 || 0 || 1.125 || 0.375
|-
|-
! I<sub>[[File:quality_legendary.png|Legendary|10px]]</sub>
! I<sub>[[File:quality_legendary.png|Legendary|10px]]</sub>
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 0
| style="border-left:2px solid" | 0 || 0 || 0 || 0 || 0
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 1.5
| style="border-left:2px solid" | 0 || 0 || 0 || 0 || 1.5
|- style="border-top:2px solid"
|- style="border-top:2px solid"
! P<sub>[[File:quality_normal.png|Normal|10px]]</sub>
! P<sub>[[File:quality_normal.png|Normal|10px]]</sub>
|style="border-left:2px solid"| 0.1875 || 0.05625 || 0.005625 || 0.0005625 || 0.0000625
| style="border-left:2px solid" | 0.1875 || 0.05625 || 0.005625 || 0.0005625 || 0.0000625
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 0
| style="border-left:2px solid" | 0 || 0 || 0 || 0 || 0
|-
|-
! P<sub>[[File:quality_uncommon.png|Uncommon|10px]]</sub>
! P<sub>[[File:quality_uncommon.png|Uncommon|10px]]</sub>
|style="border-left:2px solid"| 0 || 0.1875 || 0.05625 || 0.005625 || 0.000625
| style="border-left:2px solid" | 0 || 0.1875 || 0.05625 || 0.005625 || 0.000625
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 0
| style="border-left:2px solid" | 0 || 0 || 0 || 0 || 0
|-
|-
! P<sub>[[File:quality_rare.png|Rare|10px]]</sub>
! P<sub>[[File:quality_rare.png|Rare|10px]]</sub>
|style="border-left:2px solid"| 0 || 0 || 0.1875 || 0.05625 || 0.00625
| style="border-left:2px solid" | 0 || 0 || 0.1875 || 0.05625 || 0.00625
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 0
| style="border-left:2px solid" | 0 || 0 || 0 || 0 || 0
|-
|-
! P<sub>[[File:quality_epic.png|Epic|10px]]</sub>
! P<sub>[[File:quality_epic.png|Epic|10px]]</sub>
|style="border-left:2px solid"| 0 || 0 || 0 || 0.1875 || 0.0625
| style="border-left:2px solid" | 0 || 0 || 0 || 0.1875 || 0.0625
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 0
| style="border-left:2px solid" | 0 || 0 || 0 || 0 || 0
|-
|-
! P<sub>[[File:quality_legendary.png|Legendary|10px]]</sub>
! P<sub>[[File:quality_legendary.png|Legendary|10px]]</sub>
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 0
| style="border-left:2px solid" | 0 || 0 || 0 || 0 || 0
|style="border-left:2px solid"| 0 || 0 || 0 || 0 || 1
| style="border-left:2px solid" | 0 || 0 || 0 || 0 || 1
|}
|}


To iterate this matrix (M) apply the matrix to itself. For example, M<sup>6</sup> would indicate 6 iterations, corresponding to 3 crafting steps and 3 recycling steps. To see how much 1 ingredient set produces after a given iteration, x, multiply an input vector by M<sup>x</sup>. The vector format follows that of the matrix labels, so with the table arranged as above, left multiply a row vector of ingredient(s) by the matrix. In order to see the expected product of 1 set of normal ingredients, the vector will have '1' in the first column and '0's everywhere else. Likewise, a set of uncommon ingredients will correspond to '1' in the second column of the vector.
To iterate this matrix (M) apply the matrix to itself. For example, M<sup>6</sup> would indicate 6 iterations, corresponding to 3 crafting steps and 3 recycling steps. To see how much 1 ingredient set produces after a given iteration, x, multiply an input vector by M<sup>x</sup>. The vector format follows that of the matrix labels, so with the table arranged as above, left multiply a row vector of ingredient(s) by the matrix. In order to see the expected product of 1 set of normal ingredients, the vector will have '1' in the first column and '0's everywhere else. Likewise, a set of uncommon ingredients will correspond to '1' in the second column of the vector.
 
It is important to note that since the recycling step has a material loss of 75% most recycling loops will be well behaved and converge quickly.


It is important to note that since the recycling step has a material loss of 75% most recycling loops will be well behaved and converge quickly.<br>
Extreme productivity from research breaks this pattern and will prevent convergence, but this simply means that there is a positive material cycle, so 1 set of ingredients will produce infinite legendary crafts, on average. The closer the total productivity is to 400%, the slower the convergence of the matrix iteration and the higher you need to calculate x in M<sup>x</sup>.
Extreme productivity from research breaks this pattern and will prevent convergence, but this simply means that there is a positive material cycle, so 1 set of ingredients will produce infinite legendary crafts, on average. The closer the total productivity is to 400%, the slower the convergence of the matrix iteration and the higher you need to calculate x in M<sup>x</sup>.
<!--[[File:Quality_Transition_Matrix.png]]-->
<!--[[File:Quality_Transition_Matrix.png]]-->



Latest revision as of 17:30, 18 December 2024

No-building-material-icon.png
This article is a lacking sources for details of upcoming changes.
You can help this wiki by adding them.

Space Age expansion exclusive feature.


Quality is a feature of the Space Age expansion. It introduces four higher quality levels for all items, structures and equipment with improved attributes. The goal of quality is to allow vertical factory upgrading as alternative to expansion in size. Items of higher quality are created by chance when using quality modules in the producing structure. The two highest quality tiers require technology not available on Nauvis. Different buildings and items can have different attributes that can be upgraded. When hovering over something, the attributes that will be upgraded with quality will be marked with a blue diamond in the tooltip.

While players are required to own Space Age to access this feature, quality is a separate mod, and can be activated independent of most Space Age content.

Quality tiers

There are 5 quality tiers in vanilla gameplay, with tier strength in brackets:

  • Quality normal.png Normal (0)
  • Quality uncommon.png Uncommon (1)
  • Quality rare.png Rare (2)
  • Quality epic.png Epic (3)
  • Quality legendary.png Legendary (5)

Note that legendary quality represents a 2-tier improvement over epic.

Technologies

Certain tiers of quality cannot be created until they have been researched.

Research Base Game Space Age Unlocks
Quality module (research).png
Quality module (research)
Time.png
60
Automation science pack.png
Logistic science pack.png
Chemical science pack.png
Production science pack.png
x 300
Time.png
30
Automation science pack.png
Logistic science pack.png
x 500
Quality uncommon.png Quality rare.png
Epic quality (research).png
Epic quality (research)
Time.png
60
Automation science pack.png
Logistic science pack.png
Chemical science pack.png
Production science pack.png
Utility science pack.png
x 5000
Time.png
60
Automation science pack.png
Logistic science pack.png
Chemical science pack.png
Utility science pack.png
Space science pack.png
Agricultural science pack.png
x 5000
Quality epic.png
Legendary quality (research).png
Legendary quality (research)
Time.png
60
Automation science pack.png
Logistic science pack.png
Chemical science pack.png
Production science pack.png
Utility science pack.png
Space science pack.png
x 5000
Time.png
60
Automation science pack.png
Logistic science pack.png
Chemical science pack.png
Production science pack.png
Utility science pack.png
Space science pack.png
Metallurgic science pack.png
Electromagnetic science pack.png
Agricultural science pack.png
Cryogenic science pack.png
x 5000
Quality legendary.png

Quality effects

The currently known effects of each level of quality are as follows:

  • +30% health
  • +30% crafting speed
  • +30% robot limit (rounded down)
  • +30% robot recharge rate (both number and speed, rounded down)
  • +30% positive module effects (rounded down for at least quality modules)
  • +10% turret range
  • +10% weapon range
  • +1 tile reach and +2 wire reach on power poles
  • +1 equipment grid size (both dimensions)
  • +30% chest inventory size (rounded down)
  • +30% increased ammo damage
  • +30% inserter rotation speed
  • -16.67% (1/6) resource drain on miners.
    • This is multiplicative with productivity
  • +100% (+5 MJ) capacity on accumulators
  • +30% output rate on boilers, steam engines, steam turbines, accumulators (also affects input rate), and nuclear reactors
    • Note that consumption and pollution are also increased at the same rate
  • −16% power consumption on beacons
  • +1 to both continuous coverage distance and exploration coverage distance in radars
  • +100% durability on consumable items (repair packs, science packs)
  • +5% fork chance on the tesla turret and tesla ammo for the tesla gun

These effects are per quality strength and additive: a Legendary (5 tier-levels) Productivity module 3 (base +10% productivity) would grant 25% productivity.

Some buildings only get increased health, with no special effect. Examples are:

Quality Effects
Item Quality normal.png Normal Quality uncommon.png Uncommon Quality rare.png Rare Quality epic.png Epic Quality legendary.png Legendary
Assembling machine 1.png Assembling machine 1
  • Health - 300
  • Crafting speed - 0.5
  • Health - 390
  • Crafting speed - 0.65
  • Health - 480
  • Crafting speed - 0.8
  • Health - 570
  • Crafting speed - 0.95
  • Health - 750
  • Crafting speed - 1.25
Assembling machine 2.png Assembling machine 2
  • Health - 350
  • Crafting speed - 0.75
  • Health - 455
  • Crafting speed - 0.975
  • Health - 560
  • Crafting speed - 1.2
  • Health - 665
  • Crafting speed - 1.425
  • Health - 875
  • Crafting speed - 1.875
Assembling machine 3.png Assembling machine 3
  • Health - 400
  • Crafting speed - 1.25
  • Health - 520
  • Crafting speed - 1.625
  • Health - 640
  • Crafting speed - 2
  • Health - 760
  • Crafting speed - 2.375
  • Health - 1000
  • Crafting speed - 3.125
Construction robot.png Construction robot
  • Health - 100
  • Max flying reach - 571m
  • Energy capacity - 3MJ
  • Health - 130
  • Max flying reach - 1152m
  • Energy capacity - 6MJ
  • Health - 160
  • Max flying reach - 1728m
  • Energy capacity - 9MJ
  • Health - 190
  • Max flying reach - 2305m
  • Energy capacity - 12MJ
  • Health - 250
  • Max flying reach - 3457m
  • Energy capacity - 18MJ
Inserter.png Inserter
  • Health - 150
  • Energy consumption - 15.1kW
  • Rotation speed - 302°/s
  • Health - 195
  • Energy consumption - 19.51kW
  • Rotation speed - 393°/s
  • Health - 240
  • Energy consumption - 23.92kW
  • Rotation speed - 484°/s
  • Health - 285
  • Energy consumption - 28.33kW
  • Rotation speed - 575°/s
  • Health - 375
  • Energy consumption - 37.15kW
  • Rotation speed - 756°/s
Fast inserter.png Fast inserter
  • Health - 150
  • Energy consumption - 59.3kW
  • Rotation speed - 864°/s
  • Health - 195
  • Energy consumption - 76.94kW
  • Rotation speed - 1123°/s
  • Health - 240
  • Energy consumption - 94.58kW
  • Rotation speed - 1382°/s
  • Health - 285
  • Energy consumption - 112kW
  • Rotation speed - 1642°/s
  • Health - 375
  • Energy consumption - 148kW
  • Rotation speed - 2160°/s
Iron chest.png Iron chest
  • Health - 200
  • Storage size - 32
  • Health - 260
  • Storage size - 41
  • Health - 320
  • Storage size - 51
  • Health - 380
  • Storage size - 60
  • Health - 500
  • Storage size - 80
Laser turret.png Laser turret
  • Health - 1000
  • Range - 24 tiles
  • Health - 1300
  • Range - 26.4 tiles
  • Health - 1600
  • Range - 28.8 tiles
  • Health - 1900
  • Range - 31.2 tiles
  • Health - 2500
  • Range - 36 tiles
Pipe.png Pipe
  • Health - 100
  • Health - 130
  • Health - 160
  • Health - 190
  • Health - 250
Roboport.png Roboport
  • Health - 500
  • Energy consumption - 2.1MW
  • Robot recharge rate - 4 x 500kW
  • Health - 650
  • Energy consumption - 2.7MW
  • Robot recharge rate - 4 x 650kW
  • Health - 800
  • Energy consumption - 3.3MW
  • Robot recharge rate - 4 x 800kW
  • Health - 950
  • Energy consumption - 3.9MW
  • Robot recharge rate - 4 x 950kW
  • Health - 1250
  • Energy consumption - 5.1MW
  • Robot recharge rate - 4 x 1.25MW
Small electric pole.png Small electric pole
  • Health - 100
  • 5x5 supply area
  • Wire reach - 7.5 tiles
  • Health - 130
  • 7x7 supply area
  • Wire reach - 9.5 tiles
  • Health - 160
  • 9x9 supply area
  • Wire reach - 11.5 tiles
  • Health - 190
  • 11x11 supply area
  • Wire reach - 13.5 tiles
  • Health - 250
  • 15x15 supply area
  • Wire reach - 17.5 tiles
Steel chest.png Steel chest
  • Health - 350
  • Storage size - 48
  • Health - 455
  • Storage size - 62
  • Health - 560
  • Storage size - 76
  • Health - 665
  • Storage size - 91
  • Health - 875
  • Storage size - 120
Wooden chest.png Wooden chest
  • Health - 100
  • Storage size - 16
  • Health - 130
  • Storage size - 20
  • Health - 160
  • Storage size - 25
  • Health - 190
  • Storage size - 30
  • Health - 250
  • Storage size - 40

Creating high-quality items

There are two ways to create an item with above normal quality: The player must either use ingredient items of the same quality, or use quality modules for a random chance of a higher-quality item.

Quality ingredients

Recipes that create items have variations for each quality that the item might take. When setting such a recipe in a production unit, an ingredient quality must be selected. For these variations, the set of ingredients required is the same, except that all item ingredients must have the specified quality.

Item ingredient quality requirements are exact, not minimum. For example, one can not combine uncommon iron plates with rare batteries to make an accumulator of any quality. One must therefore ensure that high-quality items do not clog up belts and starve production units of lower-quality items.

As fluids do not possess any quality, they are exempt from ingredient quality requirements; the same lubricant can be used to create electric engine units of any quality.

Quality modules

Main article: Quality module
Quality module animated.png

Quality modules allow crafting machines to produce items of a higher quality than their ingredients. Each module adds a quality chance to a machine, depending on its tier and quality. See the following table for all quality chances:

Quality
Module
Normal Uncommon Rare Epic Legendary
Quality module.png
+1% +1.3% +1.6% +1.9% +2.5%
Quality module 2.png
+2% +2.6% +3.2% +3.8% +5%
Quality module 3.png
+2.5% +3.2% +4% +4.7% +6.2%

When working out the odds of improving quality, a machine starts with the sum of the quality chance of all its modules. When the machine produces an item, it performs a random roll with that chance to succeed. If it succeeds, the product is upgraded 1 level from its ingredients. If the product was upgraded, the machine repeats this process, now with a constant 10% chance of passing, rolling and upgrading until a roll fails.

When using quality ingredients as an input, the base quality is the quality of the recipe. You can only use items with the same quality as input.

Quality modules are only required to improve quality, crafting will always give the base quality of the used items. Additionally, the odds of improving from a given base quality is the same as improving the same number of tiers from Normal quality.


Where Q is quality chance, the following tables present expected outputs for each level of research.

Quality module (research).png
Quality module (research)
Output
Input
Normal Uncommon Rare
Normal 1 - Q Q * 9/10 Q * 1/10
Uncommon - 1 - Q Q
Rare - - 1
Epic quality (research).png
Epic quality (research)
Output
Input
Normal Uncommon Rare Epic
Normal 1 - Q Q * 9/10 Q * 9/100 Q * 1/100
Uncommon - 1 - Q Q * 9/10 Q * 1/10
Rare - - 1 - Q Q
Epic - - - 1
Legendary quality (research).png
Legendary quality (research)
Output
Input
Normal Uncommon Rare Epic Legendary
Normal 1 - Q Q * 9/10 Q * 9/100 Q * 9/1000 Q * 1/1000
Uncommon - 1 - Q Q * 9/10 Q * 9/100 Q * 1/100
Rare - - 1 - Q Q * 9/10 Q * 1/10
Epic - - - 1 - Q Q
Legendary - - - - 1

Examples

Quality module 2.png
Normal
→ Q = 4%
Output
Input
Normal Uncommon Rare
Normal 96% 3.6% 0.4%
Uncommon - 96% 4%
Rare - - 100%
Quality module 3.png
Normal
→ Q = 10%
Output
Input
Normal Uncommon Rare Epic Legendary
Normal 90% 9% 0.9% 0.09% 0.01%
Uncommon - 90% 9% 0.9% 0.1%
Rare - - 90% 9% 1%
Epic - - - 90% 10%
Legendary - - - - 100%
Output
Input
Normal Uncommon Rare Epic Legendary
Quality module 3.png
Legendary
→ Q = 24.8%
Normal 75.2% 22.32% 2.232% 0.2232% 0.0248%
Uncommon - 75.2% 22.32% 2.232% 0.248%
Rare - - 75.2% 22.32% 2.48%
Epic - - - 75.2% 24.8%
Legendary - - - - 100%

Optimal module usage

It is optimal to improve quality on the lead-up to the target output item due to the recycler only giving back 25% of the input items, except for cases where the chosen item has a productivity research available, in which case looping through a recycler is optimal and has no added material cost (ignoring fluids).

The following tables summarize the number of normal crafts (rounded up) needed to produce 1 legendary output using ideal ratios of quality module 3s to productivity module 3s, with 4 matching quality module 3 in the recycler.

It is important to emphasize that these ratios maximize return per input material. If input capacity isn't a concern and the goal is speed rather than material efficiency, then switch out productivity modules for quality modules as needed. Beware, however, that in many cases material inefficiency nearly keeps pace with the legendary output rate.

Max Modules Base Prod. No. of
Productivity module 3.png
Rare
No. of
Quality module 3.png
Rare
Crafts
2 0% 0 2 891
3 0% 0 3 533
4 0% 1 3 342
4 50% 0 4 97
5 50% 1 4 67
8 0% 4 4 70
Max Modules Base Prod. No. of
Productivity module 3.png
Epic
No. of
Quality module 3.png
Epic
Crafts
2 0% 0 2 608
3 0% 1 2 356
4 0% 1 3 212
4 50% 1 3 62
5 50% 2 3 40
8 0% 5 3 34
Max Modules Base Prod. No. of
Productivity module 3.png
Legendary
No. of
Quality module 3.png
Legendary
Crafts
2 0% 0 2 309
3 0% 1 2 153
4 0% 2 2 80
4 50% 3 1 25
5 50% 4 1 14
8 0% 8 0 7

For example, suppose legendary T3 modules are available and the goal is to produce legendary Processing unit.png. If each electromagnetic plant producing epic quality or below has 4 legendary Productivity module 3.png and 1 legendary Quality module 3.png, and the electromagnetic plant with the legendary recipe has 5 legendary Productivity module 3.png, then on average an input of 280 normal Electronic circuit.png and 28 normal Advanced circuit.png is expected to produce 1 legendary Processing unit.png.

Derivation

Derivation of the tables above was as follows: Starting with 1 set of common ingredients, with an assembly quality chance of Q and total productivity bonus of P, the statistical expected number of product is as follows:

Normal Uncommon Rare Epic Legendary
(1 + P) * (1 - Q) (1 + P) * (Q * (100 - 10-1)) (1 + P) * (Q * (10-1 - 10-2)) (1 + P) * (Q * (10-2 - 10-3)) (1 + P) * (Q * 10-3)
(1 + P) * (1 - Q) (1 + P) * Q * 9/10 (1 + P) * Q * 9/100 (1 + P) * Q * 9/1000 (1 + P) * Q * 1/1000

In a similar vein, the same calculations can be done for recycling products, except that there is, in effect, -75% productivity bonus, where only a quarter of the items are returned.

Normal Uncommon Rare Epic Legendary
(1 + -0.75) * (1-Q) (1 + -0.75) * (Q * (100 - 10-1)) (1 + -0.75) * (Q * (10-1 - 10-2)) (1 + -0.75) * (Q * (10-2 - 10-3)) (1 + -0.75) * (Q * 10-3)
0.25 * (1-Q) 0.25 * Q * 9/10 0.25 * Q * 9/100 0.25 * Q * 9/1000 0.25 * Q * 1/1000

For example, recycling an uncommon ingredient with a Q of 25%:

Output
Input
Normal Uncommon Rare Epic Legendary
Uncommon - 0.1875 0.05625 0.005625 0.000625

Combining these results allows a 'Transition Matrix' to be developed (see Stochastic Matrix on wikipedia) which after iteration can generate the expected number of legendary products from 1 set of common ingredients via matrix multiplication. An example matrix for P of 50% and Q of 25% for both recycling and assembly is copied below. Note that since legendary products are the goal, they are not recycled.

INormal IUncommon IRare IEpic ILegendary PNormal PUncommon PRare PEpic PLegendary
INormal 0 0 0 0 0 1.125 0.3375 0.03375 0.003375 0.000375
IUncommon 0 0 0 0 0 0 1.125 0.3375 0.03375 0.00375
IRare 0 0 0 0 0 0 0 1.125 0.3375 0.0375
IEpic 0 0 0 0 0 0 0 0 1.125 0.375
ILegendary 0 0 0 0 0 0 0 0 0 1.5
PNormal 0.1875 0.05625 0.005625 0.0005625 0.0000625 0 0 0 0 0
PUncommon 0 0.1875 0.05625 0.005625 0.000625 0 0 0 0 0
PRare 0 0 0.1875 0.05625 0.00625 0 0 0 0 0
PEpic 0 0 0 0.1875 0.0625 0 0 0 0 0
PLegendary 0 0 0 0 0 0 0 0 0 1

To iterate this matrix (M) apply the matrix to itself. For example, M6 would indicate 6 iterations, corresponding to 3 crafting steps and 3 recycling steps. To see how much 1 ingredient set produces after a given iteration, x, multiply an input vector by Mx. The vector format follows that of the matrix labels, so with the table arranged as above, left multiply a row vector of ingredient(s) by the matrix. In order to see the expected product of 1 set of normal ingredients, the vector will have '1' in the first column and '0's everywhere else. Likewise, a set of uncommon ingredients will correspond to '1' in the second column of the vector.

It is important to note that since the recycling step has a material loss of 75% most recycling loops will be well behaved and converge quickly.

Extreme productivity from research breaks this pattern and will prevent convergence, but this simply means that there is a positive material cycle, so 1 set of ingredients will produce infinite legendary crafts, on average. The closer the total productivity is to 400%, the slower the convergence of the matrix iteration and the higher you need to calculate x in Mx.

Usage tips

Using quality to increase production

There are four ways in which quality can increase the output of a single production machine:

  • Increasing the quality of the machine itself will improve its base crafting speed.
  • Increasing the quality of speed modules will increase the effect of their speed improvements.
  • Increasing the quality of productivity modules will increase their productivity bonus without reducing crafting speed. Since extra items obtained from the productivity bonus do not take extra time to produce, this will also increase the number of items produced over time.
  • Increasing the quality of beacons will increase their transmission efficiency. If they contain speed modules, then the effect of these modules is increased.

These four options share a powerful synergy, as they react multiplicatively with one another. This makes it possible to achieve very high production rates with very few machines when compared to only using normal quality items. For example, imagine a setup where electronic circuits are made using one electromagnetic plant with five productivity module 3s, which is surrounded by 12 beacons with two speed module 3s, each. With normal quality, this will achieve an output rate of almost 45 items per second (almost enough to saturate one non-layered express transport belt). However, if the electromagnetic plant and all beacons and modules have legendary quality, the output rate becomes slightly more than 600 items per second (enough to saturate two and a half turbo transport belts with four layers of items). This is more than 13 times as many items as without quality.

It should be noted that quality beacons are the only one of these factors that may increase energy consumption over time, as the transmission effect is also applied to the energy cost of speed modules. However, this is offset or even negated by the reduced energy consumption of the beacons themselves (which is also affected by quality), especially with high beacon counts wherein the transmission effect is subject to diminishing returns. For speed modules, productivity modules, and the machine itself, only the speed increase, productivity bonus, and base crafting speed are affected, respectively.

The increased transmission effect of high-quality beacons is also notable because unlike when increasing the number of beacons, there are no diminishing returns for increasing their quality (aside from the exponentially increasing cost of producing those higher-quality beacons in the first place). This means that, despite a legendary beacon only being 1.66 times as powerful as a normal-quality beacon, one would need 0.36 times as many legendary beacons as normal ones to achieve the same effect. Aside from making more powerful beacon setups, this can also be used to save space by achieving the same effect with fewer beacons, thereby leaving more room for machines and belts.

Higher-quality machines are also particularly useful for producing quality items as, unlike speed modules, machine quality does not reduce the chance of increasing a product's quality.

Using quality to save space

Another use for quality is decreasing the amount of buildings needed to perform the same production. This is particularly useful in a space platform, where small, compact designs are rewarded with increased speed, as well as needing fewer rockets to build the platform.

Relevant Factorio Friday Facts

Trivia

  • Quality is not technically exclusive to player-made entities; Though this does not occur naturally, quality is also allowed on enemies, asteroids, and even the player character.
    • Some enemies with qualities above normal can even be created in regular sandbox gameplay: Big biters, behemoth biters, and big premature wriggler pentapods born from spoiled biter eggs, captive biter spawners, and pentapod eggs inherit the quality of the spoiled items, with the latter two being possible to craft with quality modules. Furthermore, a starved captured biter spawner will retain its quality upon converting into a hostile biter spawner, with said quality even being inherited by the biters that it will spawn. Should these biters chose to expand, they may also create quality spitters and worms.

History