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
(added section on infinite research incl math, since AFAIK the wiki has no other 'central' place to learn about the mechanic in general)
(→‎Prices: added table (with nice links! :p ) summarizing inf research topics, prices, bonuses;; made <code> more widespread in math section for better readability)
Line 51: Line 51:


The equations that generate infinite research prices take the following forms:
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] × 2 ^ (N - N[0]) + C</code> - most infinite topics
*<code>P[N] = P[0] * 3 ^ (N - N[0]) + C</code> - '''artillery shell shooting speed'''
#<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 -->
<!-- ** 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'''
#<code>P[N] = P[0] × (N - N[0]) + C</code> - '''mining productivity''' and '''follower robot count'''
where:
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[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)
Line 63: Line 63:


Among others, the following properties can be observed:
Among others, the following properties can be observed:
*''P[0]'' = 1,000 for topics with a geometric progression and ''P[0]'' = 100 for topics with an arithmetic progression
*<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, ''P[1]'' = 2 * ''P[0]''
*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:
*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 ''P[F+1]'' = ''P[0]''; the rest have ''P[F+1]'' = 2 * ''P[0]'' (where ''P[F+1]'' is the price of the first "infinite" level)
*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 ''P[F+1]'' >= ''P[F]'' (where ''P[F]'' is the price of the last non-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
*either <code>N[0] = F</code> or <code>N[0] = F + 1</code>; this is mostly idiosyncratic to the research topic in question
*''C'' != 0 only for '''follower robot count''' (''C'' = 900) and '''artillery shooting speed''' (''C'' = 1,000)
*<code>C != 0</code> only for '''follower robot count''' (''C'' = 900) and '''artillery shooting speed''' (''C'' = 1,000)
 
The table below summarizes the applicable equation type and parameters (using the same notation as above), plus the per-level bonus, for all infinite research topics in the game. Topics are ordered based on the 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]] || 1 || 1 || 2,000 || 1,000 * 3^(N - F - 1) + 1,000 || +100%
|}


== Achievements ==
== Achievements ==

Revision as of 23:21, 2 September 2018

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

Mechanics

The technology screen

In single player games, only one technology can be researched at a time, while in multiplayer, research progress is shared within forces.

The technology to be researched is selected from the technology screen, opened by pressing 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.

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]
    • where B[r] is the total research speed modifier from lab research speed research and any module effects

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 packs 1 and 100 science packs 2, grouped into 100 units of 1 each of science packs 1 and 2, would have a P of 100, not 200.

Automation

A simple lab setup using science pack 1 and 2, 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 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.

'Infinite' research

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 and 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.

Infinite research topics are identified in-game by a small infinity symbol being 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 N - ∞ in the research tree. Only the two artillery-related topics (artillery shell range and shooting speed) are infinite-only; for these, N - ∞ 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.

Prices

The price of all infinite research topics is generated in a mathematical progression; for the majority of topics, the progression is geometric, mostly in powers of 2; a single topic - artillery shell shooting speed - uses a powers-of-3 progression. Two topics - mining productivity and follower robot count - use an arithmetic progression instead, in both cases with a difference of 100.

The equations that generate infinite research prices take the following forms:

  1. P[N] = P[0] × 2 ^ (N - N[0]) + C - most infinite topics
  2. P[N] = P[0] × 3 ^ (N - N[0]) + C - artillery shell shooting speed
  3. P[N] = P[0] × (N - N[0]) + C - mining productivity and follower robot count

where:

  • P[N] is the price of the Nth 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:

  • P[0] = 1,000 for topics with a geometric progression and P[0] = 100 for topics with an arithmetic progression
  • for both infinite-only topics, P[1] = 2 × P[0]
  • denote F the final level of non-infinite research available in the topic if such exists; for infinite-only research, set F = 0; then:
  • the majority of geometric-progression topics have P[F+1] = P[0]; the rest have P[F+1] = 2 × P[0] (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 P[F+1] >= P[F] (where P[F] is the price of the last non-infinite level)
  • either N[0] = F or N[0] = F + 1; this is mostly idiosyncratic to the research topic in question
  • C != 0 only for follower robot count (C = 900) and artillery shooting speed (C = 1,000)

The table below summarizes the applicable equation type and parameters (using the same notation as above), plus the per-level bonus, for all infinite research topics in the game. Topics are ordered based on the similarity of the parameters; if parameters are identical, then alphabetically.

Technology Equation
type
F + 1 P[F + 1] Equation Bonus
Gun turret damage (research).png
Gun turret damage
1 7 1,000 1,000 * 2^(N - F - 1) +70%
Rocket damage (research).png
Rocket damage
1 7 1,000 1,000 * 2^(N - F - 1) +50%
Bullet damage (research).png
Bullet damage
1 7 1,000 1,000 * 2^(N - F - 1) +40%
Shotgun shell damage (research).png
Shotgun shell damage
1 7 1,000 1,000 * 2^(N - F - 1) +40%
Flamethrower damage (research).png
Flamethrower damage
1 7 1,000 1,000 * 2^(N - F - 1) +20%
Worker robot speed (research).png
Worker robot speed
1 6 1,000 1,000 * 2^(N - F - 1) +65%
Combat robot damage (research).png
Combat robot damage
1 6 1,000 1,000 * 2^(N - F - 1) +30%
Cannon shell damage (research).png
Cannon shell damage
1 6 1,000 1,000 * 2^(N - F - 1) +30%
Laser turret damage (research).png
Laser turret damage
1 8 1,000 1,000 * 2^(N - F - 1) +70%
Artillery shell range (research).png
Artillery shell range
1 1 2,000 1,000 * 2^(N - F) +30%
Grenade damage (research).png
Grenade damage
1 7 2,000 1,000 * 2^(N - F) +20%
Mining productivity (research).png
Mining productivity
3 16 1,500 100 * (N - 1) +2%
Follower robot count (research).png
Follower robot count
3 7 1,000 100 * N + 900 +10
Artillery shell shooting speed (research).png
Artillery shell shooting speed
1 1 2,000 1,000 * 3^(N - F - 1) + 1,000 +100%

Achievements

Tech-maniac-achievement.png Tech maniac

Research all technologies.

History

  • 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