In other languages: Deutsch Français 日本語 Polski Русский Українська 简体中文

Lab: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
No edit summary
Alfonse (talk | contribs)
Production requirements: Adjustments for quality and biolabs.
 
(One intermediate revision by one other user not shown)
Line 13: Line 13:
==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>ERS = (1 + B[r] ÷ 100) × (1 + M[r] ÷ 100)</code>
* <math>ERS = \left( 1 + \frac{B \left[ r \right] }{100} \right) \times \left( 1 + \frac{M \left[ r \right] }{100} \right) \times BLS </math>
* <code>ACT = T[r] ÷ ERS</code>
* <math>ACT = \frac{T \left[ r \right] }{ERS}</math>
* <code>PPS = N ÷ ACT</code>
* <math>PPS = \frac{N}{ACT}</math>


Where:
Where:
*'''''ERS''''' is "effective lab research speed"
*'''''ERS''''' is "effective lab research speed"
*'''''B[r]''''' is the Lab Research Speed bonus as reported by the game, in percent
*'''''B[r]''''' is the speed bonus from the [[Lab research speed (research)]], in percent
*'''''M[r]''''' is the sum of all module speed effects (Speed modules - positive; Productivity modules - negative), in percent
*'''''M[r]''''' is the sum of all [[module]] speed effects ([[speed module]]s - positive; [[productivity module]]s - negative), in percent
*'''''BLS''''' is the base lab speed, which is adjusted by the [[quality]]{{SA}} of the lab and/or using a [[biolab]]{{SA}}
*'''''ACT''''' is "adjusted cycle time"
*'''''ACT''''' is "adjusted cycle time"
*'''''T[r]''''' is the research cycle time as displayed in the research screen
*'''''T[r]''''' is the research cycle time as displayed in the research screen
Line 26: Line 27:
*'''''N''''' is the number of labs available.
*'''''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:
Thus, with 10 base quality standard labs, 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>
*<math>ERS =  1 + \frac{140}{100} = 2.4</math>
*<code>ACT = 30 ÷ 2.4         = 12.5 s</code>
*<math>ACT = \frac{30}{2.4}      = 12.5 s</math>
*<code>PPS = 10 ÷ 12.5       = 0.8</code>
*<math>PPS = \frac{10}{12.5}      = 0.8</math>


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 ===
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:
Assuming all labs have the same ''B[r]'' and ''BLS''), the above calculations can be combined into one equation:


* <code>PPS = N × (1 + B[r] ÷ 100) × (1 + M[r] ÷ 100) ÷ T[r]</code>
* <math>PPS = \frac{N}{T \left[ r \right] } \times \left( 1 + \frac{B \left[ r \right] }{100} \right) \times \left( 1 + \frac{M \left[ r \right] }{100} \right) \times BLS</math>


Thus for the numerical example:
Thus for the numerical example:
* <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
* <math>PPS = 10 \times \left( 1 + \frac{140}{100} \right) \times \frac{1}{30} = \frac{10}{30} \times \left( 1 + 1.4 \right) = \frac{1}{3} \times 2.4 = \frac{2.4}{3} = 0.8</math> 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:
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>
* <math>N = \left( \left( 1 + \frac{B \left[ r \right]}{100} \right) \times \left(1 + \frac{M \left[ r \right]}{100} \right) \times BLS \times \frac{1}{T[r] \times PPS} \right)^{-1}</math>


== History ==
== History ==

Latest revision as of 16:37, 7 March 2025

Lab

  • Base game
  •  
  • Space Age mod

Recipe

2
+
10
+
10
+
4
1

Total raw

21.5
+
15
+
36

Map color

Health

150
195 240
285 375

Stack size

10

Rocket capacity

10

Dimensions

3×3

Energy consumption

60 kW (electric)

Research speed

1
1.3 1.6
1.9 2.5

Mining time

0.2

Module slots

2 slots

Prototype type

lab

Internal name

lab

Required technologies

Boosting technologies

Produced by

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.

Inserters can insert and remove science packs from labs. This allows chaining multiple labs together with inserters, each inserter taking science packs, as needed, from one lab and placing it into the next.


Production requirements

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

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

Where:

  • ERS is "effective lab research speed"
  • B[r] is the speed bonus from the Lab research speed (research), in percent
  • M[r] is the sum of all module speed effects (speed modules - positive; productivity modules - negative), in percent
  • BLS is the base lab speed, which is adjusted by the quality of the lab and/or using a biolab
  • 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, with 10 base quality standard labs, researching Nuclear Power (30 second cycle time) with Lab Research Speed 4 (140% bonus) and no module effects, the calculation is:

  • ERS=1+140100=2.4
  • ACT=302.4=12.5s
  • PPS=1012.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] and BLS), the above calculations can be combined into one equation:

  • PPS=NT[r]×(1+B[r]100)×(1+M[r]100)×BLS

Thus for the numerical example:

  • PPS=10×(1+140100)×130=1030×(1+1.4)=13×2.4=2.43=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)×BLS×1T[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