In other languages: Deutsch Français Polska Русский 中文

Lab: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (Typo)
m (/ -> ÷)
 
(14 intermediate revisions by 7 users not shown)
Line 4: Line 4:
'''Labs''' are buildings that perform [[research]] for [[technologies]] by consuming [[science pack]]s. Use of a lab is required to progress in Factorio.
'''Labs''' are buildings that perform [[research]] for [[technologies]] by consuming [[science pack]]s. Use of a lab is required to progress in Factorio.


The player can only research one technology at a time, but can use multiple labs for faster results. The speed bonus of labs when [[Lab research speed (research)|Lab research speed]] is researched and modules are present can be calculated using this formula: <code>research_bonus * module_bonus = speed_bonus</code>; the percentage bonuses have to be converted to decimals (e.g. +140% = 2.4) before the formula is used.
When [[productivity module]]s are used in labs, the productivity bonus is directly calculated and applied each [[Time#Ticks|tick]] so the productivity bar is simply cosmetic. This means that it does not matter that the productivity bar resets when the research is changed, no productivity bonus is lost. [https://forums.factorio.com/26860]


When [[productivity module]]s are used in labs, the productivity bonus is directly calculated and applied each [[game-tick|tick]] so the productivity bar is simply cosmetic. This means that it does not matter that the productivity bar resets when the research is changed, no productivity bonus is lost. [https://forums.factorio.com/26860]
The player can only research one technology at a time, but can use multiple labs for faster results. The speed bonus of labs when [[lab research speed (research)|lab research speed]] is researched and modules are present can be calculated using this formula: <code>research_bonus × module_bonus = speed_bonus</code>; the percentage bonuses have to be converted to decimals (e.g. +140% = 2.4) before the formula is used.


==Production requirements==
==Production requirements==
Calculating the number of science packs needed per second is straightforward:
Calculating the number of science packs needed per second is straightforward:
* <code>Effective Lab Research Speed = 1 + <in-game Lab Research Speed bonus %>/100</code>
* <code>ERS = (1 + B[r] ÷ 100) × (1 + M[r] ÷ 100)</code>
* <code>Adjusted Cycle Time = <in-game Cycle Time> /<Effective Lab Research Speed></code>
* <code>ACT = T[r] ÷ ERS</code>
* <code>Packs per Second = 1 / (Adjusted Cycle Time / <# of labs>)</code>
* <code>PPS = N ÷ ACT</code>


Thus, for a 10 lab setup, researching Nuclear Power (30 second cycle time) with Lab Research Speed 4 (140% bonus), the math would be:
Where:
* ELRS = 1 + 140/100
*'''''ERS''''' is "effective lab research speed"
**= 2.4
*'''''B[r]''''' is the Lab Research Speed bonus as reported by the game, in percent
* ACT = 30 / 2.4
*'''''M[r]''''' is the sum of all module speed effects (Speed modules - positive; Productivity modules - negative), in percent
**= 12.5 seconds, adjusted cycle time
*'''''ACT''''' is "adjusted cycle time"
* PPS = 1 / (12.5 / 10)
*'''''T[r]''''' is the research cycle time as displayed in the research screen
**= 0.8 Science per second
*'''''PPS''''' is "packs per second"
*'''''N''''' is the number of labs available.
 
Thus, for a 10-lab setup, researching Nuclear Power (30 second cycle time) with Lab Research Speed 4 (140% bonus) and no module effects, the calculation is:
*<code>ERS = 1 + (140 ÷ 100) = 2.4</code>
*<code>ACT = 30 ÷ 2.4         = 12.5 s</code>
*<code>PPS = 10 ÷ 12.5       = 0.8</code>


This means 0.8 science packs per second, of each type, would need to be produced to continuously supply the labs.
This means 0.8 science packs per second, of each type, would need to be produced to continuously supply the labs.


=== Equation simplification ===
=== Equation simplification ===
The above calculations can be combined into one equation provided all labs have the same <in-game Lab Research Speed Bonus>.
Assuming all labs have the same ''B[r]'' (which they always will unless they are affected by different module configurations), the above calculations can be combined into one equation:
* <code>Packs per Second = <# of labs> * ((<in-game Lab Research Speed Bonus %> / 100) + 1) / <in-game Cycle Time></code>
 
* PPS = 10 * (1 + (140/100)) / 30
* <code>PPS = N × (1 + B[r] ÷ 100) × (1 + M[r] ÷ 100) ÷ T[r]</code>
**= 10/30 * (1 + 1.4)  
 
**= 1/3 * 2.4
Thus for the numerical example:
**= 0.8 packs per second
* <code>PPS = 10 × (1 + 140 ÷ 100) × 1 ÷ 30</code> = <code>(10 ÷ 30) × (1 + 1.4)</code> = <code> (1 ÷ 3) × 2.4</code> = <code> 2.4 ÷ 3</code> = <code>0.8</code> packs per second
 
If trying to find the amount of labs needed to consume a given amount of packs per second, use the following rearrangement:
* <code>N = ((1 + B[r] ÷ 100) × (1 + M[r] ÷ 100) ÷ T[r] ÷ PPS) ^ −1</code>


== History ==
== History ==
{{history|0.15.12|
* Lab speed info in the description contains the researched speed bonus as well.}}


{{history|0.12.6|
{{history|0.12.6|
Line 45: Line 56:
{{history|0.7.2|
{{history|0.7.2|
* Changed the recipe of Lab to require 4 transport belts, down from 5.}}
* Changed the recipe of Lab to require 4 transport belts, down from 5.}}
{{history|0.7.0|
* Added support for modules to labs.}}


{{history|0.6.0|
{{history|0.6.0|
* New graphics.}}
* New graphics.
* Labs are dedicated to backers (displayed in entity info).}}


{{history|0.2.7|
{{history|0.2.7|

Latest revision as of 11:26, 23 November 2020

Lab.png
Lab

Lab entity anim.gif

Recipe

Time.png
2
+
Electronic circuit.png
10
+
Iron gear wheel.png
10
+
Transport belt.png
4
Lab.png
1

Total raw

Time.png
21.5
+
Copper plate.png
15
+
Iron plate.png
36

Recipe

Time.png
2
+
Electronic circuit.png
10
+
Iron gear wheel.png
10
+
Transport belt.png
4
Lab.png
1

Total raw

Time.png
34
+
Copper plate.png
40
+
Iron plate.png
70

Map color

Health

150

Stack size

10

Dimensions

3×3

Energy consumption

60 kW (electric)

Mining time

0.2

Module slots

2 slots

Prototype type

lab

Internal name

lab

Required technologies

None required

Boosting technologies

Lab research speed (research).png

Produced by

Assembling machine 1.png
Assembling machine 2.png
Assembling machine 3.png
Player.png
Science packs put into the front lab will be passed to labs behind it.

Labs are buildings that perform research for technologies by consuming science packs. Use of a lab is required to progress in Factorio.

When productivity modules are used in labs, the productivity bonus is directly calculated and applied each tick so the productivity bar is simply cosmetic. This means that it does not matter that the productivity bar resets when the research is changed, no productivity bonus is lost. [1]

The player can only research one technology at a time, but can use multiple labs for faster results. The speed bonus of labs when lab research speed is researched and modules are present can be calculated using this formula: research_bonus × module_bonus = speed_bonus; the percentage bonuses have to be converted to decimals (e.g. +140% = 2.4) before the formula is used.

Production requirements

Calculating the number of science packs needed per second is straightforward:

  • ERS = (1 + B[r] ÷ 100) × (1 + M[r] ÷ 100)
  • ACT = T[r] ÷ ERS
  • PPS = N ÷ ACT

Where:

  • ERS is "effective lab research speed"
  • B[r] is the Lab Research Speed bonus as reported by the game, in percent
  • M[r] is the sum of all module speed effects (Speed modules - positive; Productivity modules - negative), in percent
  • ACT is "adjusted cycle time"
  • T[r] is the research cycle time as displayed in the research screen
  • PPS is "packs per second"
  • N is the number of labs available.

Thus, for a 10-lab setup, researching Nuclear Power (30 second cycle time) with Lab Research Speed 4 (140% bonus) and no module effects, the calculation is:

  • ERS = 1 + (140 ÷ 100) = 2.4
  • ACT = 30 ÷ 2.4 = 12.5 s
  • PPS = 10 ÷ 12.5 = 0.8

This means 0.8 science packs per second, of each type, would need to be produced to continuously supply the labs.

Equation simplification

Assuming all labs have the same B[r] (which they always will unless they are affected by different module configurations), the above calculations can be combined into one equation:

  • PPS = N × (1 + B[r] ÷ 100) × (1 + M[r] ÷ 100) ÷ T[r]

Thus for the numerical example:

  • PPS = 10 × (1 + 140 ÷ 100) × 1 ÷ 30 = (10 ÷ 30) × (1 + 1.4) = (1 ÷ 3) × 2.4 = 2.4 ÷ 3 = 0.8 packs per second

If trying to find the amount of labs needed to consume a given amount of packs per second, use the following rearrangement:

  • N = ((1 + B[r] ÷ 100) × (1 + M[r] ÷ 100) ÷ T[r] ÷ PPS) ^ −1

History

  • 0.15.12:
    • Lab speed info in the description contains the researched speed bonus as well.
  • 0.12.6:
    • The research speed of a lab is now not dependent on its electricity consumption, and can be scripted.
  • 0.12.0:
    • Lab research is now continuous; Science packs now have progress bars.
  • 0.9.2:
    • Labs are now named after early access backers when built from blueprints.
  • 0.7.2:
    • Changed the recipe of Lab to require 4 transport belts, down from 5.
  • 0.7.0:
    • Added support for modules to labs.
  • 0.6.0:
    • New graphics.
    • Labs are dedicated to backers (displayed in entity info).
  • 0.2.7:
    • Contents of the Lab is now shown in the entity info.

See also