Factorio
Wube Software's factory-building game, with a demo and alpha from December 2012, Steam early access from 2016, and 1.0 in 2020.
Factorio is a game about building a factory: the player mines resources, builds machines, automates production, and fights alien creatures1. The player’s spaceship has crashed on a remote alien planet, and the only way off is to build a new rocket2. The factory’s pollution draws attacks from the planet’s biters3, which grow stronger with time, with pollution, and with every spawner the player destroys4.
Wube Software, its developer, began in Prague as “a garage company” of two programmers and an artist, and had grown to a team of 31 by 20265. Its founder, Michal Kovařík (kovarex), started the project5. He dated the initial commit to 31 March 20126, and wrote the first version in Java before switching to C++ after 12 days6. By October 2012 Petr and then Tomas had joined him, with Albert on the graphics7. A demo came out on 31 December 20128, and version 0.2.0 already had research in labs, logistic robots, and a day-night cycle9. Wube opened an Indiegogo campaign on 1 February 201310, presenting itself as two programmers, Tomas Kozelek and kovarex11. The campaign looked futile in its first week, Wube wrote, until it offered the alpha to backers at once12. A capture of its page from April 2013 shows €21,646 raised against a €17,000 goal13.
Factorio came out on Steam on 25 February 201614. Version 1.0 took it out of early access on 14 August 202015; Wube’s post counted 8.5 years of work15. Twinsen’s port to the Nintendo Switch followed on 28 October 202216. Version 2.0, a free update, came out with the paid expansion Space Age in October 202417,18, and 2.1, a release of smaller features and polish, became stable on 23 October 202619.
Rick Lane scored the 1.0 release 91/10020 in PC Gamer and called it “the best management game I’ve played for ages, a manufacturing masterpiece”. Leana Hafer gave it 8/1021 at IGN, warning of “a very high buy-in to learn” and a game that “can become a second job if you let it”. Trent Cannon gave the Switch version 8/1022 in Nintendo Life, faulting its joystick controls. Factorio was nominated for Debut Game at the 2021 BAFTA Games Awards, which Carrion won23, and for the National Academy of Video Game Trade Reviewers’ simulation award for 202024. By Wube’s count it sold one million copies by May 201725, two million by Christmas 201926, and 3.5 million by Christmas 202227. Space Age passed 400,000 copies within its launch week18.
Reviewing Space Age, Lane called Factorio “the greatest game in the genre it spawned”, and named Satisfactory and Dyson Sphere Program as the genre’s challengers28. Hannah Beuger of Coffee Stain Studios said that Satisfactory “was heavily inspired by it”29, and the README of shapez calls that game “inspired by Factorio”30.
#How it plays
The player mines ore by hand at first, at the same rate an electric mining drill will later work31. A burner mining drill mines half as fast and burns fuel to do it32; an electric drill covers a wider patch of ground and runs on power33. Ore patches run dry tile by tile, and a drill stops when every tile under it is empty34. Crude oil never runs out35.
Furnaces smelt ore into iron and copper plates, and iron plates into steel; the steel and electric furnaces work twice as fast as the stone one36,37. Plates become gears, copper cable, and electronic circuits, which in turn go into advanced circuits and processing units38. The player can hand-craft only the simple recipes, nothing smelted and nothing that takes a fluid39. Asking for an item whose parts are missing queues the parts first40. Assembling machines craft without the player, at speeds that rise from half the player’s to a quarter more than it over three tiers41,42.
Transport belts join the machines. A belt has two lanes that move independently43, and the two faster tiers carry twice and three times as much as the basic belt44. Items close up their own gaps, so a belt fills solid before it backs up45. Underground belts pass beneath a few tiles46, and splitters divide a belt evenly, with priorities and filters for the player to set47. A belt carries the player, and biters, too48.
Inserters move items between belts and machines, picking up from the tile behind and dropping on the tile in front; the long-handed inserter reaches one tile further49. The fast inserter swings about three times as often as the burner one50. Onto a belt, an inserter drops on the far lane by default, and the player can flip it to the other51. Into a machine, it stops once the machine holds ingredients for the crafts it finishes in 1.166 seconds plus one more, never fewer than 2 crafts’ worth or more than 100, leaving the rest on the belt for the next machine52.
Research runs in labs, which use up science packs53. The first technologies open from play itself: crafting iron plates unlocks Steam power, and copper plates Electronics54. After that, each technology costs a number of pack sets, and only one is researched at a time55. Red packs take a copper plate and a gear; later colors take engines, advanced circuits, and robot frames56. The base game has 19657 technologies57. Researching the rocket silo takes 100058 units of five pack colors, and a rocket launched with a satellite brings back space science packs, which lead to research that repeats without end58.
Power starts with water. An offshore pump feeds boilers, which burn fuel to make steam, and one boiler drives two steam engines59,60,61. Electric poles carry the power, each covering a square of ground and linking to poles within reach62. Solar panels follow the planet’s day and give nothing at night63, so accumulators store power to cover the dark64. Nuclear reactors make heat, and each fuelled reactor beside it adds as much heat again65; heat exchangers turn the heat into steam for turbines66.
Oil brings fluids. Pumpjacks draw crude oil35, refineries turn it into petroleum gas alone by basic processing, or into heavy oil, light oil, and petroleum gas by advanced processing67, and chemical plants crack the heavier oils down and turn gas into plastic and sulfur68. Since 2.0, connected pipes and tanks form one segment holding one fluid, and fluid put in at one end is available at the other at once69. A pipeline can only grow so far before pumps must split it70,71. Modules then change how machines work: speed modules make them faster for more energy, efficiency modules cut their energy, and productivity modules add free output at a cost in speed, energy, and pollution72,73, and beacons share a module’s effect with the machines around them, each added beacon counting for less74.
Trains carry ore and products over distance. A locomotive burns chemical fuel, and better fuel makes it accelerate harder and run faster75,76. A cargo wagon holds 4077 stacks77. Rail signals cut the track into blocks, and a train enters a block only when no other train is in it78. A chain signal also holds a train back until its exit from the block ahead is free, which keeps junctions clear79. Each train picks its path by length, plus penalties for stops, waiting trains, and signals the circuit network holds red80,81. Its schedule names stops and conditions to wait on82. Since 2.0, interrupts can send it elsewhere when their conditions hold, so one interrupt can route any cargo to the stop named for it83,84.
Robots take over carrying and building. Once logistic robotics is researched, the player sets amounts of items to keep, and logistic robots bring them85. Robots work inside the area of a roboport, which charges them86,87. They move items between five kinds of logistic chest, each with its own role88,89. A blueprint laid down marks every building in it as a ghost90, and construction robots build each ghost when its materials are in the network91. Once construction robotics is researched, a building that is destroyed leaves a ghost behind for them to rebuild, trains excepted90.
The circuit network wires machines to each other. A red or green wire carries a number for every item, fluid, and signal at once92. Programmer Robert Asaftei (Twinsen) designed and implemented it93. Combinators compute on those numbers: the arithmetic one does sums, the decider one tests conditions, and the selector one, added in 2.0, picks signals out of its input94,95,96. Each arithmetic or decider combinator in a chain adds one tick of delay97.
The factory pollutes, and boilers pollute most98. Pollution spreads from chunk to chunk of the map99, and the ground and trees soak it up100,101. Where it reaches a nest of biters, their spawners absorb it and send out attack groups3. The enemy also evolves, with time, with pollution produced, and with every spawner destroyed4. Evolution decides which biters and spitters the spawners make, from small ones at first to behemoths late102. Over time, biters set out to found new nests103. Gun turrets fire magazines104, laser turrets draw electricity instead105, and flamethrower turrets burn oil106. Stone walls and gates have health of their own107. The player fights too, with the character’s own health, and the car and the tank mount guns108,109,110. Map presets tune evolution, pollution, and expansion, from Death world’s faster evolution to Rail world, where enemies never expand111.
#Where it came from
Factorio’s 2013 Indiegogo campaign says its developers grew up on games “like Transport Tycoon, Civilization or Simcity”, games about designing, building, and creating things, before it tells how the idea of a game about building a factory came to them112. Transport Tycoon, Civilization, and SimCity are named there as a background, with no feature drawn from them.
In 2014 Michal Kovařík, Factorio’s founder, wrote that modded Minecraft, “mainly buildcraft/industrialcraft”, was a huge inspiration to create Factorio, and that he had made private changes to those mods before he had the idea for a game of his own113. A 2014 Friday Facts post says that “Factorio was inspired by Buildcraft”, and in 2013 Kovařík wrote that a topic he had started (the post links to BuildCraft’s forums) set him thinking about making a game114. His February 2013 plan for energy proposed oil processed into fuel and other products “as in build craft”, while saying he didn’t want to copy BuildCraft’s oil completely; the plan doesn’t say what shipped115. Wube’s posts name Minecraft for two features. Early Factorio had the player craft a wooden, then a stone, then an iron pick, which a 2018 post calls “clearly Minecraft affecting our ideas”; the chain was soon cut, and 0.17 removed mining tools altogether116. A 2024 post says the online players window “was inspired by Minecraft’s ‘tab menu‘“117. For 2.0’s fluid rewrite, Rseding proposed an algorithm “very close to” one from the Minecraft mod Thermal Expansion, in which pipes, underground pipes, and storage tanks merge into segments118. 2.0’s fluids form segments of pipes and tanks in the same way69.
For the trains, Kovařík looked to Transport Tycoon. In February 2013 Kovařík wrote that “the game is inspired by Transport Tycoon” and proposed taking its train concept almost whole: stations, a route for each train, and trains that wait at a station until the inserters have nothing left to do119. Wube’s 2015 post on chain signals says they have some similarities with Transport Tycoon Deluxe’s pre-signals but work differently, so they got a different name; those pre-signals came from the fan patch TTDPatch, not the game as released120. A 2016 post calls the preview on the train’s screen, with a camera view and a map view, “open ttd” inspired, after OpenTTD121.
Some names come with nothing attached. Kovařík’s February 2013 proposal for combat said he wasn’t afraid to get inspired by games like StarCraft and Baldur’s Gate, and named no feature122. A 2013 post by Tomáš Kozelek reports that Kovařík had been playing “classics like Dune 2000” looking for inspiration, again with no feature tied to it123. Some comparisons are only other people’s: in 2014 Kovařík listed Dwarf Fortress, RimWorld, SpaceChem, and Industry Giant among the games people compared Factorio with that the team had never played124.
Further back, Dwarf Fortress stands upstream of Minecraft: Markus Persson wrote that RubyDung, the prototype he worked on before Minecraft, was meant to be a base-building game inspired by Dwarf Fortress125. Chris Sawyer said he set out to take Railroad Tycoon’s play further in Transport Tycoon126, and that he hadn’t played SimCity127. Civilization, as Ars Technica reports Sid Meier’s 2017 talk, began by stirring together elements of SimCity, Railroad Tycoon, Empire, and the board game Civilization128. Will Wright’s SimCity began as a toy: the world editor he had built for Raid on Bungeling Bay, which he kept making more elaborate129. OpenTTD, in turn, sets out to mimic Transport Tycoon Deluxe as closely as it can while adding features130.
#Space Age
Space Age came out with 2.0 in October 2024, at the base game’s price17,18. Wube’s announcement lists space platforms, the planets Vulcanus, Fulgora, and Gleba, elevated rails, and quality131. Stacked belts and the stack inserter belong to the expansion, not the base game132,133. Lane’s review found that it adds far more complexity than it removes, and told newcomers to try the base game first134.
Mechanics
| Mechanic | Kind | How |
|---|---|---|
| Resource harvesting | drills mine ore patches until each tile runs dry; crude oil never runs out | |
| Crafting | the player hand-crafts the simple recipes, queueing missing parts; furnaces and assembling machines make the rest at their own speeds | |
| Transport belt | two-lane belts in three speeds carry items, the player, and biters; splitters and underground belts route them | |
| Tech tree | Research | labs use up science packs to research one technology at a time, from technologies unlocked by crafting up to the rocket silo and research without end |
| Time of day | Game clock | a seven-minute day that solar panels follow, with accumulators to cover the night |
| Fluid network | Merged segment | since 2.0, connected pipes and tanks form one segment holding one fluid, and pumps split segments; before, fluid flowed from pipe to pipe |
| Power network | Coverage network | a pole's area connects the buildings it covers, and nearby poles link into one network; a shortfall slows every machine by the same proportion |
| Rail transport | trains run schedules between named stops, and since 2.0 interrupts reroute them by condition | |
| Rail signalling | Route exit | signals cut the track into blocks that hold one train each; chain signals, as Friday Facts #81 (2015) describes them, keep a train out of a block unless the exit on its own path is free |
| Pathfinding | a train picks the shortest path after penalties for stops, waiting trains, and signals the circuit network holds red | |
| Fuel gauge | By throttle | locomotives, cars, and tanks burn chemical fuel; better fuel makes a train accelerate harder and run faster |
| Inventory capacity | Quantity | the character carries 80 slots and a cargo wagon 40 stacks |
| Logistic robots | robots fly items between logistic chests and to the player inside roboport coverage, charging as they go | |
| Construction | construction robots build the ghosts a blueprint lays down, and rebuild what is destroyed | |
| Circuit network | red and green wires carry a number for every signal at once, and each arithmetic or decider combinator adds a tick of delay | |
| Pollution | machines emit pollution that spreads from chunk to chunk, and the ground and trees soak it up | |
| Enemy spawning | Generated | biter spawners turn the pollution they absorb into attack groups, and biters found new nests over time |
| Enemy evolution | evolution rises with time, pollution, and spawners destroyed, and brings bigger biters | |
| Difficulty ramp | the enemy grows stronger with play time and with the pollution the factory makes | |
| Hit points | biters, spawners, walls, and the character have health, and spawners grow tougher with evolution | |
| Ammunition | gun turrets fire magazines of three grades | |
| Weapon energy | Per weapon | laser turrets fire from their own electric buffers instead of ammunition |
| Rideable vehicle | a car and a tank, each with an engine, fuel slots, an inventory, health, and mounted guns | |
| Production chain | Automated | the Factorio Wiki says belts and inserters keep furnaces and assembling machines supplied and take their products away, and that a machine set to a recipe should craft once its ingredients are in, each step on a machine of its own; in 2.1.23 inserters fill a machine only a few crafts ahead |
Every claim about this game, by concept (159)
References
- ^The same post called Factorio a game about building a factory, in which the player mines resources, builds machines, automates production, and fights alien creatures, as a character alone on an alien planet who must clear it for a colonization fleet from Earth.Dev blogHere we are
How we know
Factorio is a game about building a factory. You will need to mine resources, build machines, automate production and fight alien creatures. … The main character finds himself alone on the alien planet. His task is to prepare the planet for colonization fleet coming from the Earth.
second paragraph · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Lane's review sums up the premise: the player's spaceship crashes on a remote alien planet, and the only way off is to build a new rocket.WebPC Gamer, Factorio
How we know
That would be your spaceship crashing onto a remote alien planet, and the only way off that far-flung rock is to build yourself a whole new rocket.
third paragraph · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^ abSpawners, not factories, turn pollution into attacks: each update a spawner absorbs 20 plus 1% of its chunk's pollution (the wiki gives two versions of when it stops or what it takes instead, below), and after absorbing a certain amount it sends one of its units to a gathering point; the gathered group attacks after 1 to 10 minutes. The absorbed pollution pays for sending units, not for spawning them.WikiFactorio Wiki: Pollutionrevised
How we know
If a chunk's pollution is greater than 20, each enemy spawner absorbs 20 + 0.01 * [chunk's pollution] every 64 ticks, otherwise it absorbs 3 times the amount of pollution needed for the most expensive unit it can spawn for the current evolution factor. … After a certain amount of pollution is absorbed the spawner sends one of its biters/spitters to a rendezvous point. … Every 1 to 10 minutes (random) the mustered biters launch an attack.
Spawners · archived copy ↗ Every 64 ticks, spawners absorb pollution until they have absorbed more than 3 times the amount needed to send the most expensive unit at the current evolution level.
Spawners (absorption) · archived copy ↗ Note that absorbing pollution is not for spawning biters, but for sending biters to an attack group.
Spawners · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^ abEvolution grows from three sources, each with a default coefficient: 0.000004 for every second of play, 0.002 for every spawner destroyed, and 0.0000009 for every unit of pollution produced.Codefactorio-data 2.1.23
How we know
34 enemy_evolution= ⋮ 36 enabled=true, 37 -- percentual increase in the evolve factor for every second (60 ticks) 38 time_factor = 0.000004, 39 -- percentual increase in the evolve factor for every destroyed spawner 40 destroy_factor = 0.002, 41 -- percentual increase in the evolve factor for 1 pollution unit 42 pollution_factor = 0.0000009
base/prototypes/map-settings.lua lines 34–43 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^ abWube's About page, as captured in October 2026, says the company began as "a garage company" of two programmers and one artist in Prague and had grown to a team of 31. It names Michal Kovařík (kovarex) founder and company director, who "started the project and is the creative heart of the team", Tomáš Kozelek co-founder, and Albert Bertolín Soler art director.PublisherFactorio About us
How we know
Our office is located in Prague, Czech Republic. Originally "a garage company" of 2 programmers and 1 graphician, with an interesting idea grew to a team of 31 in-house professionals and contributors around the world.
Who are we? · archived copy ↗ Michal Kovařík kovarex Founder & Company director … He started the project and is the creative heart of the team. … Tomáš Kozelek slpwnd Co-Founder … Albert Bertolín Soler glex Art director
The Founders · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^ abOn 31 March 2017 kovarex (Michal Kovařík) wrote that it was exactly five years since the initial Factorio commit, and that the first version was written in Java until he switched to C++ after 12 days.Dev blogFriday Facts #184
How we know
Today, it is exactly 5 years since the initial Factorio commit. … the first version was created in java, and it took me (kovarex) a whole 12 days to realize that it is not a good idea, and I switched to C++.
first paragraph · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A post on Factorio's blog by Tomas on 24 October 2012 introduced the team as three friends from Prague. The game began with Michal's ideas; he quit his job to work on it full time and was joined by Petr and then Tomas, and Albert was working on the graphics.Dev blogHere we arerevised
How we know
We are three friends from Prague, Czech Republic working on a computer game called Factorio. … The game development started with couple of Michal's ideas for a "game that he would like to play but that is not available out there". Not late after that he found himself quitting his job and working on the game full time. Soon he was joined by Petr and eventually by Tomas.
first paragraph · archived copy ↗ While our graphic Albert is feverishly working on the looks
third paragraph · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^Wube released the first version of Factorio's demo, a three-level campaign, on 31 December 2012, and made an alpha version available on request by email at the same time.Dev blogDemo is out
How we know
After a lot of work we have managed to release the first version of the demo.
post of 2012-12-31, first paragraph · archived copy ↗ The demo consists of a 3-level demo campaign
first paragraph · archived copy ↗ Together with the demo we made alpha version of the game available 'per-request'.
second paragraph · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Version 0.2.0, announced on 13 January 2013, added technologies researched in labs with science packs, logistic robots, a day-night cycle, and a freeplay mode; signals that switch inserters on and off by the count of items in a chest were already in 0.1.Dev blog0.2.0 released
How we know
Technologies Build labs, create science packs and discover new recipes and improvements.
post of 2013-01-13, feature list · archived copy ↗ Logistic Robots When your factory gets big use small flying robots to ease the transportation of material. … Signals This has already been in 0.1.x, but now it has been tested and verified. … Define conditions to switch on / off certain inserters based on number of items in your chests. … Day night cycle … Freeplay There is a simple freeplay mode in the full version now.
feature list · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Wube put Factorio on Indiegogo on 1 February 2013, for a campaign of 30 days.Dev blogCampaign just started
How we know
we finished all the preparations and put the Factorio on Indiegogo. It is up and running. … The crowdfunding campaign will last for 30 days.
post of 2013-02-01 · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^The campaign introduced its makers as two programmers from Prague, and its team list named Tomas Kozelek and "marwin kovarex" as co-founders.PublisherFactorio Indiegogo campaign, 2013
How we know
We are two programmers from Prague, Czech Republic
Team · archived copy ↗ Tomas Kozelek … marwin kovarex
team list · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^On 13 February 2013 Wube wrote that the campaign had looked futile in its first week, and that it had then offered the alpha at once to backers, which it believed significantly improved its chances. It stopped giving the alpha away on request; backers could still have it.Dev blogGetting the alpha
How we know
Our campaign looked futile in the first week.
post of 2013-02-13, fourth paragraph · archived copy ↗ Therefore we decided to try out offering alpha immediately to the people who backed our project. We believe this step significantly improved our chance of success.
fourth paragraph · archived copy ↗ Alpha will still be provided to users who contributed to the Indiegogo campaign.
first paragraph · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^The fixed-funding campaign had a goal of €17,000 and took the funds contributed by Sunday 3 March 2013; a capture of the page from 25 April 2013 shows €21,646 raised. Wube's post of 4 March called the campaign a big success, one that let them finish the game instead of taking jobs.PublisherFactorio Indiegogo campaign, 2013 · Campaign is overrevised
How we know
21.646€ … Raised of 17.000€ Goal … This campaign received all of the funds contributed by Sun 03 Mar.
funding box · archived copy ↗ our Indiegogo campaign has ended today. And we think it was a big success.
post of 2013-03-04, first paragraph · archived copy ↗ We basically went from: "Lets get a job and forget Factorio" to "Lets finish Factorio and forget the job".
first paragraph · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^Wube scheduled Factorio's Steam release for Thursday 25 February 2016 at 11:00 a.m. PST, and its post of 26 February says the game launched on Steam that week, at version 0.12.24. Wube raised the price to €20 for the Steam release, and players who had bought the game on its website could claim a Steam key.Dev blogSteam keys available · Friday Facts #124 · Friday Facts #127revised
How we know
The game will be released on Thursday 25th Feb 2016 at 11:00 a.m. PST.
post of 2016-02-23 · archived copy ↗ The referential game price will be set to 20€ / 20$ (well 19.95$ because that is how Steam rolls).
The Price · archived copy ↗ Every user who has bought some version of our membership will have a possibility to get a Steam key for the game.
The Keys · archived copy ↗ The game launch at Steam has obviously been a highlight of the week … Prior to the appearance of the Game on Steam, we came up with the 0.12.24 (imho a magical release number) which fixed a couple of last minute bugs. This is the version available at Steam.
The Launch Week · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^ abVersion 1.0 came out on 14 August 2020, and with it Factorio left early access, which Wube's post says took 8.5 years. The post says nearly all the content had been released in 0.18, leaving 1.0 the formality of calling the game complete.Dev blogFriday Facts #360
How we know
It took us 8.5 years. … Factorio is leaving early access. … When we released pretty much all the content in 0.18, there was nothing left for 1.0 other than the formality of "it is complete".
The 1.0.0 · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Twinsen, who ported Factorio to the Nintendo Switch, wrote in September 2022 that he began the port around February 2021 and that it would be released on 28 October 2022.Dev blogFriday Facts #370
How we know
At around February 2021, as we were discussing the future of the team and what project we should work on next, I decided I want to try and port Factorio to Nintendo Switch. … But we are releasing on 28th October 2022
The journey to Nintendo Switch · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^ abOn 5 July 2024 Wube set 21 October 2024 as the release date of Factorio: Space Age, an expansion priced at $35, the same as the base game, and said version 2.0 would come out with it as a free upgrade for every player.Dev blogFriday Facts #418
How we know
Space Age expansion on October 21st 2024. … The price of the Space age expansion will be $35.00, the same price as the current base game.
Factorio: Space Age - Release date · archived copy ↗ Space Age will also coincide with the release of Factorio version 2.0 which will be a free upgrade for all users.
Factorio 2.0 · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^ abcWube's post of 25 October 2024 says Space Age launched earlier that week, and that it had passed 400,000 copies sold, with almost 100,000 players at once.Dev blogFriday Facts #434
How we know
You may have noticed we launched Space Age earlier this week … We had almost 100,000 concurrent players, and as of writing this post, we have passed 400,000 copies sold!
first paragraph · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Version 2.1 went to experimental in the week of Wube's post of 26 June 2026, and the post of 23 October 2026 says it is now marked stable. Wube described it not as new planets, enemies, or research trees but as a collection of quality of life, small features, polish, and things they had wanted for 2.0.Dev blogFriday Facts #444 · Friday Facts #449revised
How we know
This week we released the 2.1 experimental.
2.1 Experimental · archived copy ↗ After a long summer in experimental, 2.1 is now marked as stable. … 2.1 isn't about new planets, enemies or research trees. Instead, it is a big collection of quality of life, small features, polish, and the things we wanted to do for 2.0 but didn't have time for.
2.1 Stable · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^Rick Lane scored the 1.0 release 91 in PC Gamer on 24 August 2020, calling it "the best management game I've played for ages, a manufacturing masterpiece".WebPC Gamer, Factorio
How we know
It's the best management game I've played for ages, a manufacturing masterpiece. The Verdict 91
verdict · archived copy ↗ By Rick Lane 24 August 2020
byline · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Leana Hafer reviewed Factorio for IGN on 13 January 2021 and scored it 8 out of 10 ("great"). She called the amount to do breathtaking and "a bit frightening", and the game one that "can become a second job if you let it", with "a very high buy-in to learn".WebIGN, Factoriorevised
How we know
Factorio Review A well-oiled machine. … Posted: 13 Jan 2021
byline · archived copy ↗ 8 great Factorio is dauntingly complex
score box under the byline · archived copy ↗ The sheer amount of stuff there is to do in Factorio is breathtaking and a bit frightening. … it’s the kind of game that can become a second job if you let it. … It's got a very high buy-in to learn
verdict · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^Trent Cannon scored the Switch version 8 out of 10 ("Great") in Nintendo Life in October 2022, calling it "an otherwise stellar game" despite how the port presents itself and handles, and listing its joystick controls, too imprecise for busy factory layouts, among its faults.WebNintendo Life, Factorio
How we know
Factorio Review (Switch eShop) A factory sim that never seems to end Version Reviewed: North American review by Trent Cannon
byline · archived copy ↗ Despite some issues with the way the Switch port is presented and controls, these are minor issues in an otherwise stellar game
conclusion · archived copy ↗ Joystick controls aren't quite precise enough for our chaotic factory layouts Great 8/10
conclusion, faults and score · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Factorio was nominated for Debut Game at the 2021 BAFTA Games Awards, which Carrion won.PublisherBAFTA Games 2021
How we know
Winner: CARRION … Debut Game Nominee Factorio Development Team
2021 results, "Debut Game" · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^The National Academy of Video Game Trade Reviewers nominated Factorio for Outstanding Game, Simulation, for 2020; Microsoft Flight Simulator won.PublisherNAVGTR 2020
How we know
OUTSTANDING Game, Simulation Factorio Good Company Microsoft Flight Simulator – WINNER
OUTSTANDING Game, Simulation · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^In May 2017 kovarex wrote that Factorio had sold one million copies.Dev blogFriday Facts #192
How we know
We are in the club of games that have sold out 1 million copies.
One million copies sold · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Factorio passed 2,000,000 sales at Christmas 2019, about two and a half years after the first million, by Klonan's count in Friday Facts #327.Dev blogFriday Facts #327
How we know
the Christmas gift giving has given us that last push, for us to reach 2,000,000 sales. … so its been about two and a half years to sell another 1,000,000 copies.
Two million sales · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Factorio passed 3.5 million sales at Christmas 2022, Wube wrote, with steady sales of about 500,000 a year.Dev blogFriday Facts #372
How we know
This year we have reached another sales milestone, with 3.5 million sales being passed this Christmas. … We are still having steady and consistent sales of about 500,000 each year
Sales update · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^The standfirst of PC Gamer's Space Age review calls Factorio "the greatest game in the genre it spawned", and Rick Lane's conclusion names Satisfactory and Dyson Sphere Program as the factory-building genre's excellent challengers.WebPC Gamer, Space Agerevised
How we know
Space Age reaffirms Factorio’s position as the greatest game in the genre it spawned.
standfirst · archived copy ↗ The factory building genre is hotly competitive right now, with excellent challengers in the likes of Satisfactory and Dyson Sphere Program.
conclusion · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^In a GameWatcher interview published on 26 July 2026, Coffee Stain Studios' Hannah Beuger said that when Satisfactory launched in early access everyone compared it to Factorio, which made sense because "it was heavily inspired by it", and that new games are now compared to Satisfactory instead: "the beginning of a genre", she thought.InterviewGameWatcher, Satisfactory devs
How we know
When we launched the game in early access, everyone compared it to Factorio. It makes sense; it was heavily inspired by it.
the passage on genres and clones, speaker H · archived copy ↗ New games come in and people compare them to Satisfactory. … That’s the beginning of a genre here, I think.
the same answer · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^The README of shapez's source code describes it as "an open source base building game inspired by Factorio".Developershapez.io repo
How we know
25This is the source code for shapez, an open source base building game inspired by Factorio.README.md line 25 at 8a79de5 · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^The player mines by hand at mining speed 0.5, the electric drill's speed: 2 seconds for each unit of a 1-second ore before research bonuses. Uranium ore can't be mined by hand, since mining it uses a fluid.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23 · Factorio Wiki: Mining
How we know
704 type = "character", 705 name = "character",
base/prototypes/entity/entities.lua lines 704–705 at 39dbd0f · upstream ↗ 976 mining_speed = 0.5,base/prototypes/entity/entities.lua line 976 at 39dbd0f · upstream ↗ 1749 mining_speed = 0.5,base/prototypes/entity/mining-drill.lua line 1749 at 39dbd0f · upstream ↗ If this is > 0, this object cannot be mined by hand.
MinableProperties.fluid_amount · archived copy ↗ (1 + Force Modifier) * (1 + Character Modifier) * (Character mining speed) / Mining time = Rate
Mining by hand · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^The burner mining drill mines at speed 0.25 (0.25 ore per second from a 1-second ore, 15 a minute), burns chemical fuel at 150 kW, covers a 2×2 area (radius 0.99), and takes no beacon effects.Codefactorio-data 2.1.23
How we know
1788 type = "mining-drill", 1789 name = "burner-mining-drill",
base/prototypes/entity/mining-drill.lua lines 1788–1789 at 39dbd0f · upstream ↗ 1800 mining_speed = 0.25, ⋮ 1809 allowed_effects = {}, -- no beacon effects on the burner drill ⋮ 1812 type = "burner", 1813 fuel_categories = {"chemical"},
base/prototypes/entity/mining-drill.lua lines 1800–1813 at 39dbd0f · upstream ↗ 1827 energy_usage = "150kW",base/prototypes/entity/mining-drill.lua line 1827 at 39dbd0f · upstream ↗ 1853 resource_searching_radius = 0.99,base/prototypes/entity/mining-drill.lua line 1853 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^The electric mining drill mines at speed 0.5, so it yields 0.5 ore per second (30 a minute) from a 1-second ore, and 0.25 per second from uranium. It draws 90 kW, covers a 5×5 area (search radius 2.49 from its center), and has 3 module slots.Codefactorio-data 2.1.23 · Factorio API: MiningDrillPrototype
How we know
467 type = "mining-drill", 468 name = "electric-mining-drill",
base/prototypes/entity/mining-drill.lua lines 467–468 at 39dbd0f · upstream ↗ 1749 mining_speed = 0.5, ⋮ 1756 energy_usage = "90kW", 1757 resource_searching_radius = 2.49, ⋮ 1759 module_slots = 3,
base/prototypes/entity/mining-drill.lua lines 1749–1759 at 39dbd0f · upstream ↗ This is 2.49 for electric mining drills (a 5x5 area) and 0.99 for burner mining drills (a 2x2 area).
resource_searching_radius · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Ore patches run out: each unit a drill mines takes one unit from the tile it came from, and when every tile in a drill's area is empty the drill stops. Base drills drain at the default 100%; extra output from productivity bonuses doesn't come out of the patch.WikiFactorio Wiki: Mining · Factorio Prototype API 2.1.23
How we know
When the drill generates a non-productivity ore, it subtracts one ore from the patch.
Productivity and resource drain · archived copy ↗ When all resources in its mining area are exhausted, the drill will shutdown and an icon will appear on it.
Drill types · archived copy ↗ because more ore is output than is removed from the patch, mining productivity extends the amount of ore generated from a patch.
Productivity and resource drain · archived copy ↗ May not be `0` or larger than `100`.
MiningDrillPrototype.resource_drain_rate_percent · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-26.
- ^ abCrude oil is an infinite resource. A pumpjack (mining speed 1, one tile, 90 kW, 2 module slots) works in 1-second cycles on a resource whose base result is 10 crude oil; the oil pumped scales with the well's yield, which this set doesn't cover. Each cycle lowers the well's amount by 10, and the resource has a
minimumof 60,000 against anormalof 300,000.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23 · Factorio Wiki: MiningrevisedHow we know
220 name = "crude-oil", ⋮ 226 infinite = true, ⋮ 228 minimum = 60000, 229 normal = 300000, 230 infinite_depletion_amount = 10, ⋮ 236 mining_time = 1, ⋮ 241 name = "crude-oil", 242 amount = 10
base/prototypes/entity/resources.lua lines 218–242 at 39dbd0f · upstream ↗ 1898 energy_usage = "90kW", 1899 mining_speed = 1, 1900 resource_searching_radius = 0.49, 1901 vector_to_place_result = {0, 0}, 1902 module_slots = 2,
base/prototypes/entity/mining-drill.lua lines 1898–1902 at 39dbd0f · upstream ↗ Every time an infinite-type resource is decreased by mining, its current resource amount is lowered by this number.
ResourceEntityPrototype.infinite_depletion_amount · archived copy ↗ The output of the unmodified resource is the percentage yield of the tile currently used by the miner.
Infinite resources · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^Smelting turns 1 iron or copper ore into 1 plate in 3.2 seconds, and 5 iron plates into 1 steel plate in 16 seconds. Smelting recipes run only in furnaces.Codefactorio-data 2.1.23
How we know
1442 name = "copper-plate", 1443 categories = {"smelting"}, ⋮ 1445 energy_required = 3.2, 1446 ingredients = {{type = "item", name = "copper-ore", amount = 1}}, 1447 results = {{type="item", name="copper-plate", amount=1}}, ⋮ 1452 name = "iron-plate", 1453 categories = {"smelting"}, ⋮ 1455 energy_required = 3.2, 1456 ingredients = {{type = "item", name = "iron-ore", amount = 1}}, 1457 results = {{type="item", name="iron-plate", amount=1}},
base/prototypes/recipe.lua lines 1442–1458 at 39dbd0f · upstream ↗ 1473 name = "steel-plate", 1474 categories = {"smelting"}, ⋮ 1476 enabled = false, 1477 energy_required = 16, 1478 ingredients = {{type = "item", name = "iron-plate", amount = 5}}, 1479 results = {{type="item", name="steel-plate", amount=1}},
base/prototypes/recipe.lua lines 1473–1480 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Three furnaces smelt: the stone furnace at crafting speed 1, and the steel and electric furnaces at 2. The stone and steel furnaces burn chemical fuel at 90 kW; the electric furnace draws 180 kW and has 2 module slots. An iron or copper plate (3.2 s) takes 3.2 s in a stone furnace and 1.6 s in the other two.Codefactorio-data 2.1.23
How we know
1073 crafting_categories = {"smelting"}, ⋮ 1075 energy_usage = "90kW", 1076 crafting_speed = 1, ⋮ 1080 type = "burner", 1081 fuel_categories = {"chemical"},
base/prototypes/entity/entities.lua lines 1073–1081 at 39dbd0f · upstream ↗ 4858 crafting_categories = {"smelting"}, ⋮ 4860 energy_usage = "90kW", 4861 crafting_speed = 2, ⋮ 4865 type = "burner", 4866 fuel_categories = {"chemical"},
base/prototypes/entity/entities.lua lines 4858–4866 at 39dbd0f · upstream ↗ 4399 module_slots = 2, ⋮ 4406 crafting_categories = {"smelting"}, ⋮ 4408 crafting_speed = 2, 4409 energy_usage = "180kW", ⋮ 4413 type = "electric",
base/prototypes/entity/entities.lua lines 4399–4413 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^The core intermediates: a gear is 2 iron plates (0.5 s); copper cable is 1 copper plate for 2 cables (0.5 s); an electronic circuit is 1 iron plate and 3 cables (0.5 s); an advanced circuit is 2 electronic circuits, 2 plastic bars and 4 cables (6 s); a processing unit is 20 electronic circuits, 2 advanced circuits and 5 sulfuric acid (10 s, so only a machine that takes fluids can make it).Codefactorio-data 2.1.23
How we know
765 name = "iron-gear-wheel", 766 ingredients = {{type = "item", name = "iron-plate", amount = 2}}, 767 results = {{type="item", name="iron-gear-wheel", amount=1}}, ⋮ 772 name = "electronic-circuit", 773 ingredients = ⋮ 775 {type = "item", name = "iron-plate", amount = 1}, 776 {type = "item", name = "copper-cable", amount = 3} ⋮ 778 results = {{type="item", name="electronic-circuit", amount=1}},
base/prototypes/recipe.lua lines 765–780 at 39dbd0f · upstream ↗ 883 name = "copper-cable", ⋮ 885 ingredients = {{type = "item", name = "copper-plate", amount = 1}}, 886 results = {{type="item", name="copper-cable", amount=2}},
base/prototypes/recipe.lua lines 883–887 at 39dbd0f · upstream ↗ 2094 name = "advanced-circuit", ⋮ 2096 energy_required = 6, ⋮ 2099 {type = "item", name = "electronic-circuit", amount = 2}, 2100 {type = "item", name = "plastic-bar", amount = 2}, 2101 {type = "item", name = "copper-cable", amount = 4} ⋮ 2103 results = {{type="item", name="advanced-circuit", amount=1}}, ⋮ 2108 name = "processing-unit", 2109 categories = {"crafting-with-fluid"}, ⋮ 2111 energy_required = 10, ⋮ 2114 {type = "item", name = "electronic-circuit", amount = 20}, 2115 {type = "item", name = "advanced-circuit", amount = 2}, 2116 {type = "fluid", name = "sulfuric-acid", amount = 5} ⋮
base/prototypes/recipe.lua lines 2094–2119 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^The player can craft by hand only recipes in the "crafting" category (and the hand-only "hand-crafting" one): nothing smelted, nothing with a fluid, and none of the advanced-crafting recipes such as the engine unit.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23revised
How we know
715 crafting_categories = {"crafting", "hand-crafting"},base/prototypes/entity/entities.lua line 715 at 39dbd0f · upstream ↗ The base `"crafting"` category can not contain recipes with fluid ingredients or products.
RecipePrototype.categories · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^The player always crafts at speed 1. Asking for an item whose parts are missing but craftable queues those parts first (chain-crafting), which assembling machines don't do.WikiFactorio Wiki: Time · Factorio Wiki: Craftingrevised
How we know
The player always crafts at speed 1 while assembling machines have different crafting speeds.
Crafting time · archived copy ↗ Materials that you don't have but you can craft will be highlighted in orange text, and will be chain-crafted to reach the product you selected.
Manual crafting · archived copy ↗ Assembly machines cannot automatically chain-craft like the player.
Automated crafting · archived copy ↗ The quote matches our archived copy.
Revised after a check by a second AI model, 2026-10-26.
- ^Assembling machines 1, 2 and 3 craft at speeds 0.5, 0.75 and 1.25, drawing 75, 150 and 375 kW, with 0, 2 and 4 module slots. Machine 1 takes neither module nor beacon effects and can't craft recipes with fluids; machines 2 and 3 add the fluid category.Codefactorio-data 2.1.23
How we know
3189 crafting_categories = {"crafting", "advanced-crafting"}, 3190 crafting_speed = 0.5, ⋮ 3197 energy_usage = "75kW", ⋮ 3201 effect_receiver = {uses_module_effects = false, uses_beacon_effects = false, uses_surface_effects = true},
base/prototypes/entity/entities.lua lines 3189–3201 at 39dbd0f · upstream ↗ 3338 crafting_categories = {"crafting", "advanced-crafting", "crafting-with-fluid"}, ⋮ 3340 crafting_speed = 0.75, ⋮ 3347 energy_usage = "150kW", 3348 module_slots = 2,
base/prototypes/entity/entities.lua lines 3338–3348 at 39dbd0f · upstream ↗ 5567 crafting_categories = {"crafting", "advanced-crafting", "crafting-with-fluid"}, 5568 crafting_speed = 1.25, ⋮ 5575 energy_usage = "375kW", 5576 module_slots = 4,
base/prototypes/entity/entities.lua lines 5567–5576 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A recipe's time (
energy_required, 0.5 s when unset) is its seconds at crafting speed 1, and a machine divides it by its crafting speed: at speed 0.5 a 1-second recipe takes 2 seconds, at speed 2 half a second.PublisherFactorio Prototype API 2.1.23 · Factorio Wiki: TimeHow we know
Equals the number of seconds it takes to craft at crafting speed `1`.
RecipePrototype.energy_required · archived copy ↗ 1 means that for example a 1 second long recipe take 1 second to craft. 0.5 means it takes 2 seconds, and 2 means it takes 0.5 seconds.
CraftingMachinePrototype.crafting_speed · archived copy ↗ The player always crafts at speed 1 while assembling machines have different crafting speeds.
Crafting time · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-26.
- ^A belt has two lanes that move independently, each holding 4 items per tile whatever the item, so a full straight belt tile holds 8. Since 0.17 the spacing is 8 pixels in a 32-pixel tile, which gave the basic belt 15 items per second; before it was 9 pixels and 13.33 items per second.PublisherFactorio Prototype API 2.1.23 · Friday Facts #276 · Factorio Wiki: Transport belts/Physics
How we know
4 items/lane × 2 lanes/belt × 60 ticks/second
TransportBeltConnectablePrototype.speed · archived copy ↗ With a spacing of 8 pixels, belts now always fit exactly 8 items (4 on each side) … One suggestion that came up was to adjust the belt throughput from its unfriendly 13.33 items/s.
Belt item spacing · archived copy ↗ Belts have two parallel lanes, and the density and speed of each lane is constant and independent of the other one, regardless of twists and turns.
Definitions · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-26.
- ^The transport belt, fast transport belt and express transport belt move items at 0.03125, 0.0625 and 0.09375 tiles per tick: 1.875, 3.75 and 5.625 tiles per second. Each carries 15, 30 and 45 items per second, 7.5, 15 and 22.5 on each of its two lanes.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23
How we know
180 speed = 0.03125,base/prototypes/entity/transport-belts.lua line 180 at 39dbd0f · upstream ↗ 216 speed = 0.0625,base/prototypes/entity/transport-belts.lua line 216 at 39dbd0f · upstream ↗ 252 speed = 0.09375,base/prototypes/entity/transport-belts.lua line 252 at 39dbd0f · upstream ↗ The speed of the belt: `speed × 480 = x Items/second`. … The raw value is expressed as the number of tiles traveled by each item on the belt per tick
TransportBeltConnectablePrototype.speed · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Belts compress themselves: anything that puts an item on a belt (an inserter, a splitter, a side-loading belt, a drill) can use any gap wider than the standard spacing, squeezing the items for a moment until the belt opens the gap to full size, so a belt fills without holes before it backs up. Wube made this automatic in 0.16.25.Dev blogFriday Facts #231 · Factorio Wiki: Transport belts/Physics
How we know
whenever there is any gap bigger than the standard distance between items on a belt, item can be inserted there and for a (usually) brief moment, the items are squashed together closer than usual. … The result is, that the same setup in 0.16.25+ results in perfectly compressed belt
Belt compression · archived copy ↗ That means belts naturally become fully compressed before items start to back up.
Definitions · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-26.
- ^Underground belts run at their tier's belt speed and have a
max_distanceof 5, 7 and 9 tiles for the basic, fast and express tiers; the basic one passes under up to 4 tiles between its entrance and exit.Codefactorio-data 2.1.23 · Factorio Wiki: Underground beltHow we know
268 max_distance = 5,base/prototypes/entity/transport-belts.lua line 268 at 39dbd0f · upstream ↗ 394 max_distance = 7,base/prototypes/entity/transport-belts.lua line 394 at 39dbd0f · upstream ↗ 515 max_distance = 9,base/prototypes/entity/transport-belts.lua line 515 at 39dbd0f · upstream ↗ The underground belt has a maximum underground distance of 4 squares.
introduction · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A splitter takes two belts in and sends two out, dividing items evenly and keeping each item in its lane; when one output backs up, everything goes to the other. Either input and either output can be given priority, and a filter sends one item type to one side and everything else to the other.WikiFactorio Wiki: Belt transport systemrevised
How we know
If one of the outputs is fully backed-up and the splitter cannot split evenly, it will put all input on its other output. … Splitters preserve the lanes of the items, by moving through the splitter an item on the right lane will not be moved to the left lane, and vice versa.
Splitters, Mechanics · archived copy ↗ A splitter where the input priority has been set will first try to consume the specified input side, and will only consume the other input once there is a gap on the prioritized input belt.
Splitters, Priority · archived copy ↗ All items of the set type will be redirected to that specific output and all other items are directed to the other output.
Splitters, Filter · archived copy ↗ The quote matches our archived copy.
Revised after a check by a second AI model, 2026-10-26.
- ^Belts carry whatever walks on them, the player included, so running along a belt adds its speed and running against it takes it away; biters and spitters ride belts too.WikiFactorio Wiki: Belt transport system
How we know
Running on a belt will increase or decrease the movement speed of the player accordingly to the belts speed. … Additionally, biters and spitters can be moved.
Belt tricks · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-26.
- ^Ordinary inserters pick up from the tile behind them and drop on the tile in front; the long-handed inserter reaches one tile further at both ends, picking up two tiles away and dropping two tiles away.Codefactorio-data 2.1.23
How we know
2387 pickup_position = {0, -1}, 2388 insert_position = {0, 1.2},
base/prototypes/entity/entities.lua lines 2387–2388 at 39dbd0f · upstream ↗ 2528 pickup_position = {0, -2}, 2529 insert_position = {0, 2.2},
base/prototypes/entity/entities.lua lines 2528–2529 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^The wiki measures a full swing (pick up, drop, return) at 76 ticks for the burner inserter, 70 for the inserter, 48 for the long-handed inserter and 24 for the fast and bulk inserters: about 0.79, 0.86, 1.25 and 2.5 swings a second.WikiFactorio Wiki: Insertersrevised
How we know
The speeds per tick come directly from the factorio-data…while the other values have been verified empirically in game.
Inserter speed · archived copy ↗ Arm cycles per second (ticks per cycle)…0.79 (76 ticks)…0.86 (70 ticks)
Inserter throughput, Chest to chest · archived copy ↗ If the rotation speed of an inserter would result in an odd number of ticks per full turn, the actual number of ticks per full turn for this inserter is truncated to be the next lowest even number.
Rotation speed · archived copy ↗ The quote matches our archived copy.
Revised after a check by a second AI model, 2026-10-26.
- ^By default an inserter drops onto the far lane of a belt that crosses in front of it, and it picks up from the near lane first. Wube's FFF #442 describes the drop arrow shifting to the side the inserter will drop to, and flipping the inserter to change that side. Since 2.1.7, an inserter dropping onto a splitter always feeds the splitter's input side.WikiFactorio Wiki: Inserters · Friday Facts #442 · factorio-data 2.1.23revised
How we know
If the belt is perpendicular to the inserter, inserters prefer taking items from the nearest lane. … Inserters place the item on the furthest lane.
Inserters and transport belts · archived copy ↗ If you pay close attention, you might also notice that the drop arrow shifts subtly to the side, so that you know which side of the belt the machine will drop to. … So using the flip hotkey it is possible to adjust which side of the belt a machine will drop to. … inserters will now always drop to the input sides of splitters.
Drop lane indication on perpendicular belts · archived copy ↗ 665 - Inserters dropping items onto splitter always insert on the input lines.changelog.txt line 665 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^Inserters don't fill a crafting machine's whole input: it takes ingredients for as many crafts as it finishes in 1.166 seconds (the longest swing of a base inserter) plus one, at least 2 and at most 100 crafts' worth. The rest stays on the belt for the next machine.Codefactorio-data 2.1.23revised
How we know
409 -- 1.166 is a magic number representing the maximum number of seconds it takes for a base game inserter to do one cycle. 410 -- the calculated overload multiplier is the number of crafts we can complete during one inserter full swing + 1 411 dynamic_recipe_overload_factor = 1.166, 412 minimum_recipe_overload_multiplier = 2, 413 maximum_recipe_overload_multiplier = 100,
core/prototypes/utility-constants.lua lines 409–413 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^A lab researches at speed 1, draws 60 kW, has 2 module slots, and accepts all seven science packs: automation, logistic, military, chemical, production, utility and space. A technology needing a pack the lab doesn't list can't be researched in it.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23
How we know
3988 energy_usage = "60kW", 3989 researching_speed = 1, ⋮ 3992 "automation-science-pack", 3993 "logistic-science-pack", 3994 "military-science-pack", 3995 "chemical-science-pack", 3996 "production-science-pack", 3997 "utility-science-pack", 3998 "space-science-pack" ⋮ 4000 module_slots = 2,
base/prototypes/entity/entities.lua lines 3988–4000 at 39dbd0f · upstream ↗ A list of the names of science packs that can be used in this lab.
LabPrototype.inputs · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Seven technologies are unlocked by doing something rather than by labs: Steam power by crafting 50 iron plates, Electronics by crafting 10 copper plates, Automation science pack by crafting a lab, Steel axe by crafting 50 steel plates, Oil processing by mining crude oil, Uranium processing by mining uranium ore, and Space science pack by launching a satellite. Steam power and Electronics need nothing before them, so the tree starts from these two.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23
How we know
45 research_trigger = ⋮ 47 type = "craft-item", 48 item = "iron-plate", 49 count = 50
base/prototypes/technology.lua lines 45–50 at 39dbd0f · upstream ↗ 80 research_trigger = ⋮ 82 type = "craft-item", 83 item = "copper-plate", 84 count = 10
base/prototypes/technology.lua lines 80–85 at 39dbd0f · upstream ↗ 100 prerequisites = {"steam-power", "electronics"}, 101 research_trigger = ⋮ 103 type = "craft-item", 104 item = "lab"
base/prototypes/technology.lua lines 100–105 at 39dbd0f · upstream ↗ 2018 research_trigger = ⋮ 2020 type = "craft-item", 2021 item = "steel-plate", 2022 count = 50
base/prototypes/technology.lua lines 2018–2023 at 39dbd0f · upstream ↗ 4627 research_trigger = ⋮ 4629 type = "mine-entity", 4630 entities = {"crude-oil"}
base/prototypes/technology.lua lines 4627–4631 at 39dbd0f · upstream ↗ 5119 research_trigger = ⋮ 5121 type = "mine-entity", 5122 entities = {"uranium-ore"}
base/prototypes/technology.lua lines 5119–5123 at 39dbd0f · upstream ↗ 2705 research_trigger = ⋮ 2707 type = "send-item-to-orbit", 2708 item = "satellite" ⋮ 2710 prerequisites = {"rocket-silo"}
base/prototypes/technology.lua lines 2705–2710 at 39dbd0f · upstream ↗ Mandatory if `unit` is not defined.
TechnologyPrototype.research_trigger · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A technology costs a number of units, each needing one set of its science packs and a set time; at lab speed 1 a unit's time is its seconds, so labs working together divide the total. Only one technology is researched at a time per force, though progress on a switched-away technology is kept.PublisherFactorio Prototype API 2.1.23 · Factorio Wiki: Research
How we know
How much time one unit takes to research. In a lab with a crafting speed of `1`, it corresponds to the number of seconds.
TechnologyUnit.time · archived copy ↗ 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. … In singleplayer games, only one technology can be researched at a time. … if another research is in progress, that progress will be saved.
Mechanics · archived copy ↗ The quote matches our archived copy.
Checked by a second AI model, 2026-10-26.
- ^Science packs: automation (red) is 1 copper plate and 1 gear in 5 s; logistic (green) is 1 inserter and 1 transport belt in 6 s; military makes 2 from a piercing magazine, a grenade and 2 walls in 10 s; chemical (blue) makes 2 from 2 engine units, 3 advanced circuits and 1 sulfur in 24 s; production (purple) makes 3 from an electric furnace, a productivity module and 30 rails in 21 s; utility (yellow) makes 3 from 3 low density structures, 2 processing units and a flying robot frame in 21 s. Space science packs aren't crafted: a rocket launched with a satellite returns 1,000.Codefactorio-data 2.1.23
How we know
1002 name = "automation-science-pack", ⋮ 1004 energy_required = 5, ⋮ 1007 {type = "item", name = "copper-plate", amount = 1}, 1008 {type = "item", name = "iron-gear-wheel", amount = 1} ⋮ 1010 results = {{type="item", name="automation-science-pack", amount=1}}, ⋮ 1020 name = "logistic-science-pack", ⋮ 1022 energy_required = 6, ⋮ 1025 {type = "item", name = "inserter", amount = 1}, 1026 {type = "item", name = "transport-belt", amount = 1} ⋮ 1028 results = {{type="item", name="logistic-science-pack", amount=1}},
base/prototypes/recipe.lua lines 1002–1034 at 39dbd0f · upstream ↗ 1963 name = "chemical-science-pack", ⋮ 1965 energy_required = 24, ⋮ 1968 {type = "item", name = "engine-unit", amount = 2}, 1969 {type = "item", name = "advanced-circuit", amount = 3}, 1970 {type = "item", name = "sulfur", amount = 1} ⋮ 1972 results = {{type="item", name="chemical-science-pack", amount=2}}, ⋮ 1982 name = "military-science-pack", ⋮ 1984 energy_required = 10, ⋮ 1987 {type = "item", name = "piercing-rounds-magazine", amount = 1}, 1988 {type = "item", name = "grenade", amount = 1}, 1989 {type = "item", name = "stone-wall", amount = 2} ⋮ 1991 results = {{type="item", name="military-science-pack", amount=2}}, ⋮
base/prototypes/recipe.lua lines 1963–2035 at 39dbd0f · upstream ↗ 2110 rocket_launch_products = {{type = "item", name = "space-science-pack", amount = 1000}},base/prototypes/item.lua line 2110 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^ abThe base mod's technology.lua in 2.1.23 defines 196 technologies (Space Age adds more, not counted here). Sorted by the most advanced science pack each needs, 15 need automation packs only, 60 reach logistic, 54 chemical, 17 production, 34 utility and 9 space, and 7 are trigger technologies; 64 of them also need military packs. Nine of these are infinite, repeating at a rising cost, among them mining productivity and the weapon damage upgrades.Codefactorio-data 2.1.23revised
How we know
5300 name = "mining-productivity-4", ⋮ 5324 max_level = "infinite",
base/prototypes/technology.lua lines 5300–5324 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^ abThe Rocket silo technology costs 1,000 units of the five packs from automation to utility at 60 seconds each and needs eight technologies first. A rocket takes 100 rocket parts (each 10 processing units, 10 low density structures and 10 rocket fuel, 3 s); launching one with a satellite returns 1,000 space science packs and unlocks the Space science pack technology, which leads to the infinite technologies.Codefactorio-data 2.1.23
How we know
3592 prerequisites = ⋮ 3594 "concrete", 3595 "rocket-fuel", 3596 "electric-energy-accumulators", 3597 "solar-energy", 3598 "utility-science-pack", 3599 "speed-module-3", 3600 "productivity-module-3", 3601 "radar" ⋮ 3605 count = 1000, ⋮ 3609 {"automation-science-pack", 1}, 3610 {"logistic-science-pack", 1}, ⋮
base/prototypes/technology.lua lines 3592–3615 at 39dbd0f · upstream ↗ 6115 rocket_parts_required = 100,base/prototypes/entity/entities.lua line 6115 at 39dbd0f · upstream ↗ 2471 name = "rocket-part", 2472 energy_required = 3, ⋮ 2476 categories = {"rocket-building"}, ⋮ 2479 {type = "item", name = "processing-unit", amount = 10}, 2480 {type = "item", name = "low-density-structure", amount = 10}, 2481 {type = "item", name = "rocket-fuel", amount = 10} ⋮ 2483 results = {{type="item", name="rocket-part", amount=1}},
base/prototypes/recipe.lua lines 2471–2484 at 39dbd0f · upstream ↗ 2110 rocket_launch_products = {{type = "item", name = "space-science-pack", amount = 1000}},base/prototypes/item.lua line 2110 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^An offshore pump draws 20 units of water a tick, 1,200 a second, needing no power source of its own (a void energy source): enough water for 200 boilers and 400 steam engines.Codefactorio-data 2.1.23 · Factorio Wiki: Power production
How we know
1969 type = "void" ⋮ 1971 energy_usage = "60kW", 1972 pumping_speed = 20,
base/prototypes/entity/entities.lua lines 1967–1972 at 39dbd0f · upstream ↗ one offshore pump produces 1200 water per second, so each offshore pump produces enough water to supply 200 boilers
Steam power · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A boiler burns chemical fuel at 1.8 MW and heats water to 165 °C steam. With water's heat capacity 2 kJ and steam's 0.2 kJ per unit per degree, one unit of water becomes ten of steam: a boiler takes 6 water and gives 60 steam per second.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23 · Factorio Wiki: Power production
How we know
1257 target_temperature = 165,base/prototypes/entity/entities.lua line 1257 at 39dbd0f · upstream ↗ 1281 energy_consumption = "1.8MW", ⋮ 1284 type = "burner", 1285 fuel_categories = {"chemical"}, 1286 effectivity = 1,
base/prototypes/entity/entities.lua lines 1281–1286 at 39dbd0f · upstream ↗ 28 name = "water", 29 subgroup = "fluid", 30 default_temperature = 15, 31 max_temperature = 100, 32 heat_capacity = "2kJ",
base/prototypes/fluid.lua lines 28–32 at 39dbd0f · upstream ↗ 40 name = "steam", 41 subgroup = "fluid", 42 default_temperature = 15, 43 max_temperature = 500, 44 heat_capacity = "0.2kJ",
base/prototypes/fluid.lua lines 40–44 at 39dbd0f · upstream ↗ The boiler heats the input fluid to exactly this temperature and moves the fluid to the output fluid box.
BoilerPrototype.target_temperature · archived copy ↗ One boiler consumes 6 units of water to produce 60 units of steam per second
Steam power · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A steam engine uses 0.5 units of steam a tick (30 a second) and gets full value from steam up to 165 °C, so it gives at most (165 − 15) × 0.5 × 0.2 kJ = 15 kJ a tick: 900 kW. One boiler (1.8 MW) feeds exactly two engines.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23 · Factorio Wiki: Power production
How we know
1778 effectivity = 1, 1779 fluid_usage_per_tick = 0.5, 1780 maximum_temperature = 165,
base/prototypes/entity/entities.lua lines 1778–1780 at 39dbd0f · upstream ↗ Then, the max power output is `(min(fluid_max_temp, maximum_temperature) - fluid_default_temp) × fluid_usage_per_tick × fluid_heat_capacity × effectivity`
GeneratorPrototype.maximum_temperature · archived copy ↗ One steam engine consumes 900kW (0.9MW) of energy stored in steam, so each boiler can supply 2 steam engines
Steam power · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Electric poles power machines in a square around them and link to other poles within their wire reach: small pole 5×5 area and 7.5 tiles, medium pole 7×7 and 9, big pole 4×4 and 32, substation 18×18 and 18.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23
How we know
1655 maximum_wire_distance = 7.5, 1656 supply_area_distance = 2.5,
base/prototypes/entity/entities.lua lines 1655–1656 at 39dbd0f · upstream ↗ 4705 maximum_wire_distance = 9, 4706 supply_area_distance = 3.5,
base/prototypes/entity/entities.lua lines 4705–4706 at 39dbd0f · upstream ↗ 4570 maximum_wire_distance = 32, 4571 supply_area_distance = 2,
base/prototypes/entity/entities.lua lines 4570–4571 at 39dbd0f · upstream ↗ 7646 maximum_wire_distance = 18, 7647 supply_area_distance = 9,
base/prototypes/entity/entities.lua lines 7646–7647 at 39dbd0f · upstream ↗ If this is 3.5, the pole will have a 7x7 supply area.
ElectricPolePrototype.supply_area_distance · archived copy ↗ Corresponds to "wire reach" in the item tooltip.
ElectricPolePrototype.maximum_wire_distance · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A solar panel gives up to 60 kW. Nauvis's day lasts 7 minutes (25,200 ticks). Wube's comment marks the phases: full output for half of it, a fall over the next fifth (dusk), nothing for a tenth (night), and a rise over a fifth (dawn). The wiki says the fall and rise are linear, which gives an average of 70%, the 42 kW per panel the wiki states.Codefactorio-data 2.1.23 · Factorio Wiki: Time · Factorio Wiki: Solar panelrevised
How we know
5356 production = "60kW",base/prototypes/entity/entities.lua line 5356 at 39dbd0f · upstream ↗ 28 surface_properties = ⋮ 30 ["day-night-cycle"] = 7 * minute
base/prototypes/planet/planet.lua lines 28–31 at 39dbd0f · upstream ↗ 903second = 60 904minute = 60 * second
core/lualib/util.lua lines 903–904 at 39dbd0f · upstream ↗ 492 -- Should be based on the default day/night times, ie 493 -- sun starts to set at 0.25 494 -- sun fully set at 0.45 495 -- sun starts to rise at 0.55 496 -- sun fully risen at 0.75
core/prototypes/utility-constants.lua lines 492–496 at 39dbd0f · upstream ↗ An in-game day on Nauvis lasts 25200 ticks or 7 in-game minutes.
Days · archived copy ↗ Generated power will increase/decrease linearly during dawn and dusk, and no power is produced at night. … On Nauvis, one solar panel produces 17640 kJ per cycle, or an average of 42 kW over a day/night cycle.
Mechanics · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^An accumulator stores 5 MJ and charges or discharges at up to 300 kW. Since a solar panel's night and twilight leave a gap to fill, the wiki's Solar panel page puts the need at about 0.85 (0.84672) accumulators per panel on Nauvis.Codefactorio-data 2.1.23 · Factorio Wiki: Solar panelrevised
How we know
5391 buffer_capacity = "5MJ", 5392 usage_priority = "tertiary", 5393 input_flow_limit = "300kW", 5394 output_flow_limit = "300kW"
base/prototypes/entity/entities.lua lines 5391–5394 at 39dbd0f · upstream ↗ requires 0.84672 ≈ 0.85 accumulators to sustain a constant power output through the night.
Solar panels and accumulators · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^A nuclear reactor turns a uranium fuel cell (8 GJ, 200 seconds at full power) into 40 MW of heat, plus 100% for each adjacent reactor that is also fuelled: two side by side make 160 MW between them. It holds heat up to 1,000 °C at 10 MJ per degree.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23 · Factorio Wiki: Nuclear reactor
How we know
8971 consumption = "40MW", 8972 neighbour_bonus = 1,
base/prototypes/entity/entities.lua lines 8971–8972 at 39dbd0f · upstream ↗ 9053 max_temperature = 1000, 9054 specific_heat = "10MJ",
base/prototypes/entity/entities.lua lines 9053–9054 at 39dbd0f · upstream ↗ 2310 burnt_result = "depleted-uranium-fuel-cell", 2311 fuel_value = "8GJ",
base/prototypes/item.lua lines 2310–2311 at 39dbd0f · upstream ↗ How much energy this reactor can consume (from the input energy source) and then output as heat.
ReactorPrototype.consumption · archived copy ↗ Reactors receive a bonus for adjacent operating reactors, which increases their effective thermal output by 100% per each such link. … Both reactors are fueled.
Neighbour bonus · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A heat exchanger takes up to 10 MW from heat pipes at 500 °C or more and makes 500 °C steam; a steam turbine uses 1 unit of steam a tick and gets full value up to 500 °C, so it gives (500 − 15) × 1 × 0.2 kJ × 60 = 5.82 MW. A lone reactor feeds 4 exchangers, and each neighbour bonus 4 more.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23 · Factorio Wiki: Power production
How we know
9359 target_temperature = 500,base/prototypes/entity/entities.lua line 9359 at 39dbd0f · upstream ↗ 9383 energy_consumption = "10MW", ⋮ 9386 type = "heat", 9387 max_temperature = 1000, ⋮ 9390 min_working_temperature = 500,
base/prototypes/entity/entities.lua lines 9383–9390 at 39dbd0f · upstream ↗ 9661 effectivity = 1, 9662 fluid_usage_per_tick = 1, 9663 maximum_temperature = 500,
base/prototypes/entity/entities.lua lines 9661–9663 at 39dbd0f · upstream ↗ Then, the max power output is `(min(fluid_max_temp, maximum_temperature) - fluid_default_temp) × fluid_usage_per_tick × fluid_heat_capacity × effectivity`
GeneratorPrototype.maximum_temperature · archived copy ↗ A reactor without neighbor bonus needs 4 heat exchangers so that all its heat gets consumed. For each 100% neighbor bonus, the reactor needs 4 more heat exchangers.
Nuclear power · archived copy ↗ 674 - Reduced steam's max temperature to 500 degrees, as that is the highest temperature that can be produced in Space Age.changelog.txt line 674 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^An oil refinery (crafting speed 1, 420 kW, 3 module slots) runs three 5-second recipes: basic oil processing turns 100 crude oil into 45 petroleum gas; advanced oil processing turns 100 crude oil and 50 water into 25 heavy oil, 45 light oil and 55 petroleum gas; coal liquefaction turns 10 coal, 25 heavy oil and 50 steam into 90 heavy oil, 20 light oil and 10 petroleum gas.Codefactorio-data 2.1.23
How we know
8403 module_slots = 3, ⋮ 8405 crafting_categories = {"oil-processing"}, 8406 crafting_speed = 1, ⋮ 8413 energy_usage = "420kW",
base/prototypes/entity/entities.lua lines 8403–8413 at 39dbd0f · upstream ↗ 153 name = "basic-oil-processing", ⋮ 156 energy_required = 5, ⋮ 159 {type = "fluid", name = "crude-oil", amount = 100, fluidbox_index = 2} ⋮ 163 {type = "fluid", name = "petroleum-gas", amount = 45, fluidbox_index = 3} ⋮ 178 name = "advanced-oil-processing", ⋮ 181 energy_required = 5, ⋮ 184 {type = "fluid", name = "water", amount = 50}, 185 {type = "fluid", name = "crude-oil", amount = 100} ⋮ 189 {type = "fluid", name = "heavy-oil", amount = 25}, 190 {type = "fluid", name = "light-oil", amount = 45}, 191 {type = "fluid", name = "petroleum-gas", amount = 55} ⋮ 205 name = "coal-liquefaction", ⋮
base/prototypes/recipe.lua lines 153–229 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A chemical plant (crafting speed 1, 210 kW, 3 module slots) cracks oil downward in 2-second recipes: 40 heavy oil and 30 water into 30 light oil, and 30 light oil and 30 water into 20 petroleum gas. Its other base recipes include plastic (20 petroleum gas and 1 coal into 2 bars), sulfur (30 petroleum gas and 30 water into 2), sulfuric acid (5 sulfur, 1 iron plate and 100 water into 50) and lubricant (10 heavy oil into 10), each in 1 second.Codefactorio-data 2.1.23
How we know
8849 crafting_speed = 1, ⋮ 8856 energy_usage = "210kW", 8857 crafting_categories = {"chemistry"},
base/prototypes/entity/entities.lua lines 8849–8857 at 39dbd0f · upstream ↗ 234 name = "heavy-oil-cracking", ⋮ 238 energy_required = 2, ⋮ 241 {type = "fluid", name = "water", amount = 30}, 242 {type = "fluid", name = "heavy-oil", amount = 40} ⋮ 246 {type = "fluid", name = "light-oil", amount = 30} ⋮ 264 name = "light-oil-cracking", ⋮ 268 energy_required = 2, ⋮ 271 {type = "fluid", name = "water", amount = 30}, 272 {type = "fluid", name = "light-oil", amount = 30} ⋮ 276 {type = "fluid", name = "petroleum-gas", amount = 20} ⋮ 294 name = "sulfuric-acid", ⋮ 298 energy_required = 1, ⋮
base/prototypes/recipe.lua lines 234–344 at 39dbd0f · upstream ↗ 433 name = "sulfur", ⋮ 435 energy_required = 1, ⋮ 440 {type = "fluid", name = "water", amount = 30}, 441 {type = "fluid", name = "petroleum-gas", amount = 30} ⋮ 445 {type = "item", name = "sulfur", amount = 2} ⋮ 459 name = "lubricant", ⋮ 463 energy_required = 1, ⋮ 466 {type = "fluid", name = "heavy-oil", amount = 10} ⋮ 470 {type = "fluid", name = "lubricant", amount = 10}
base/prototypes/recipe.lua lines 433–481 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^ abWube's FFF #416 and #430 (2024) describe 2.0's fluids: connected pipes, underground pipes and storage tanks form one segment holding one fluid, and a pump splits one segment from the next. Fluid put into a segment is available at once anywhere along it: there is no flow from pipe to pipe, so pipe length and junctions no longer cut throughput as they did in 1.x. Each transfer is capped at 100 units (6,000 a second) and scaled by how full the source and the sink are, so a machine pushing in slows as the segment fills. These rules are the posts'; they weren't re-checked against 2.1.23.Dev blogFriday Facts #416 · Friday Facts #430revised
How we know
Pipes, underground pipes, and storage tanks are merged into fluid "segments". … There is no longer a realistic fluid "flow" through pipes; fluid pushed to a segment will be immediately available at any point along a segment. … In the old system, throughput would get worse as pipes got longer. … In the new system, junctions are entirely unimportant; a segment only cares about the machines connected to it.
Fluids 2.0 · archived copy ↗ You can split a pipeline using a pump.
Pipeline extents · archived copy ↗ Output rate used to be unlimited, but it is now inversely proportional to the fullness ratio of the sink. … there is a hardcoded limit of 100 fluid per flow operation (6000/s). … This limit is multiplied with the fullness ratios of the source and sink to produce the actual flow value
Algorithm tweaks · archived copy ↗ The quote matches our archived copy.
Revised after a check by a second AI model, 2026-10-26.
- ^In 2.1.23 a pipeline's extent is limited by
default_pipeline_extent= 320, which a fluidbox can override; a pipeline takes the smallest extent of its parts. The data doesn't say how the extent is measured. When Wube introduced the limit in 2024, FFF #430 described it as a 250 × 250 tile area whose overrun stops all flow until pumps split the pipeline.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23 · Friday Facts #430revisedHow we know
560 default_pipeline_extent = 320, -- Can be overridden on a per-fluidbox basiscore/prototypes/utility-constants.lua line 560 at 39dbd0f · upstream ↗ The max extent that a pipeline with this fluidbox can span. A given pipeline's extent is calculated as the min extent of all the fluidboxes that comprise it.
FluidBox.max_pipeline_extent · archived copy ↗ Pipelines are constrained to a 250x250 tile area, and exceeding this limit will cause all flow through the pipeline to cease. … You can split a pipeline using a pump.
Pipeline extents · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^A pipe and an underground pipe each hold 100 units and a storage tank 25,000. An underground pipe pair has a
max_underground_distanceof 10. A pump moves 20 units a tick (1,200 a second) for 29 kW, a tenth of its earlier rate: Wube cut it in 2024 when pipelines gained their extent limit.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23 · Friday Facts #430How we know
2766 volume = 100,base/prototypes/entity/entities.lua line 2766 at 39dbd0f · upstream ↗ 3026 volume = 100,base/prototypes/entity/entities.lua line 3026 at 39dbd0f · upstream ↗ 3035 max_underground_distance = 10,base/prototypes/entity/entities.lua line 3035 at 39dbd0f · upstream ↗ 7094 volume = 25000,base/prototypes/entity/entities.lua line 7094 at 39dbd0f · upstream ↗ 7255 energy_usage = "29kW", 7256 pumping_speed = 20,
base/prototypes/entity/entities.lua lines 7255–7256 at 39dbd0f · upstream ↗ The amount of fluid this pump transfers per tick.
PumpPrototype.pumping_speed · archived copy ↗ Pumps have been nerfed to 1200/s (10x decrease), but this can be increased with quality.
Balance tweaks · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Modules come in three kinds of three tiers. Speed modules add +20%, +30% and +50% speed for +50%, +60% and +70% energy; efficiency modules cut energy by 30%, 40% and 50%; productivity modules add +4%, +6% and +10% productivity, at −5%, −10% and −15% speed, +40%, +60% and +80% energy, and +5%, +7% and +10% pollution.Codefactorio-data 2.1.23
How we know
2556 effect = {speed = 0.2, consumption = 0.5, quality = -0.01},base/prototypes/item.lua line 2556 at 39dbd0f · upstream ↗ 2580 effect = {speed = 0.3, consumption = 0.6, quality = -0.015},base/prototypes/item.lua line 2580 at 39dbd0f · upstream ↗ 2604 effect = {speed = 0.5, consumption = 0.7, quality = -0.025},base/prototypes/item.lua line 2604 at 39dbd0f · upstream ↗ 2628 effect = {consumption = -0.3},base/prototypes/item.lua line 2628 at 39dbd0f · upstream ↗ 2652 effect = {consumption = -0.4},base/prototypes/item.lua line 2652 at 39dbd0f · upstream ↗ 2676 effect = {consumption = -0.5},base/prototypes/item.lua line 2676 at 39dbd0f · upstream ↗ 2700 effect = ⋮ 2702 productivity = 0.04, 2703 consumption = 0.4, 2704 pollution = 0.05, 2705 speed = -0.05
base/prototypes/item.lua lines 2700–2706 at 39dbd0f · upstream ↗ 2723 effect = ⋮ 2725 productivity = 0.06, 2726 consumption = 0.6, 2727 pollution = 0.07, 2728 speed = -0.1
base/prototypes/item.lua lines 2723–2729 at 39dbd0f · upstream ↗ 2746 effect = ⋮ 2748 productivity = 0.1, 2749 consumption = 0.8, 2750 pollution = 0.1, 2751 speed = -0.15
base/prototypes/item.lua lines 2746–2752 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Productivity adds bonus output on top of the work done: at +10%, every ten crafts give an eleventh free. A machine's effects can't push productivity below −80%. A recipe accepts it only if it sets
allow_productivity, as iron plate does.CodeFactorio API: Effect · factorio-data 2.1.23revisedHow we know
Multiplied against work completed, adds to the bonus results of operating. E.g. an extra crafted recipe or immediate research bonus. … The minimum possible sum defaults to -80%
productivity · archived copy ↗ 1452 name = "iron-plate", ⋮ 1456 ingredients = {{type = "item", name = "iron-ore", amount = 1}}, ⋮ 1458 allow_productivity = true
base/prototypes/recipe.lua lines 1452–1458 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^A beacon (480 kW, 2 module slots) passes its modules' effects at 1.5× to machines up to 3 tiles away, but each machine scales what it receives by the number of beacons reaching it: × 1, 0.7071, 0.5773, 0.5 for one to four beacons (1 ÷ √n), down to 0.1 at a hundred.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23
How we know
7796 supply_area_distance = 3,base/prototypes/entity/entities.lua line 7796 at 39dbd0f · upstream ↗ 7814 energy_usage = "480kW", 7815 distribution_effectivity = 1.5, 7816 distribution_effectivity_bonus_per_quality_level = 0.2, ⋮ 7818 beacon_counter = "same_type", 7819 module_slots = 2,
base/prototypes/entity/entities.lua lines 7814–7819 at 39dbd0f · upstream ↗ The maximum distance that this beacon can supply its neighbors with its module's effects.
BeaconPrototype.supply_area_distance · archived copy ↗ The multiplier of the module's effects, when shared between neighbors.
BeaconPrototype.distribution_effectivity · archived copy ↗ Extra multiplier applied to the effects received from beacon by the effect receiver based on amount of beacons that are in range of that effect receiver.
BeaconPrototype.profile · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A locomotive burns chemical fuel (wood, coal, solid fuel, rocket fuel, nuclear fuel) from three fuel slots.Codefactorio-data 2.1.23
How we know
546 energy_source = ⋮ 548 type = "burner", 549 fuel_categories = {"chemical"}, 550 effectivity = 1, 551 fuel_inventory_size = 3,
base/prototypes/entity/trains.lua lines 546–551 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Better fuels make a locomotive accelerate faster and run faster: solid fuel gives ×1.2 acceleration and ×1.05 top speed, rocket fuel ×1.8 and ×1.15, and nuclear fuel ×2.5 and ×1.15. Wood (2 MJ) and coal (4 MJ) set neither.Codefactorio-data 2.1.23
How we know
767 fuel_value = "12MJ", 768 fuel_acceleration_multiplier = 1.2, 769 fuel_top_speed_multiplier = 1.05,
base/prototypes/item.lua lines 767–769 at 39dbd0f · upstream ↗ 784 fuel_value = "100MJ", 785 fuel_acceleration_multiplier = 1.8, 786 fuel_top_speed_multiplier = 1.15,
base/prototypes/item.lua lines 784–786 at 39dbd0f · upstream ↗ 2073 fuel_value = "1.21GJ", 2074 fuel_acceleration_multiplier = 2.5, 2075 fuel_top_speed_multiplier = 1.15,
base/prototypes/item.lua lines 2073–2075 at 39dbd0f · upstream ↗ 72 fuel_categories = {"chemical"}, 73 fuel_value = "4MJ",
base/prototypes/item.lua lines 72–73 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^ abA cargo wagon holds 40 stacks of items; a fluid wagon holds 50,000 units of one fluid.Codefactorio-data 2.1.23
How we know
821 inventory_size = 40,base/prototypes/entity/trains.lua line 821 at 39dbd0f · upstream ↗ 1026 capacity = 50000,base/prototypes/entity/trains.lua line 1026 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Rail signals cut the track into blocks, and a train may enter a block only when no other train is in it; signals keep trains from colliding or blocking each other, while the train already knows its route.Dev blogFriday Facts #81
How we know
In Factorio, trains know exactly where to go, and signals are mainly just preventing them from crashing to each other or blocking each other.
The chain signal in detail · archived copy ↗ While normal signal prevents train from entering the occupied block
The definition · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A chain signal holds a train back not only when the block beyond it is occupied but also when the exit the train will take out of that block isn't free, so a train doesn't enter a junction or a shared single-track section unless it can leave it.Dev blogFriday Facts #81revised
How we know
While normal signal prevents train from entering the occupied block, chain signal prevents train from entering the block also when the exit isn't free. When more exits exist, the one relevant to the train path is taken into account.
The definition · archived copy ↗ With chain signals, this problem can be totally avoided by preventing the train from going to the shared section unless it can exit it.
Deadlock prevention · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^The train pathfinder searches the rail graph, from both ends of the train when it can drive either way, for any stop with the scheduled name that isn't disabled, scoring each rail segment by its length, plus a penalty for an occupied block of twice its length divided by how many blocks it lies from the start.WikiFactorio Wiki: Train path finder
How we know
The pathfinder first builds a list of non-disabled stops that match the name in the schedule, then searches outward from both ends of the train at once, if applicable, in segments. … Base cost for a block/segment is the length of the segment (linear grid length along the center of the rail). … When the rail block is occupied by a train -> Add a penalty of 2 * length of the block divided by the number of blocks from the start, so the far away occupied paths don't matter much.
Path finding penalties · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^On top of length, a path pays fixed penalties: 2000 for each train stop it passes, 1000 for a signal the circuit network holds red, 500 for a train standing at a stop (1000 if it has no other valid stop), 100 for a train arriving at a stop or signal, 100 plus 0.1 per tick waited for a train waiting at a signal, 1000 for a train with no path, 2000 for a manually driven train stopped with a passenger and 7000 without one, and 7000 for an automatic train with no schedule.Codefactorio-data 2.1.23 · Factorio Wiki: Train path finder
How we know
318 train_path_finding = ⋮ 320 train_stop_penalty = 2000, 321 stopped_manually_controlled_train_penalty = 2000, 322 stopped_manually_controlled_train_without_passenger_penalty = 7000, 323 signal_reserved_by_circuit_network_penalty = 1000, 324 train_in_station_penalty = 500, 325 train_in_station_with_no_other_valid_stops_in_schedule = 1000, 326 train_arriving_to_station_penalty = 100, 327 train_arriving_to_signal_penalty = 100, 328 train_waiting_at_signal_penalty = 100, 329 train_waiting_at_signal_tick_multiplier_penalty = 0.1, 330 train_with_no_path_penalty = 1000, ⋮
core/prototypes/utility-constants.lua lines 318–331 at 39dbd0f · upstream ↗ When the path includes a train stop -> Add a penalty of 2000.
Path finding penalties · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A new time wait condition defaults to 30 seconds and an inactivity condition to 5 seconds; a temporary stop waits 5 seconds by default.Codefactorio-data 2.1.23
How we know
402 train_temporary_stop_wait_time = 60 * 5, 403 train_time_wait_condition_default = 60 * 30, 404 train_inactivity_wait_condition_default = 60 * 5,
core/prototypes/utility-constants.lua lines 402–404 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^2.0 added schedule interrupts: each has a list of conditions and a list of target stops with wait conditions. When a train is about to leave a station it checks its interrupts in order, and the first whose conditions hold pastes its targets into the schedule as temporary stops. Interrupts are shared by name between schedules, and one can't fire inside another unless it has the "In interrupt" condition.Dev blogFriday Facts #389
How we know
The interrupts are very simple, you specify a list of conditions to trigger the interrupt, and a list of target stations + wait conditions that will be added to the schedule. … Whenever the train wants to leave the current station, it checks all the interrupts one by one, evaluating the interrupt conditions.
Train Schedule Interrupts · archived copy ↗ So we made it that interrupts are shared globally (identified by their name)
Interrupts are global · archived copy ↗ Normally, when an interrupt is activated, other interrupts won't be able to interfere until it is finished.
Interrupt in interrupt · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^An interrupt can name a wildcard signal (any item, any fluid, any fuel, any signal): the train tests the conditions against each item it carries, and the first that passes replaces the wildcard in the target stop's name and wait conditions, so one interrupt sends any cargo to the stop named for it.Dev blogFriday Facts #395
How we know
When a train is evaluating an interrupt which uses the 'Any item' signal, it will check the interrupt conditions against each item in the cargo, and the first one that passes will be the 'passing item' for the interrupt. The passing item will replace the 'Any item' in the interrupt target name and target wait conditions. … We also have similar signals for 'Any Fluid', 'Any Fuel' and 'Any Signal'.
Generic interrupt · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Once logistic robotics is researched, the character works as a requester: the player sets amounts to keep in the inventory and logistic robots bring them, and items beyond a request's maximum go to trash slots that robots empty.WikiFactorio Wiki: Logistic network
How we know
The player character can also act as requester chest in the logistic network, allowing them to 'request' various items be kept at a set limit within their personal inventory.
introduction · archived copy ↗ Items beyond the maximum amount for that request will be trashed.
Trash · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A roboport covers a 50 × 50-tile logistic area (radius 25), where logistic and construction robots both work, inside a 110 × 110-tile construction area (radius 55) for construction robots only. It holds 7 slots of robots and 7 of repair packs, and charges robots at four stations of up to 500 kW each, from a 100 MJ buffer it fills at up to 5 MW.Codefactorio-data 2.1.23 · Factorio Wiki: Roboport
How we know
6943 input_flow_limit = "5MW", 6944 buffer_capacity = "100MJ" ⋮ 6946 recharge_minimum = "40MJ", 6947 energy_usage = "50kW", 6948 -- per one charge slot 6949 charging_energy = "500kW", 6950 logistics_radius = 25, 6951 construction_radius = 55, 6952 charge_approach_distance = 5, 6953 robot_slots_count = 7, 6954 material_slots_count = 7,
base/prototypes/entity/entities.lua lines 6943–6954 at 39dbd0f · upstream ↗ 6956 charging_offsets = ⋮ 6958 {-1.5, -1}, {1.5, -1}, {1.5, 1}, {-1.5, 1}
base/prototypes/entity/entities.lua lines 6956–6959 at 39dbd0f · upstream ↗ The smaller orange square represents the reach of the logistics network where both logistics and construction robots can operate. … Additionally, a 110×110 tile area is created for construction robots to repair, construct or remove structures.
Mechanics · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A robot spends 5 kJ for each tile it flies plus 0.05 kJ for each tick in the air (3 kW). A construction robot's battery holds 3 MJ and a logistic robot's 1.5 MJ; a robot heads for a roboport to charge when its battery falls below 20%, and one that runs dry keeps flying at a fifth of its speed.Codefactorio-data 2.1.23 · Factorio API: FlyingRobotPrototype
How we know
640 max_energy = "3MJ", 641 energy_per_tick = "0.05kJ", 642 speed_multiplier_when_out_of_energy = 0.2, 643 energy_per_move = "5kJ", 644 min_to_charge = 0.2, 645 max_to_charge = 0.95,
base/prototypes/entity/flying-robots.lua lines 640–645 at 39dbd0f · upstream ↗ 699 max_energy = "1.5MJ", 700 energy_per_tick = "0.05kJ", 701 speed_multiplier_when_out_of_energy = 0.2, 702 energy_per_move = "5kJ", 703 min_to_charge = 0.2, 704 max_to_charge = 0.95,
base/prototypes/entity/flying-robots.lua lines 699–704 at 39dbd0f · upstream ↗ How much energy does it cost to move 1 tile.
energy_per_move · archived copy ↗ How much energy does it cost to fly for 1 tick.
energy_per_tick · archived copy ↗ The robot will go to charge when its battery fill ratio is less than this.
min_to_charge · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Each of the five logistic chests holds 48 slots: an active provider pushes its contents into the network, a passive provider offers them on request, a storage chest takes what nobody asked for (and can be filtered to one item), a requester is filled by robots up to the amounts set, and a buffer chest is both a requester and a passive provider.Wikifactorio-data 2.1.23 · Factorio Wiki: Logistic network
How we know
5803 inventory_size = 48, 5804 icon_draw_specification = {scale = 0.7}, 5805 logistic_mode = "passive-provider",
base/prototypes/entity/entities.lua lines 5803–5805 at 39dbd0f · upstream ↗ 5916 max_logistic_slots = 1,base/prototypes/entity/entities.lua line 5916 at 39dbd0f · upstream ↗ Pushes stored items into the logistic network. … Places stored items at the logistic network's disposal. … Stores items currently not requested. … Will be filled by logistic robots until the configured amount is reached, or the chest becomes full. … Functions as both a requester chest and passive provider chest.
Logistic chests · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Robots fetch a requested item first from active providers and the player's trash slots, then from storage and buffer chests, then from passive providers; requests are served for players first, then requester chests, then buffer chests.WikiFactorio Wiki: Logistic network
How we know
A requested item is first looked up in active provider chests and in the player's trash slots, then in the storage chests and buffer chests, then the passive provider chests. … Requests are assigned first for player logistics, then for requester chests, then for buffer chests.
Chest priorities · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^ abA ghost marks where an entity or tile is to be built and does nothing else until it is. Placing a blueprint lays down a ghost for everything in it; once construction robotics is researched, a destroyed building leaves a ghost too (trains excepted).WikiFactorio Wiki: Ghost
How we know
A ghost is a semi-transparent marker for an entity or tile which can be placed as a planning tool for future manual building or for construction robots to place using supplies from a logistic network.
introduction · archived copy ↗ Placing a blueprint will place ghosts for everything contained within the blueprint.
Blueprints · archived copy ↗ Once construction robotics has been researched any blueprintable entities (except trains) that are destroyed (for example by enemies) will leave behind a ghost.
Destroyed entities · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Construction robots build a ghost when its materials are in the logistic network and robots are free, or, for a player wearing a personal roboport and carrying construction robots, when the player has the materials. A ghost the player placed lasts for ever; one left by a destroyed building lasts a week of game time.WikiFactorio Wiki: Ghost
How we know
The materials required to build the object are available in the logistic network and enough construction robots are free to begin the placing. … The materials required to build the object are available from the player's inventory, the player is equipped with one or more personal roboports and is carrying one or more construction robots.
Interaction with construction robots · archived copy ↗ Ghosts that are placed by the player will last forever. Ghosts for destroyed entities will last a week of game time.
Lifetime of ghosts · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A circuit network carries one signed 32-bit number for every item, fluid and virtual signal at once; values wrap around on overflow, and a device reading both a red and a green wire sums them.WikiFactorio Wiki: Circuit networkrevised
How we know
Each circuit network contains a channel for every kind of item, as well as 48 extra virtual signals which act as user-definable channels. … The channels are separated from each other, so each network can simultaneously carry a number for each item and fluid in the game … Numbers are in the signed 32 bit integer range … The numbers wrap around on overflow
Signals · archived copy ↗ Receiving devices sum all signals from each wire connected to them, even red and green wires.
Wires · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^The About page credits programmer Robert Asaftei (Twinsen) with designing and implementing the circuit network.PublisherFactorio About us
How we know
Robert Asaftei Twinsen Programmer … Designed and implemented the circuit network.
The Team · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^An arithmetic combinator does one operation on its inputs: add, subtract, multiply, divide, modulo, power, shift left or right, or bitwise AND, OR or XOR. With the Each signal it applies the operation to every input signal separately.WikiFactorio Wiki: Arithmetic combinator · Factorio Wiki: Circuit network
How we know
Each arithmetic combinator can perform any one of the following mathematical operations on signals … bitwise XOR
Function · archived copy ↗ This combinator can use the 'Each' signal for both input and output, in which case all non-zero input channels will have the combinator's operation performed and broadcast on the output side.
Arithmetic combinator · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A decider combinator tests conditions on its inputs and outputs signals when they hold. Since 2.0 one combinator takes several conditions joined by and/or, can read the red and green wires apart, and can have several outputs.Dev blogFriday Facts #384
How we know
Multiple conditions with and/or combinations. … Selection of input between red and green wires. … Multiple outputs.
Decider combinator 2.0 · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^2.0 added a selector combinator, which picks signals out of its input: the signal at a given rank when sorted by value, the count of input signals, a random input signal at a set interval, or an item's stack size. 2.1 added a time mode that outputs the game tick, the time of day and the length of a day, and lets the index mode select the N highest or lowest signals.Dev blogFriday Facts #384 · factorio-data 2.1.23
How we know
Output the signal at the given index (sorted from biggest to smallest or vice versa). … Output the count of input signals. … Output a random signal from the inputs (with a custom update interval). … Output the stack size of the input item.
The Selector combinator · archived copy ↗ 642 - Added "Time" mode to selector combinator. It allows to read game tick, time of day and duration of a day.changelog.txt line 642 at 39dbd0f · upstream ↗ 61 - Added index comparator to selector combinator. Allows for selection of N highest or N lowest signals.changelog.txt line 61 at 39dbd0f · upstream ↗ 1007 default_game_tick_output_signal = {type = "virtual", name = "signal-T"}, 1008 default_day_tick_output_signal = {type = "virtual", name = "signal-D"}, 1009 default_day_length_output_signal = {type = "virtual", name = "signal-L"},
base/prototypes/entity/circuit-network.lua lines 1007–1009 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^An arithmetic or decider combinator's output appears one tick (1/60 s) after its input, so each combinator in a chain adds a tick.WikiFactorio Wiki: Decider combinator
How we know
With both the arithmetic and decider combinator, there is one tick (60th of a second) of latency before the output signal is ready to be used as an input into a circuit network.
Function · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Working machines emit pollution each minute: a boiler 30, a burner mining drill 12, an electric mining drill and a pumpjack 10, an oil refinery 6, a steel furnace, a chemical plant, a centrifuge and an assembling machine 1 each 4, an assembling machine 2 emits 3, a stone furnace and an assembling machine 3 emit 2, and an electric furnace 1.Codefactorio-data 2.1.23
How we know
1288 emissions_per_minute = { pollution = 30 },base/prototypes/entity/entities.lua line 1288 at 39dbd0f · upstream ↗ 1816 emissions_per_minute = { pollution = 12 },base/prototypes/entity/mining-drill.lua line 1816 at 39dbd0f · upstream ↗ 1753 emissions_per_minute = { pollution = 10 },base/prototypes/entity/mining-drill.lua line 1753 at 39dbd0f · upstream ↗ 1882 emissions_per_minute = { pollution = 10 },base/prototypes/entity/mining-drill.lua line 1882 at 39dbd0f · upstream ↗ 8411 emissions_per_minute = { pollution = 6 }base/prototypes/entity/entities.lua line 8411 at 39dbd0f · upstream ↗ 4868 emissions_per_minute = { pollution = 4 },base/prototypes/entity/entities.lua line 4868 at 39dbd0f · upstream ↗ 8854 emissions_per_minute = { pollution = 4 }base/prototypes/entity/entities.lua line 8854 at 39dbd0f · upstream ↗ 9308 emissions_per_minute = { pollution = 4 }base/prototypes/entity/entities.lua line 9308 at 39dbd0f · upstream ↗ 3195 emissions_per_minute = { pollution = 4 }base/prototypes/entity/entities.lua line 3195 at 39dbd0f · upstream ↗ 3345 emissions_per_minute = { pollution = 3 }base/prototypes/entity/entities.lua line 3345 at 39dbd0f · upstream ↗ 1084 emissions_per_minute = { pollution = 2 },base/prototypes/entity/entities.lua line 1084 at 39dbd0f · upstream ↗ 5573 emissions_per_minute = { pollution = 2 }base/prototypes/entity/entities.lua line 5573 at 39dbd0f · upstream ↗ 4415 emissions_per_minute = { pollution = 1 }base/prototypes/entity/entities.lua line 4415 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Pollution lives on 32 × 32-tile chunks. A chunk holding at least 15 units passes 2% of its pollution to each of its four neighbours per update, which the map settings count per second and the wiki times at every 64 ticks.Codefactorio-data 2.1.23 · Factorio Wiki: Pollution
How we know
14 -- these are values for 60 ticks (1 simulated second) ⋮ 16 -- amount that is diffused to neighboring chunk 17 -- (possibly repeated for other directions as well) 18 diffusion_ratio=0.02, 19 -- this much PUs must be on the chunk to start diffusing 20 min_to_diffuse=15,
base/prototypes/map-settings.lua lines 14–20 at 39dbd0f · upstream ↗ As soon as a chunk has reached 15.0 pollution it starts spreading in all four cardinal directions at a rate of 2% per 64 ticks.
Pollution spread · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Every tile soaks up pollution each second: water 0.000025 units, grass and dirt 0.000018, sand and red desert 0.000015. A whole chunk of grass takes in about 0.018 a second (1.1 a minute).Codefactorio-data 2.1.23 · Factorio Wiki: Pollution
How we know
4 water = { pollution = 0.000025 }, 5 grass = { pollution = 0.000018 }, 6 dirt = { pollution = 0.000018 }, 7 sand = { pollution = 0.000015 }, 8 red_desert = { pollution = 0.000015 }
base/prototypes/tile/tile-pollution-values.lua lines 4–8 at 39dbd0f · upstream ↗ 21 -- constant modifier a percentage of 1 - the pollution eaten by a chunks tiles 22 ageing=1,
base/prototypes/map-settings.lua lines 21–22 at 39dbd0f · upstream ↗ Every chunk has a natural absorption rate per second which is determined by the sum of the pollution absorption of its floor tiles.
Chunks · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A living tree absorbs 0.001 pollution a second (0.06 a minute) and a dead one a tenth of that. Above 60 pollution in a chunk, trees start taking damage, most at 150.Codefactorio-data 2.1.23
How we know
6local tree_emissions = { pollution = -0.001 } 7local dead_tree_emissions = { pollution = -0.0001 }
base/prototypes/entity/trees.lua lines 6–7 at 39dbd0f · upstream ↗ 27 min_pollution_to_damage_trees = 60, 28 pollution_with_max_forest_damage = 150, 29 pollution_per_tree_damage = 50, 30 pollution_restored_per_tree_damage = 10,
base/prototypes/map-settings.lua lines 27–30 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Evolution picks which units a spawner makes, by weights that rise and fall with it. A biter spawner makes only small biters at first; medium biters join from 0.2, big from 0.5 and behemoths from 0.9, and small biters stop at 0.6. A spitter spawner makes small biters until 0.35, small spitters from 0.25 to 0.7, medium from 0.4, big from 0.5 and behemoth from 0.9. At evolution 1 a biter spawner makes 1/8 medium, 4/8 big and 3/8 behemoth biters.Codefactorio-data 2.1.23
How we know
189 result_units = (function() 190 local res = {} 191 res[1] = {"small-biter", {{0.0, 0.3}, {0.6, 0.0}}} 192 if not data.is_demo then 193 -- from evolution_factor 0.3 the weight for medium-biter is linearly rising from 0 to 0.3 194 -- this means for example that when the evolution_factor is 0.45 the probability of spawning 195 -- a small biter is 66% while probability for medium biter is 33%. 196 res[2] = {"medium-biter", {{0.2, 0.0}, {0.6, 0.3}, {0.7, 0.1}}} 197 -- for evolution factor of 1 the spawning probabilities are: small-biter 0%, medium-biter 1/8, big-biter 4/8, behemoth biter 3/8 198 res[3] = {"big-biter", {{0.5, 0.0}, {1.0, 0.4}}} 199 res[4] = {"behemoth-biter", {{0.9, 0.0}, {1.0, 0.3}}} 200 end ⋮
base/prototypes/entity/enemies.lua lines 189–201 at 39dbd0f · upstream ↗ 848 result_units = ⋮ 850 {"small-biter", {{0.0, 0.3}, {0.35, 0}}}, 851 {"small-spitter", {{0.25, 0.0}, {0.5, 0.3}, {0.7, 0.0}}}, 852 {"medium-spitter", {{0.4, 0.0}, {0.7, 0.3}, {0.9, 0.1}}}, 853 {"big-spitter", {{0.5, 0.0}, {1.0, 0.4}}}, 854 {"behemoth-spitter", {{0.9, 0.0}, {1.0, 0.3}}},
base/prototypes/entity/enemies.lua lines 848–855 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Enemies expand: between 10 and 60 minutes apart, shorter as evolution rises (60 minutes at evolution 0, 10 at 1, on the curve −e² + 2e), a group of 5 to 10 units times 8 to the power of evolution (so 40 to 80 at evolution 1, at the default enemy base settings; 2.1 also scales it with the map's base-size setting) sets out to a chunk 3 to 5 chunks out from the enemy bases already there, where its members turn into new spawners and worms, one every 30 seconds.Codefactorio-data 2.1.23 · Friday Facts #445 · Factorio Wiki: Enemiesrevised
How we know
48 -- Distance in chunks from the furthest base around. 49 -- This prevents expansions from reaching too far into the 50 -- player's territory 51 max_expansion_distance = 5, 52 min_expansion_distance = 3,
base/prototypes/map-settings.lua lines 48–52 at 39dbd0f · upstream ↗ 83 -- Size of the group that goes to build new base. 84 settler_group_min_size = 5, 85 settler_group_max_size = 10, 86 -- Exponential factor used to determine the size of the settler group based on the evolution factor. 87 -- The size is calculated as: 88 -- size = random(min_size, max_size) * (evolution_group_size_factor ^ evolution_factor) 89 evolution_group_size_factor = 8.0, ⋮ 91 -- Ticks to expand to a single 92 -- position for a base is used. ⋮ 94 -- cooldown is calculated as follows: 95 -- cooldown = lerp(max_expansion_cooldown, min_expansion_cooldown, -e^2 + 2 * e), 96 -- where lerp is the linear interpolation function, and e is the current evolution factor. ⋮
base/prototypes/map-settings.lua lines 83–101 at 39dbd0f · upstream ↗ So for 2.1.13 we have increased the cooldowns: 30 seconds by default, and 10 seconds for Deathworld.
Build base behavior · archived copy ↗ Modify group size dependent on the map generator biter base size.
Expansion groups were too small · archived copy ↗ 336 - Increased expansion group build base cooldown from 5 seconds to 30 seconds. 337 - Reduced early game max enemy expansion group size from 20 to 10.
changelog.txt lines 336–337 at 39dbd0f · upstream ↗ When the expansion group reaches its target, each unit will begin dying in sequence to randomly create a spawner or a worm after some delay.
Expansion · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^A gun turret has 400 health and an 18-tile range and fires bullets every 6 ticks (10 shots a second) from magazines of 10 rounds. A round does 5 physical damage from a firearm magazine, 8 from piercing rounds and 24 from uranium rounds, so a turret on firearm magazines deals 50 damage a second before research bonuses and the target's resistances.Publisherfactorio-data 2.1.23 · Factorio API: BaseAttackParameters
How we know
463 max_health = 400,base/prototypes/entity/turrets.lua line 463 at 39dbd0f · upstream ↗ 550 type = "projectile", 551 ammo_category = "bullet", 552 cooldown = 6,
base/prototypes/entity/turrets.lua lines 550–552 at 39dbd0f · upstream ↗ 566 range = 18,base/prototypes/entity/turrets.lua line 566 at 39dbd0f · upstream ↗ 4087 damage = {amount = 5, type = "physical"}base/prototypes/item.lua line 4087 at 39dbd0f · upstream ↗ 4095 magazine_size = 10,base/prototypes/item.lua line 4095 at 39dbd0f · upstream ↗ 4138 damage = {amount = 8, type = "physical"}base/prototypes/item.lua line 4138 at 39dbd0f · upstream ↗ 2819 damage = {amount = 24, type = "physical"}base/prototypes/item.lua line 2819 at 39dbd0f · upstream ↗ Number of ticks in which it will be possible to shoot again.
cooldown · archived copy ↗ Before an entity can attack, the distance (in tiles) between the entity and target must be less than or equal to this.
range · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A laser turret has 1000 health and a 24-tile range and needs no ammunition: each shot, every 40 ticks (1.5 a second), costs 800 kJ from its 801 kJ buffer, so it draws 1.2 MW while firing and 24 kW idle. Each hit of its beam does 10 laser damage, doubled by the turret's damage modifier, and one beam can hit more than once: it lasts 40 ticks with a damage interval of 20.Publisherfactorio-data 2.1.23 · Factorio API: BaseAttackParametersrevised
How we know
597 max_health = 1000,base/prototypes/entity/turrets.lua line 597 at 39dbd0f · upstream ↗ 615 type = "electric", 616 buffer_capacity = "801kJ", 617 input_flow_limit = "9600kW", 618 drain = "24kW",
base/prototypes/entity/turrets.lua lines 615–618 at 39dbd0f · upstream ↗ 692 type = "beam", 693 cooldown = 40, 694 range = 24, 695 threatening_asteroid_penalty = -20, 696 range_mode = "center-to-bounding-box", 697 source_direction_count = 64, 698 source_offset = {0, -3.423489 / 4}, 699 damage_modifier = 2, 700 ammo_category = "laser", 701 ammo_type = ⋮ 703 energy_consumption = "800kJ",
base/prototypes/entity/turrets.lua lines 692–703 at 39dbd0f · upstream ↗ 710 beam = "laser-beam", 711 max_length = 24, 712 duration = 40,
base/prototypes/entity/turrets.lua lines 710–712 at 39dbd0f · upstream ↗ 10 damage_interval = 20,base/prototypes/entity/beams.lua line 10 at 39dbd0f · upstream ↗ 23 damage = { amount = 10, type = "laser"}base/prototypes/entity/beams.lua line 23 at 39dbd0f · upstream ↗ Number of ticks in which it will be possible to shoot again.
cooldown · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^A flamethrower turret has 1400 health and sprays burning fluid from 6 to 30 tiles away; it burns crude oil, heavy oil (5% more damage) or light oil (10% more).Codefactorio-data 2.1.23
How we know
495 max_health = 1400,base/prototypes/entity/fire.lua line 495 at 39dbd0f · upstream ↗ 885 type = "stream", 886 cooldown = 4, 887 range = 30, 888 min_range = 6,
base/prototypes/entity/fire.lua lines 885–888 at 39dbd0f · upstream ↗ 896 fluids = ⋮ 898 {type = "crude-oil"}, 899 {type = "heavy-oil", damage_modifier = 1.05}, 900 {type = "light-oil", damage_modifier = 1.1} ⋮ 902 fluid_consumption = 0.2,
base/prototypes/entity/fire.lua lines 896–902 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^A stone wall segment and a gate each have 350 health; a gate has an activation distance of 3 tiles.Codefactorio-data 2.1.23
How we know
3424 max_health = 350,base/prototypes/entity/entities.lua line 3424 at 39dbd0f · upstream ↗ 5002 max_health = 350,base/prototypes/entity/entities.lua line 5002 at 39dbd0f · upstream ↗ 5010 activation_distance = 3,base/prototypes/entity/entities.lua line 5010 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^The character has 250 health and a healing_per_tick of 0.15; it carries 80 inventory slots, builds and reaches entities up to 10 tiles away, mines resources within 2.7 tiles, picks up items within 1 tile and loot within 2, and hand-mines at speed 0.5.Codefactorio-data 2.1.23 · Factorio API: CharacterPrototyperevised
How we know
708 max_health = 250, 709 alert_when_damaged = false, 710 healing_per_tick = 0.15, 711 collision_box = {{-0.2, -0.2}, {0.2, 0.2}}, 712 selection_box = {{-0.4, -1.4}, {0.4, 0.2}}, 713 hit_visualization_box = {{-0.2, -1.1}, {0.2, 0.2}}, 714 sticker_box = {{-0.2, -1}, {0.2, 0}}, 715 crafting_categories = {"crafting", "hand-crafting"}, 716 mining_categories = {"basic-solid"}, 717 character_corpse = "character-corpse", 718 inventory_size = 80, 719 build_distance = 10, ⋮
base/prototypes/entity/entities.lua lines 708–725 at 39dbd0f · upstream ↗ 730 ticks_to_stay_in_combat = 600, 731 damage_hit_tint = {0.12, 0, 0, 0}, 732 running_speed = 0.15,
base/prototypes/entity/entities.lua lines 730–732 at 39dbd0f · upstream ↗ 976 mining_speed = 0.5,base/prototypes/entity/entities.lua line 976 at 39dbd0f · upstream ↗ The amount of health automatically regenerated per tick.
healing_per_tick · archived copy ↗ Number of slots in the main inventory.
inventory_size · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^The car has a 150 kW engine, weighs 700, carries 80 slots and one fuel slot, has 450 health, and mounts a machine gun.Codefactorio-data 2.1.23
How we know
4063 max_health = 450,base/prototypes/entity/entities.lua line 4063 at 39dbd0f · upstream ↗ 4096 fuel_inventory_size = 1,base/prototypes/entity/entities.lua line 4096 at 39dbd0f · upstream ↗ 4109 consumption = "150kW",base/prototypes/entity/entities.lua line 4109 at 39dbd0f · upstream ↗ 4371 weight = 700, 4372 guns = { "vehicle-machine-gun" }, 4373 inventory_size = 80,
base/prototypes/entity/entities.lua lines 4371–4373 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^The tank has a 600 kW engine, weighs 20,000, carries 80 slots and two fuel slots, has 2000 health and an equipment grid, shrugs off collisions with trees and rocks, and mounts a cannon, a machine gun and a flamethrower.Codefactorio-data 2.1.23
How we know
7958 max_health = 2000,base/prototypes/entity/entities.lua line 7958 at 39dbd0f · upstream ↗ 7964 immune_to_tree_impacts = true, 7965 immune_to_rock_impacts = true, 7966 immune_to_all_impacts = true, 7967 energy_per_hit_point = 0.5, 7968 allow_remote_driving = true, 7969 equipment_grid = "medium-equipment-grid",
base/prototypes/entity/entities.lua lines 7964–7969 at 39dbd0f · upstream ↗ 8010 fuel_inventory_size = 2,base/prototypes/entity/entities.lua line 8010 at 39dbd0f · upstream ↗ 8023 consumption = "600kW",base/prototypes/entity/entities.lua line 8023 at 39dbd0f · upstream ↗ 8286 weight = 20000, 8287 inventory_size = 80, 8288 track_particle_triggers = movement_triggers.tank, 8289 guns = { "tank-cannon", "tank-machine-gun", "tank-flamethrower" },
base/prototypes/entity/entities.lua lines 8286–8289 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Map presets change these rules: Death world multiplies the time factor by 5 (0.00002) and raises the pollution factor to 0.0000012, sets the pollution ageing setting to 0.5 (against 1 by default; the data comment ties ageing to the pollution a chunk's tiles absorb) and the attack pollution consumption modifier to 0.5, and has expansion parties build every 10 seconds; Rail world cuts the time factor to 0.000002 and turns expansion off.Codefactorio-data 2.1.23revised
How we know
56 advanced_settings = ⋮ 58 enemy_evolution = ⋮ 60 time_factor = 0.00002, 61 pollution_factor = 0.0000012 ⋮ 63 pollution = ⋮ 65 ageing = 0.5, 66 enemy_attack_pollution_consumption_modifier = 0.5 ⋮ 68 enemy_expansion = ⋮ 70 build_base_unit_dispatch_cooldown = 10 * 60
base/prototypes/map-gen-presets.lua lines 56–71 at 39dbd0f · upstream ↗ 153 advanced_settings = ⋮ 155 enemy_evolution = ⋮ 157 time_factor = 0.000002 ⋮ 159 enemy_expansion = ⋮ 161 enabled = false
base/prototypes/map-gen-presets.lua lines 152–162 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^Factorio's 2013 Indiegogo campaign says its developers grew up playing games "like Transport Tycoon, Civilization or Simcity", games about designing, building, and creating things, and then tells how the idea of a game where you build your factory came.PublisherFactorio Indiegogo campaign, 2013
How we know
We have spent a significant portion of our childhood and youth messing with lego, programming and playing games like Transport Tycoon, Civilization or Simcity. … They were all about designing, building and creating things. … Then there came the idea for a game where you build your factory.
Motivation · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Michal Kovařík (kovarex), Factorio's founder, wrote in 2014 that modded Minecraft, "mainly buildcraft/industrialcraft", was a huge inspiration to create Factorio, and that he had made private changes to those mods before he had the idea for a game of his own.Dev blogkovarex, Reddit, 1 August 2014
How we know
I never ever tried to hide the fact, that Modded minecraft, mainly buildcraft/industrialcraft, was huge inspiration to create Factorio. In fact, before even the idea to create my own game came to my mind, I started to make my own (private) changes to these minecraft mods.
kovarex's comment, 1 August 2014 · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Friday Facts #50 (2014) says "Factorio was inspired by Buildcraft". In 2013 kovarex wrote that a topic he had started (linked to mod-buildcraft.com's forums) made him start thinking about making his own game.Dev blogFFF-50 · kovarex, "How it all begun" forum post, 6 October 2013revised
How we know
Factorio was inspired by Buildcraft, this game might be inspired by Factorio and it is in fact honour for us.
Automation genre · archived copy ↗ This topic I started (1 year, 7 months ago) made me start thinking about making my own game.
first post, kovarex, 6 October 2013 · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^In a February 2013 plan for Factorio's energy, kovarex proposed oil, saying he didn't want to copy BuildCraft's oil concept completely but liked it a lot, and that processing oil into fuel or other products "as in build craft" would be nice. It is a proposal; the post doesn't say what shipped.Dev blogkovarex, "Electric energy" forum post, 7 February 2013
How we know
I don't want to ripoff the buildcraft oil concept completely … but I like it a lot. … Processing oil to fuel or other products as in build craft would be nice
first post, kovarex, 7 February 2013, under "Oil" · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Friday Facts #266 (2018) says early Factorio had the player craft a wooden pick, then a stone pick, then an iron pick, and calls it "clearly Minecraft affecting our ideas". The post says the chain was soon cut to the iron and steel picks, and that 0.17 removes mining tools altogether.Dev blogFFF-266
How we know
In the ancient times, you first had to create a wooden pick, to create a stone pick, to mine basic resources, to make iron, so you can make an iron pick. Yes... this was clearly Minecraft affecting our ideas. … So we kept only the iron/steel pick to streamline things. … So the change for 0.17 is that we completely removed mining tools from the game.
Pickaxe removal · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Friday Facts #423 (2024) says Factorio's online players window, added for multiplayer, "was inspired by Minecraft's \"tab menu\"".Dev blogFFF-423
How we know
This GUI was inspired by Minecraft's "tab menu", so it is fairly compact.
Online players GUI (raiguard) · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Friday Facts #416 (2024) says that in the discussions on Factorio 2.0's fluids, Rseding proposed an algorithm "very close to" one from the Minecraft mod Thermal Expansion by Team CoFH, in which pipes, underground pipes, and storage tanks merge into fluid "segments".Dev blogFriday Facts #416
How we know
Rseding proposed an algorithm very close to one he had played with several times, an algorithm from the Minecraft mod Thermal Expansion by team CoFH: Pipes, underground pipes, and storage tanks are merged into fluid "segments".
The new algorithm · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^In February 2013 kovarex wrote that "the game is inspired by Transport Tycoon" and proposed using its concept for Factorio's trains almost completely: stations, a route for each train, and trains that wait at a station until the inserters have nothing to do.Dev blogkovarex, "Railroad" forum post, 7 February 2013
How we know
We are saying everywhere, that the game is inspired by Transport Tycoon. … I believe, that we could use the concept of transport tycoon in this area of the game almost completely. Player would create stations and specify rout of the train, the train would stop at the station and wait until inserters have nothing to do.
first post, kovarex, 7 February 2013 · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Friday Facts #81 (2015) says Factorio's chain signals have some similarities with "TTD pre signals" but work differently, so they were given a different name. The TTDPatch manual describes pre-signals as a new type of signal that its switches introduce to Transport Tycoon Deluxe; who had them first isn't shown here.Dev blogFriday Facts #81 · TTDPatch manual, Pre-signals
How we know
The chain signals have some similarities with the TTD pre signals, but as they actually work differently, we also decided to call them differently to avoid confusion.
The chain signal in detail · archived copy ↗ These switches introduce a new type of signal to TTD, the "pre-signal."
3.12 Pre-signals · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Friday Facts #126 (2016) says Factorio's single train screen gained an "open ttd" inspired preview of the train, with a camera view and a map view.Dev blogFFF-126
How we know
Namely adding the "open ttd" inspired preview of the train. There is a switchable "camera view" and "map view".
Updated train screen · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^In a February 2013 proposal for Factorio's combat, kovarex wrote that he wasn't afraid to get inspired by games like StarCraft and Baldur's Gate. A design proposal that names no feature taken.Dev blogkovarex, "Fight" forum post, 7 February 2013
How we know
Fight shouldn't definitely be just about dealing damage, I'm not afraid to get inspired by games like starcraft and baldurs gate in this topic.
first post, kovarex, 7 February 2013 · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^In Friday Facts #12 (2013) Tomáš Kozelek reports that kovarex had been playing some games, "including classics like Dune 2000", looking for inspiration. A passing mention that ties Dune 2000 to no feature.Dev blogFFF-12revised
How we know
Kovarex was playing some games (including classics like Dune 2000) looking for inspiration.
first section (Tomas) · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Revised after a check by a second AI model, 2026-10-26.
- ^In February 2014 kovarex listed Dwarf Fortress, RimWorld, SpaceChem, and Industry Giant as games people compare Factorio with that the team had never played.Dev blogkovarex, "Factorio <> Industry Giant 2", 10 February 2014
How we know
These are games people tend to compare us with, that we never played: Dwarf fortress, Rimworld, Spacechem, Industry giant and much more.
kovarex's reply, February 2014 · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Markus Persson wrote in 2009 that RubyDung, the prototype he worked on before Minecraft, was meant to be a base-building game inspired by Dwarf Fortress. In a 2010 interview he called Dwarf Fortress and roguelikes in general some of the biggest inspirations for Minecraft's gameplay.Dev blogNotch, "The origins of Minecraft", 30 October 2009 · Gamasutra, Notch interview, 23 March 2010
How we know
was supposed to be a base building game inspired by Dwarf Fortress, but with a heavy focus on accessibility.
The origins of Minecraft, first paragraph · archived copy ↗ Dwarf Fortress and roguelikes in general are some of the biggest inspirations for the gameplay of Minecraft
interview, on Dwarf Fortress · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Chris Sawyer said in 2014 that he thought Railroad Tycoon's gameplay was fantastic and set out to take it further, with more modes of transport and his isometric view. In 2000 he put his aim as something "less complex but more fun than Railroad Tycoon".InterviewTransport Tycoon 20th-anniversary interview, 2014 · Computer Games Magazine, Sawyer interview, 2000
How we know
I really enjoyed Sid Meier's Railroad Tycoon, and I thought the gameplay side of Railroad Tycoon was fantastic. I enjoyed playing it, and I just started to think "Maybe I can take this a bit further." … I think it was probably the isometric, and trying to take Railroad Tycoon a bit further, to have more modes of transport, and it just sort of gradually grew.
question 5 · archived copy ↗ My aim was to create something less complex but more fun than Railroad Tycoon.
Transport Tycoon · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Asked in 2014 about other world-builder games of the time, Sawyer said he hadn't played SimCity.InterviewTransport Tycoon 20th-anniversary interview, 2014
How we know
Sim City at the time was only a map based thing, and I hadn't actually played Sim City.
question 5, follow-up on world builder games · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Ars Technica's report of Sid Meier's 2017 GDC talk says Meier described his earliest version of Civilization as having "stirred together" elements from SimCity, Railroad Tycoon, Empire, and the British board game Civilization.WebArs Technica, Meier GDC talk, 3 March 2017
How we know
Meier said that his earliest version "stirred together" elements from SimCity, Railroad Tycoon, Empire, and a certain British board game named, well, Civilization.
report of the talk · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Asked how he got from Raid on Bungeling Bay's world editor to SimCity, Will Wright said it began as a toy: he kept making his editor more elaborate, and thought it would be cool to have the world come to life.InterviewGamasutra, Will Wright interview, 23 May 2011
How we know
How did the leap from Raid's world editor, to SimCity with its urban design theories, happen? WW: First, it was just a toy for me. I was just making my editor more and more elaborate. I thought it would be cool to have the world come to life.
interview, on Raid's world editor · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^OpenTTD's About page says the game is based upon Chris Sawyer's Transport Tycoon Deluxe and attempts to mimic it as closely as possible while extending it with new features.PublisherOpenTTD, "About"
How we know
OpenTTD is an open source simulation game based upon the popular Microprose game "Transport Tycoon Deluxe", written by Chris Sawyer. It attempts to mimic the original game as closely as possible while extending it with new features.
About · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Wube's release-date announcement lists Space Age's content under the headings space platforms, Vulcanus, Fulgora, Gleba, elevated rails, and quality, followed by "And Beyond...".Dev blogFriday Facts #418
How we know
Space platforms - FFF-381 … Vulcanus - FFF-386, FFF-387 … Fulgora - FFF-398, FFF-399 … Gleba - FFF-413, FFF-414 … Elevated rails - FFF-378 … Quality - FFF-375
Factorio: Space Age - Content · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^In the base game a belt carries one item per slot. The engine allows up to 4 per slot (a utility constant), but only Space Age's research raises the belt stack size; base 2.1.23 has no technology that does.Codefactorio-data 2.1.23
How we know
615 max_belt_stack_size = 4,core/prototypes/utility-constants.lua line 615 at 39dbd0f · upstream ↗ 1206 type = "belt-stack-size-bonus",space-age/prototypes/technology.lua line 1206 at 39dbd0f · upstream ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^An inserter carries one item per swing until Inserter capacity bonus 2 raises it to 2 and bonus 7 to 3. The bulk inserter carries 2 once researched (its own technology adds one), then 3, 4, 5, 6, 8, 10 and 12 with capacity bonus 1 to 7. Base 2.1.23 has no stack inserter, which belongs to Space Age.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23
How we know
1709 type = "bulk-inserter-capacity-bonus", 1710 modifier = 1
base/prototypes/technology.lua lines 1708–1710 at 39dbd0f · upstream ↗ 1734 modifier = 1 -- result of 3base/prototypes/technology.lua line 1734 at 39dbd0f · upstream ↗ 1757 type = "inserter-stack-size-bonus", 1758 modifier = 1 -- result of 2 ⋮ 1761 type = "bulk-inserter-capacity-bonus", 1762 modifier = 1 -- result of 4
base/prototypes/technology.lua lines 1757–1762 at 39dbd0f · upstream ↗ 1786 modifier = 1 -- result of 5base/prototypes/technology.lua line 1786 at 39dbd0f · upstream ↗ 1811 modifier = 1 -- result of 6base/prototypes/technology.lua line 1811 at 39dbd0f · upstream ↗ 1837 modifier = 2 -- result of 8base/prototypes/technology.lua line 1837 at 39dbd0f · upstream ↗ 1863 modifier = 2 -- result of 10base/prototypes/technology.lua line 1863 at 39dbd0f · upstream ↗ 1888 type = "inserter-stack-size-bonus", 1889 modifier = 1 -- result of 3 ⋮ 1892 type = "bulk-inserter-capacity-bonus", 1893 modifier = 2 -- result of 12
base/prototypes/technology.lua lines 1888–1893 at 39dbd0f · upstream ↗ Whether this inserter is considered a bulk inserter.
InserterPrototype.bulk · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
- ^Rick Lane scored Space Age 92 in PC Gamer on 24 October 2024 (a typo first showed 90), calling it "an astounding creation", but warned that it adds far more complexity than it removes, and that players new to Factorio shouldn't buy it before trying the base game.WebPC Gamer, Space Age
How we know
Update: When first posted, this review contained a typo that incorrectly set its score as 90%. Our actual score is 92%, as is now shown correctly on the page.
closing update · archived copy ↗ By Rick Lane published 24 October 2024
byline · archived copy ↗ it ultimately adds far more complexity than it removes. … And if you haven’t played Factorio before, don’t buy the expansion before trying the base version. All that said, Space Age is an astounding creation
conclusion · archived copy ↗ Checked against the evidence by its author, an AI model, 2026-10-26.
Checked by a second AI model, 2026-10-26.
Sources
Code
- Software, Wube. 2026. “factorio-data: Factorio's Lua prototype definitions, version 2.1.23.” Commit 39dbd0f. wube/factorio-data @ 39dbd0f · licence, all uses
- Springer, Tobias. 2026. “shapez.io — source and README.” GitHub. Commit 8a79de5. tobspr-games/shapez.io @ 8a79de5 · licence, all uses
Primary
- Kozelek, Tomas. 2012. “Here we are.” Factorio blog. Wube Software. original · archived · licence, all uses
- Software, Wube. 2026. “Factorio — About us.” Wube Software. original · archived · licence, all uses
- kovarex and Rseding. 2017. “Friday Facts #184 - Five years of Factorio.” Factorio blog. Wube Software. original · archived · licence, all uses
- Kozelek, Tomas. 2012. “Demo is out.” Factorio blog. Wube Software. original · archived · licence, all uses
- Kozelek, Tomas. 2013. “0.2.0 released.” Factorio blog. Wube Software. original · archived · licence, all uses
- Kozelek, Tomas. 2013. “Indiegogo campaign just started.” Factorio blog. Wube Software. original · archived · licence, all uses
- Software, Wube. 2013. “Factorio — Indiegogo campaign.” Indiegogo. original · archived · licence, all uses
- Kozelek, Tomas. 2013. “Getting the alpha.” Factorio blog. Wube Software. original · archived · licence, all uses
- Kozelek, Tomas. 2013. “Indiegogo campaign is over.” Factorio blog. Wube Software. original · archived · licence, all uses
- Kozelek, Tomas. 2016. “Steam keys available.” Factorio blog. Wube Software. original · archived · licence, all uses
- Kozelek, Tomas. 2016. “Friday Facts #124 - Steam Status I.” Factorio blog. Wube Software. original · archived · licence, all uses
- Kozelek, Tomas. 2016. “Friday Facts #127 - Steam Status III: Thank You.” Factorio blog. Wube Software. original · archived · licence, all uses
- kovarex, V453000, and Wube Software. 2020. “Friday Facts #360 - 1.0 is here!” Factorio blog. Wube Software. original · archived · licence, all uses
- Twinsen and kovarex. 2022. “Friday Facts #370 - The journey to Nintendo Switch.” Factorio blog. Wube Software. original · archived · licence, all uses
- Software, Wube. 2024. “Friday Facts #418 - Space Age release date.” Factorio blog. Wube Software. original · archived · licence, all uses
- Klonan and Twinsen. 2024. “Friday Facts #434 - Galaxy of Fame.” Factorio blog. Wube Software. original · archived · licence, all uses
- Klonan. 2026. “Friday Facts #444 - 2.1 Experimental release.” Factorio blog. Wube Software. original · archived · licence, all uses
- Software, Wube. 2026. “Friday Facts #449 - 2.1 Stable.” Factorio blog. Wube Software. original · archived · licence, all uses
- BAFTA. 2021. “BAFTA Games Awards 2021 — results.” British Academy of Film and Television Arts. original · archived · licence, all uses
- kovarex. 2017. “Friday Facts #192 - One million.” Factorio blog. Wube Software. original · archived · licence, all uses
- Albert, kovarex, and Klonan. 2019. “Friday Facts #327 - 2020 Vision.” Factorio blog. Wube Software. original · archived · licence, all uses
- Albert, Klonan, Twinsen, and Vinzenz. 2022. “Friday Facts #372 - 2022 recap.” Factorio blog. Wube Software. original · archived · licence, all uses
- Beuger, Hannah and Rosario Baarh. 2026. “Satisfactory Developers Hannah Beuger and Rosario Baarh on Giving Form to a Sandbox While Supporting Player Expression.” GameWatcher. original · archived · licence, all uses
- Software, Wube. 2026. “Factorio Prototype API, version 2.1.23 (machine-readable JSON).” Wube Software (lua-api.factorio.com). original · archived · licence, all uses
- Software, Wube. 2026. “Factorio Prototype API 2.1.23: MiningDrillPrototype.” Wube Software (lua-api.factorio.com). original · archived · licence, all uses
- Software, Wube. 2019. “Friday Facts #276 - Belt item spacing & Script rendering.” Factorio blog. Wube Software. original · archived · licence, all uses
- Twinsen and kovarex. 2018. “Friday Facts #231 - Belt compression & Crash log uploading.” Factorio blog. Wube Software. original · archived · licence, all uses
- Software, Wube. 2026. “Friday Facts #442 - Flip, Flow, and Fresh Paint.” Factorio blog. Wube Software. original · archived · licence, all uses
- raiguard. 2024. “Friday Facts #416 - Fluids 2.0.” Factorio blog. Wube Software. original · archived · licence, all uses
- raiguard. 2024. “Friday Facts #430 - Drowning in Fluids.” Factorio blog. Wube Software. original · archived · licence, all uses
- Software, Wube. 2026. “Factorio Prototype API 2.1.23: Effect.” Wube Software (lua-api.factorio.com). original · archived · licence, all uses
- Software, Wube. 2015. “Friday Facts #81 - Chain signals.” Factorio blog. Wube Software. original · archived · licence, all uses
- Software, Wube. 2023. “Friday Facts #389 - Train control improvements.” Factorio blog. Wube Software. original · archived · licence, all uses
- Software, Wube. 2024. “Friday Facts #395 - Generic interrupts and Train stop priority.” Factorio blog. Wube Software. original · archived · licence, all uses
- Software, Wube. 2026. “Factorio Prototype API 2.1.23: FlyingRobotPrototype.” Wube Software (lua-api.factorio.com). original · archived · licence, all uses
- Software, Wube. 2023. “Friday Facts #384 - Combinators 2.0.” Factorio blog. Wube Software. original · archived · licence, all uses
- Software, Wube. 2026. “Friday Facts #445 - The Biters Bite Back.” Factorio blog. Wube Software. original · archived · licence, all uses
- Software, Wube. 2026. “Factorio Prototype API 2.1.23: BaseAttackParameters.” Wube Software (lua-api.factorio.com). original · archived · licence, all uses
- Software, Wube. 2026. “Factorio Prototype API 2.1.23: CharacterPrototype.” Wube Software (lua-api.factorio.com). original · archived · licence, all uses
- Kovařík, Michal. 2014. “kovarex on Factorio and modded Minecraft (Nerd³ video thread).” Reddit (r/nerdcubed). original · archived · licence, all uses
- Kovařík, Michal. 2014. “Friday Facts #50 - Growing secretly.” Wube Software (factorio.com). original · archived · licence, all uses
- Kovařík, Michal. 2013. “How it all begun — Factorio forums, Off topic.” Factorio forums. original · archived · licence, all uses
- Kovařík, Michal. 2013. “Electric energy — Factorio forums, Development Proposals.” Factorio forums. original · archived · licence, all uses
- Kovařík, Michal. 2018. “Friday Facts #266 - Cleanup of mechanics.” Wube Software (factorio.com). original · archived · licence, all uses
- Klonan and raiguard. 2024. “Friday Facts #423 - Research info tooltip & Online players GUI.” Wube Software (factorio.com). original · archived · licence, all uses
- Kovařík, Michal. 2013. “Railroad — Factorio forums, Development Proposals.” Factorio forums. original · archived · licence, all uses
- TTDPatch team. n.d. “TTDPatch Manual: Pre-signals.” ttdpatch.net. original · archived · licence, all uses
- Kozelek, Tomáš. 2016. “Friday Facts #126 - Steam Status II and Trains Stuff.” Wube Software (factorio.com). original · archived · licence, all uses
- Kovařík, Michal. 2013. “Fight — Factorio forums, Development Proposals.” Factorio forums. original · archived · licence, all uses
- Kozelek, Tomáš. 2013. “Friday Facts #12.” Wube Software (factorio.com). original · archived · licence, all uses
- Kovařík, Michal. 2014. “Factorio <> Industry Giant 2 — Factorio forums, Ideas and Suggestions.” Factorio forums. original · archived · licence, all uses
- Persson, Markus. 2009. “The origins of Minecraft.” The Word of Notch (Tumblr). original · archived · licence, all uses
- Handy, Alex and Markus Persson. 2010. “Interview: Markus 'Notch' Persson Talks Making Minecraft.” Gamasutra (UBM). original · archived · licence, all uses
- McGuire, Antonia and Chris Sawyer. 2014. “Interview with Chris Sawyer and the development team of Transport Tycoon mobile.” transporttycoon.com (31X Ltd). original · archived · licence, all uses
- Bauman, Steve and Chris Sawyer. 2000. “The Pursuit of Fun — Chris Sawyer interview.” Computer Games Magazine (cdmag.com). original · archived · licence, all uses
- Donovan, Tristan and Will Wright. 2011. “The Replay Interviews: Will Wright.” Gamasutra (later reprinted on gamedeveloper.com). original · archived · licence, all uses
- OpenTTD contributors. n.d. “OpenTTD — About.” OpenTTD. original · archived · licence, all uses
- Twinsen. 2025. “Friday Facts #439 - Factorio and Space Age on Nintendo Switch 2™.” Factorio blog. Wube Software. original · archived · licence, all uses
Secondary
- Lane, Rick. 2020. “Factorio review — PC Gamer.” PC Gamer. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Pollution.” Official Factorio Wiki. original · archived · licence, all uses
- Hafer, Leana. 2021. “Factorio review — IGN.” IGN. original · archived · licence, all uses
- Cannon, Trent. 2022. “Factorio Review (Switch eShop) — Nintendo Life.” Nintendo Life. original · archived · licence, all uses
- Lane, Rick. 2024. “Factorio: Space Age review — PC Gamer.” PC Gamer. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Mining.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Time.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Crafting.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Transport belts/Physics.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Underground belt.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Belt transport system.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Inserters.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Research.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Power production.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Solar panel.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Nuclear reactor.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Train path finder.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Logistic network.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Roboport.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Ghost.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Circuit network.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Arithmetic combinator.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Decider combinator.” Official Factorio Wiki. original · archived · licence, all uses
- Official Factorio Wiki contributors. n.d. “Enemies.” Official Factorio Wiki. original · archived · licence, all uses
- Machkovech, Sam. 2017. “Sid Meier tells Civilization's origin story, cites children's history books.” Ars Technica. original · archived · licence, all uses