In other languages: Deutsch Español Français Italiano 日本語 한국어 Polski Português, Brasil Русский Українська 简体中文

Research: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
m (→‎'Infinite' research: minor error in research card appearance description)
(Space Age addition.)
 
(16 intermediate revisions by 6 users not shown)
Line 1: Line 1:
{{Languages}}
{{Languages}}
[[File:Technology_Screen.png|400px|thumb|The technology screen]]
'''Research''' is used to unlock [[technologies]], offering new recipes and bonuses. Research is performed by [[lab|labs]] consuming different types of [[science pack|science packs]].
'''Research''' is used to unlock [[technologies]], offering new recipes and bonuses. Research is performed by [[lab|labs]] consuming different types of [[science pack|science packs]].


== Mechanics ==
== Mechanics ==


[[File:Technology_Screen.png|400px|thumb|The technology screen]]
In singleplayer games, only one technology can be researched at a time, the same is true for every [[Multiplayer#PvP|force]] (team of players) in a multiplayer game. In multiplayer games with multiple forces, each force has its own technology tree and research status, so different forces can research independently in [[Multiplayer#PvP|PvP]] games.


In single player games, only one technology can be researched at a time, while in multiplayer, research progress is shared within [[Multiplayer#PvP|forces]].
The technology to be researched is selected from the technology screen, opened by pressing {{Keybinding|T}} ({{Keybinding|ZL|-}} on [[Nintendo Switch version|Nintendo Switch]]). The currently active research can be changed at any time from the technology screen; if another research is in progress, that progress will be saved. Multiple technologies can be partially researched like this at any one time.
 
The technology to be researched is selected from the technology screen, opened by pressing {{Keybinding|T}}. The current active research can be changed at any time from the technology screen; if another research is in progress, that progress will be saved. Multiple research topics can be partially researched like this at any one time.


Research progress for a technology is divided into ''units''. Each unit has a time and a science pack cost. When research is in progress, labs with the required amount of science packs for one unit will consume the amount and contribute towards research progress.
Research progress for a technology is divided into ''units''. Each unit has a time and a science pack cost. When research is in progress, labs with the required amount of science packs for one unit will consume the amount and contribute towards research progress.
Line 23: Line 22:
*'''''L''''' is the number of labs used
*'''''L''''' is the number of labs used
*'''''S''''' is lab speed, which is given by:
*'''''S''''' is lab speed, which is given by:
**<code>1 + B[r]</code>
**<code>(1 + B[r]) × (1 + M[r])</code>, where
**where '''''B[r]''''' is the total research speed modifier from [[Lab research speed (research)|lab research speed]] research and any module effects
**'''''B[r]''''' is the total research speed modifier from [[Lab research speed (research)|lab research speed]] research, expressed as a decimal (% value divided by 100); and  
**'''''M[r]''''' is the sum of all module effects (Speed modules with <code>+</code> sign, Productivity modules with <code>-</code> sign), expressed as a decimal


''Note that ''P'' represents the research price '''in units''', not in individual science packs summed across all their types. For example, a research that costs 100 [[science pack 1|science packs 1]] and 100 [[science pack 2|science packs 2]], grouped into 100 units of 1 each of science packs 1 and 2, would have a ''P'' of 100, ''not'' 200.''
''Note that ''P'' represents the research price '''in units''', not in individual science packs summed across all their types. For example, a research that costs 100 [[automation science pack]]s and 100 [[logistic science pack]]s, grouped into 100 units of 1 each of automation and logistic science packs, would have a ''P'' of 100, ''not'' 200.''
 
Unlike most bonus effects, the lab research speed bonus gained from research is ''multiplicative'' with module speed effects, not additive. However, different module effects (Speed vs. Productivity, beacon vs. in-lab) are additive with each other.


=== Automation ===
=== Automation ===
[[File:5_5_Labs_R_G_packs.png|400px|thumb|right|A simple lab setup using [[science pack 1]] and [[science pack 2|2]], [[belt transport system|belts]], and [[inserters]]]]
[[File:5_5_Labs_R_G_packs.png|400px|thumb|right|A simple lab setup using [[automation science pack]]s and [[logistic science pack]]s, [[belt transport system|belts]], and [[inserters]]]]


Crafting science packs by hand is not feasible, mainly because of the amount of resources and time needed to craft them. Some science packs also require ingredients that cannot be handcrafted, such as [[oil processing|oil products]]. Science pack production automation is the primary incentive for factory development throughout the game.
Crafting science packs by hand is not feasible, mainly because of the amount of resources and time needed to craft them. Some science packs also require ingredients that cannot be handcrafted, such as [[oil processing|oil products]]. Science pack production automation is the primary incentive for factory development throughout the game.


The insertion of science packs into labs may be automated using [[inserters]] and [[transport belt]]s, as shown to the right, or using [[Robotic network#Robots|robots]] and the [[logistic network]].
The insertion of science packs into labs may be automated using [[inserters]] and [[transport belt]]s, as shown to the right, or using [[robots]] and the [[logistic network]].


Note that inserters can take science packs from labs and hand them to other labs, making a lab chain a feasible solution. Other options include using 3 belts (before space science packs are needed), or a [[Glossary#S|sushi belt]].
Note that inserters can take science packs from labs and hand them to other labs, making a lab chain a feasible solution. Other options include using 3 belts (before space science packs are needed), or a [[Glossary#S|sushi belt]].


== 'Infinite' research ==
=== Research queue ===
While most research topics in Factorio are either one-off or have a finite, relatively small number of levels available, several (14 in total) are "infinite", meaning the player can research as many levels as they can afford. All of them unlock bonuses to existing technologies, never new structures or abilities. With the exception of [[mining productivity (research)|mining productivity]] and [[worker robot speed (research)|worker robot speed]], all infinite research topics are combat-related. The per-level bonuses are constant for a particular infinite research topic and, like normal research bonuses, are additive (rather than multiplicative) within a single topic.
[[File:Research_Screen_Queue.png|400px|thumb|right|The technology screen with some technologies queued.]]
 
The research queue allows players to automatically research more technologies after research finishes. The research queue is by default unlocked when the first rocket is launched. Alternatively it can be unlocked in the map generation settings in the 'advanced' category, or via `/enable-research-queue` console command.  
All infinite research levels require [[space science pack|space science packs]], and are also the only research topics that do. As such, they are late-game research topics intended primarily for players who wish to continue playing and expand their factory past the nominal victory condition of launching a single rocket.
 
Infinite research topics are identified in-game by a small <code>∞</code> infinity symbol shown in the top right corner of the research topic's card in the research screen. Note that this category of research topics has no official name or other distinction apart from the above; "infinite research" is a placeholder name bestowed by the community.
 
Most infinite research topics are continuations of ordinary multi-level topics; the "infinite" mechanic becomes effective once the player reaches the card initially labeled with <code>N - ∞</code> in the research tree. Only the two [[artillery]]-related topics (artillery shell [[artillery shell range (research)|range]] and [[artillery shell shooting speed (research)|shooting speed]]) are infinite-only; for these, <code>1 - ∞</code> is shown before any levels in them are researched.
 
In either case, once the first infinite level is researched, the card label switches to the one discussed above. Unlike normal leveled research, infinite research topics do not switch to a new card for every level, instead only incrementing the level number on the same card. This is likely so as to prevent the "tree" visualization of available research from becoming overly long.
 
=== Pricing equations ===
 
The price of all infinite research topics is generated in a [https://en.wikipedia.org/wiki/Progression mathematical progression]; for the majority of topics, the progression is [https://en.wikipedia.org/wiki/Geometric_progression geometric], mostly in powers of 2; a single topic - [[artillery shell shooting speed (research)|artillery shell shooting speed]] - uses a powers-of-3 progression. Two topics - [[mining productivity (research)|mining productivity]] and [[follower robot count (research)|follower robot count]] - use an [https://en.wikipedia.org/wiki/Arithmetic_progression arithmetic progression] instead, in both cases with a difference of 100.
 
The equations that generate infinite research prices take the following forms:
#<code>P[N] = P[0] × 2 ^ (N - N[0]) + C</code> - most infinite topics
#<code>P[N] = P[0] × 3 ^ (N - N[0]) + C</code> - '''artillery shell shooting speed'''
<!-- ** specifically, the coefficients are P = 1,000; N[0] = 0; C = -1,000 -->
#<code>P[N] = P[0] × (N - N[0]) + C</code> - '''mining productivity''' and '''follower robot count'''
where:
*'''''P[N]''''' is the price of the '''''N'''''th level of the research topic (as reported by the game; i.e., counting also all starting "non-infinite" levels, if any)
*'''''P[0]''''' is a price multiplier
*'''''N''''' is the level of the research topic, as reported by the game (i.e., including any starting non-infinite levels)
*'''''N[0]''''' is a shift factor relative to the source series
*'''''C''''' is a constant
 
Among others, the following properties can be observed:
*<code>P[0] = 1,000</code> for topics with a geometric progression and <code>P[0] = 100</code> for topics with an arithmetic progression
*for both infinite-only topics, <code>P[1] = 2 × P[0]</code>
*denote <code>F</code> the final level of non-infinite research available in the topic if such exists; for infinite-only research, set <code>F = 0</code>; then:
*the majority of geometric-progression topics have <code>P[F+1] = P[0]</code>; the rest have <code>P[F+1] = 2 × P[0]</code> (where ''P[F+1]'' is the price of the first "infinite" level)
*for topics with preceding non-infinite levels, the relation between ''P[F+1]'' and non-infinite level prices may vary, but in all cases <code>P[F+1] >= P[F]</code> (where ''P[F]'' is the price of the last non-infinite level)
*either <code>N[0] = F</code> or <code>N[0] = F + 1</code>; this is mostly idiosyncratic to the research topic in question
*<code>C != 0</code> only for '''follower robot count''' (''C'' = 900) and '''artillery shooting speed''' (''C'' = 1,000)
 
=== Price table ===
 
The table below summarizes the applicable equation type and parameters (using the same notation as in the preceding section), plus the per-level bonus, for all infinite research topics in the game. Topics are ordered based on similarity of the parameters; if parameters are identical, then alphabetically.
 
{| class="wikitable"
! Technology !! Equation <br/> type !! F + 1 !! P[F + 1] !! Equation !! Bonus
|-
| {{Icontech|Gun turret damage (research)}} [[Gun turret damage (research)|Gun turret damage]] || 1 || 7 || 1,000 || 1,000 × 2^(N - F - 1) || +70%
|-
| {{Icontech|Rocket damage (research)}} [[Rocket damage (research)|Rocket damage]] || 1 || 7 || 1,000 || 1,000 × 2^(N - F - 1) || +50%
|-
| {{Icontech|Bullet damage (research)}} [[Bullet damage (research)|Bullet damage]] || 1 || 7 || 1,000 || 1,000 × 2^(N - F - 1) || +40%
|-
| {{Icontech|Shotgun shell damage (research)}} [[Shotgun shell damage (research)|Shotgun shell damage]] || 1 || 7 || 1,000 || 1,000 × 2^(N - F - 1) || +40%
|-
| {{Icontech|Flamethrower damage (research)}} [[Flamethrower damage (research)|Flamethrower damage]] || 1 || 7 || 1,000 || 1,000 × 2^(N - F - 1) || +20%
|-
| {{Icontech|Worker robot speed (research)}} [[Worker robot speed (research)|Worker robot speed ]] || 1 || 6 || 1,000 || 1,000 × 2^(N - F - 1) || +65%
|-
| {{Icontech|Combat robot damage (research)}} [[Combat robot damage (research)|Combat robot damage ]] || 1 || 6 || 1,000 || 1,000 × 2^(N - F - 1) || +30%
|-
| {{Icontech|Cannon shell damage (research)}} [[Cannon shell damage (research)|Cannon shell damage]] || 1 || 6 || 1,000 || 1,000 × 2^(N - F - 1) || +30%
|-
| {{Icontech|Laser turret damage (research)}} [[Laser turret damage (research)|Laser turret damage]] || 1 || 8 || 1,000 || 1,000 × 2^(N - F - 1) || +70%
|-
| {{Icontech|Artillery shell range (research)}} [[Artillery shell range (research)|Artillery shell range]] || 1 || 1 || 2,000 || 1,000 × 2^(N - F) || +30%
|-
| {{Icontech|Grenade damage (research)}} [[Grenade damage (research)|Grenade damage]] || 1 || 7 || 2,000 || 1,000 × 2^(N - F) || +20%
|-
| {{Icontech|Mining productivity (research)}} [[Mining productivity (research)|Mining productivity]] || 3 || 16 || 1,500 || 100 × (N - 1) || +2%
|-
| {{Icontech|Follower robot count (research)}} [[Follower robot count (research)|Follower robot count]] || 3 || 7 || 1,000 || 100 × N + 900 || +10
|-
| {{Icontech|Artillery shell shooting speed (research)}} [[Artillery shell shooting speed (research)|Artillery shell shooting speed]] || 2 || 1 || 2,000 || 1,000 × 3^(N - F - 1) + 1,000 || +100%
|}


=== Affordability ===
Once the research queue is enabled, a technology can be added to the queue by pressing the "Start Research" button when it is selected. Double-clicking (Double-pressing {{Keybinding|Y}} or {{Keybinding|A}} on [[Nintendo Switch version|Nintendo Switch]]) or using {{Keybinding|shift|lmb}} ({{Keybinding|ZR|A}} on [[Nintendo Switch version|Nintendo Switch]]) on any research in the tree or the list on the left will also add it to the queue. This is particularly useful to queue prerequisites without focusing them in the technology tree.  
Infinite research is essentially an inexhaustible resource sink for players who build very large bases. While the bonuses it provides can significantly improve the player's capabilities (particularly as regards combat), they are subject to diminishing returns; thus, the per-level contributions from very high levels of infinite research will eventually provide only marginal improvements.


As the price of most infinite research topics (specifically, those based on geometric progressions) increases very steeply, it may be a good idea for players to set realistic target levels for each of the infinite research topics they wish to pursue, and make their factory plans accordingly. To that end, the following properties of cumulative infinite research prices may be useful:
Technologies in the queue are displayed in the upper left corner of the interface. If a technology is added to the queue, the technologies that depend on it may become available to be added to the queue as well and those technologies are displayed in orange. For example adding the [[Logistics_(research)|logistics]] and [[Logistic_science_pack_(research)|logistic science pack]] technologies to the queue allows the technology [[Logistics_2_(research)|logistics 2]] to be queued. The player can reorder the queue at any time.


#The cumulative price of the first <code>N - F</code> levels (notation as in previous sections; i.e., here counting "infinite" levels only) of infinite research topics whose underlying equation is a powers-of-two geometric series (see equation type (1) in preceding sections) is <code>2 × P[N] - P[F+1]</code>; i.e., twice the price of the final researched level, less the price of the first "infinite" level.
To remove a technology from the queue, the technology's image must be hovered in the queue display in the upper left corner and the red button that appears must be pressed.
#*This tends toward <code>2 × P[N]</code> as ''N'' goes to infinity.
#*The above also shows that, assuming constant research speed (usually, this is the same as science pack production capacity), each subsequent level of an infinite research topic of this type will take about as long as ''all'' preceding infinite levels took combined (or, twice as long as the previous level).
#*Further, assuming one has reached a level <code>M</code> they consider the "highest feasible" with their current science pack production capacity, expanding said capacity by a factor of '''''X''''' will allow at least <code>floor(log[2](X))</code> and at most <code>ceiling(log[2](X))</code> (i.e., the next lower / higher integer from the base-2 logarithm of ''X'') additional levels to be researched before the next level takes longer to research with the expanded capacity than level <code>M + 1</code> would have taken with the pre-expansion production capacity.
#*For example, if one expands production capacity by a factor of 10, they will be able to research at least <code>floor(log[2](10)) = 3</code> and at most <code>ceiling(log[2](10)) = 4</code> additional levels in a given technology before the exponential increase in price wipes out the benefits of their ×10 capacity expansion.
#The cumulative price of the first <code>N - F</code> levels of infinite research topics whose underlying equation is an arithmetic series (equation type (3)) is <code>(N - F) × (P[N] + P[F + 1]) ÷ 2</code>; i.e, <code>N - F</code> times the mean of the prices of the first and last "infinite" level.
#*Expanding production capacity by a factor of ''X'', as above, will in this case allow an additional <code>N × (X - 1)</code> levels to be researched before the benefit of the expansion is wiped out (i.e., research progress speed drops to or below what it was pre-expansion).
#The cumulative price of the first '''''N''''' levels of '''artillery shell shooting speed''', the sole infinite research topic whose underlying equation is a powers-of-three geometric series (equation type (2)) is <code>1.5 × P[N] - 0.5 × P[1]</code>; i.e., 1.5 times the price of the final researched level, less half the price of the first level.
#*''Note that the expressions above have been simplified to reflect the fact that this particular topic has F = 0. Since it is the only topic with this equation type, the loss of generality does not matter.''
; :In all calculations above, the constant <code>C</code> (see equations) is ignored; for the topics where <code>C ≠ 0</code>, results must be adjusted by adding <code>C × (N - F)</code>. This only applies to '''follower robot count''' and '''artillery shooting speed'''.
In all cases, the player can calculate the research price of their target level using the general equations (1), (2), (3) (see preceding sections), look up the price of the first "infinite" level in the table above, then use the summation properties described herein to arrive at a total science pack budget.
 
Note that these prices reflect '''research units''', which will not be equal to science packs if [[productivity module|productivity modules]] are used in labs. (In that case, the science pack requirement will be lower.)


== Achievements ==
== Achievements ==


Research is directly connected to the following achievements:
{{Achievement|Tech-maniac}}
{{Achievement|Tech-maniac}}
*Completing "infinite" research topics of any level is not required for '''Tech maniac'''. All "non-infinite" levels of topics that have "infinite" continuations are still required.
* Completing infinite technologies of any level is not required for '''Tech maniac'''. All non-infinite levels of technologies that have infinite continuations are still required.


== History ==
== History ==
{{History|1.1.92|
* Added a notification when a technology is researched.
* Added /enable-research-queue console command to enable the research queue without disabling achievements.}}
{{History|0.17.0|
* Research UI overhauled.
* Research Queue added.}}
{{History|0.15.0|
{{History|0.15.0|
* Research system overhauled
* Research system overhauled
** There are now 7 science pack types instead of 4, research prices have been changed to compensate.
** There are now 7 science pack types instead of 4, research prices have been changed to compensate.
** Top-tier science pack is no longer obtained by destroying alien nests, but by launching rockets with satellites.
** Top-tier science pack is no longer obtained by destroying alien nests, but by launching rockets with satellites.
**"Infinite research" mechanic introduced}}
**"Infinite research" mechanic introduced.}}
 
{{History|0.2.0|
* Introduced}}


== See also ==
== See also ==
* [[Technologies]]
* [[Technologies]]
* [[Science pack]]


[[Category: Technology]]
{{TechNav}}
{{TechNav}}

Latest revision as of 21:22, 21 October 2024

The technology screen

Research is used to unlock technologies, offering new recipes and bonuses. Research is performed by labs consuming different types of science packs.

Mechanics

In singleplayer games, only one technology can be researched at a time, the same is true for every force (team of players) in a multiplayer game. In multiplayer games with multiple forces, each force has its own technology tree and research status, so different forces can research independently in PvP games.

The technology to be researched is selected from the technology screen, opened by pressing T (ZL + - on Nintendo Switch). The currently active research can be changed at any time from the technology screen; if another research is in progress, that progress will be saved. Multiple technologies can be partially researched like this at any one time.

Research progress for a technology is divided into units. Each unit has a time and a science pack cost. When research is in progress, labs with the required amount of science packs for one unit will consume the amount and contribute towards research progress.

The progress bar shown in the top right corner of the screen when research is in progress

The time T it will take to research a particular technology is given by:

  • T = (T[0] × P) ÷ (L × S) seconds,

where:

  • T[0] is the time cost per unit (as shown in Research screen)
  • P is the price of the research, in units (as shown in Research screen)
  • L is the number of labs used
  • S is lab speed, which is given by:
    • (1 + B[r]) × (1 + M[r]), where
    • B[r] is the total research speed modifier from lab research speed research, expressed as a decimal (% value divided by 100); and
    • M[r] is the sum of all module effects (Speed modules with + sign, Productivity modules with - sign), expressed as a decimal

Note that P represents the research price in units, not in individual science packs summed across all their types. For example, a research that costs 100 automation science packs and 100 logistic science packs, grouped into 100 units of 1 each of automation and logistic science packs, would have a P of 100, not 200.

Unlike most bonus effects, the lab research speed bonus gained from research is multiplicative with module speed effects, not additive. However, different module effects (Speed vs. Productivity, beacon vs. in-lab) are additive with each other.

Automation

Crafting science packs by hand is not feasible, mainly because of the amount of resources and time needed to craft them. Some science packs also require ingredients that cannot be handcrafted, such as oil products. Science pack production automation is the primary incentive for factory development throughout the game.

The insertion of science packs into labs may be automated using inserters and transport belts, as shown to the right, or using robots and the logistic network.

Note that inserters can take science packs from labs and hand them to other labs, making a lab chain a feasible solution. Other options include using 3 belts (before space science packs are needed), or a sushi belt.

Research queue

The technology screen with some technologies queued.

The research queue allows players to automatically research more technologies after research finishes. The research queue is by default unlocked when the first rocket is launched. Alternatively it can be unlocked in the map generation settings in the 'advanced' category, or via `/enable-research-queue` console command.

Once the research queue is enabled, a technology can be added to the queue by pressing the "Start Research" button when it is selected. Double-clicking (Double-pressing Y or A on Nintendo Switch) or using SHIFT + Left mouse button (ZR + A on Nintendo Switch) on any research in the tree or the list on the left will also add it to the queue. This is particularly useful to queue prerequisites without focusing them in the technology tree.

Technologies in the queue are displayed in the upper left corner of the interface. If a technology is added to the queue, the technologies that depend on it may become available to be added to the queue as well and those technologies are displayed in orange. For example adding the logistics and logistic science pack technologies to the queue allows the technology logistics 2 to be queued. The player can reorder the queue at any time.

To remove a technology from the queue, the technology's image must be hovered in the queue display in the upper left corner and the red button that appears must be pressed.

Achievements

Tech-maniac-achievement.png Tech maniac

Research all technologies.

  • Completing infinite technologies of any level is not required for Tech maniac. All non-infinite levels of technologies that have infinite continuations are still required.

History

  • 1.1.92:
    • Added a notification when a technology is researched.
    • Added /enable-research-queue console command to enable the research queue without disabling achievements.
  • 0.17.0:
    • Research UI overhauled.
    • Research Queue added.
  • 0.15.0:
    • Research system overhauled
      • There are now 7 science pack types instead of 4, research prices have been changed to compensate.
      • Top-tier science pack is no longer obtained by destroying alien nests, but by launching rockets with satellites.
      • "Infinite research" mechanic introduced.

See also