On this page
  1. How it plays
  2. Where it came from
  3. Space Age
  4. Related
  5. Mechanics
  6. References
  7. Sources

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

MechanicKindHow
Resource harvestingdrills mine ore patches until each tile runs dry; crude oil never runs out
Craftingthe player hand-crafts the simple recipes, queueing missing parts; furnaces and assembling machines make the rest at their own speeds
Transport belttwo-lane belts in three speeds carry items, the player, and biters; splitters and underground belts route them
Tech treeResearchlabs 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 dayGame clocka seven-minute day that solar panels follow, with accumulators to cover the night
Fluid networkMerged segmentsince 2.0, connected pipes and tanks form one segment holding one fluid, and pumps split segments; before, fluid flowed from pipe to pipe
Power networkCoverage networka 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 transporttrains run schedules between named stops, and since 2.0 interrupts reroute them by condition
Rail signallingRoute exitsignals 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
Pathfindinga train picks the shortest path after penalties for stops, waiting trains, and signals the circuit network holds red
Fuel gaugeBy throttlelocomotives, cars, and tanks burn chemical fuel; better fuel makes a train accelerate harder and run faster
Inventory capacityQuantitythe character carries 80 slots and a cargo wagon 40 stacks
Logistic robotsrobots fly items between logistic chests and to the player inside roboport coverage, charging as they go
Constructionconstruction robots build the ghosts a blueprint lays down, and rebuild what is destroyed
Circuit networkred and green wires carry a number for every signal at once, and each arithmetic or decider combinator adds a tick of delay
Pollutionmachines emit pollution that spreads from chunk to chunk, and the ground and trees soak it up
Enemy spawningGeneratedbiter spawners turn the pollution they absorb into attack groups, and biters found new nests over time
Enemy evolutionevolution rises with time, pollution, and spawners destroyed, and brings bigger biters
Difficulty rampthe enemy grows stronger with play time and with the pollution the factory makes
Hit pointsbiters, spawners, walls, and the character have health, and spawners grow tougher with evolution
Ammunitiongun turrets fire magazines of three grades
Weapon energyPer weaponlaser turrets fire from their own electric buffers instead of ammunition
Rideable vehiclea car and a tank, each with an engine, fuel slots, an inventory, health, and mounted guns
Production chainAutomatedthe 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)
generalOn 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 blog
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 blog
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 blog
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 blog
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 blog
Wube put Factorio on Indiegogo on 1 February 2013, for a campaign of 30 days.Dev blog
The campaign introduced its makers as two programmers from Prague, and its team list named Tomas Kozelek and "marwin kovarex" as co-founders.Publisher
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 blog
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.Publisher
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 blog
Version 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 blog
On 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 blog
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 blog
Wube'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 blog
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 blog
Version 1.1 was marked stable by 29 January 2021, when kovarex wrote that it had no known issues and no active bug reports on the forums.Dev blog
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 blog
In October 2025 Twinsen announced a Nintendo Switch 2 Edition of Factorio, an upgrade for owners of the Switch version, to be released together with Space Age for Switch 2, aiming for December.Dev blog
Wube'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.Publisher
The About page credits programmer Robert Asaftei (Twinsen) with designing and implementing the circuit network.Publisher
In May 2017 kovarex wrote that Factorio had sold one million copies.Dev blog
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 blog
Factorio passed 3.5 million sales at Christmas 2022, Wube wrote, with steady sales of about 500,000 a year.Dev blog
In December 2022 Twinsen wrote that the Nintendo Switch version had sold over 40,000 copies since its launch, close to 40% of them in Japan.Dev blog
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".Web
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.Web
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".Web
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.Web
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.Web
Factorio was nominated for Debut Game at the 2021 BAFTA Games Awards, which Carrion won.Publisher
The National Academy of Video Game Trade Reviewers nominated Factorio for Outstanding Game, Simulation, for 2020; Microsoft Flight Simulator won.Publisher
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.Web
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.Interview
The README of shapez's source code describes it as "an open source base building game inspired by Factorio".Developer
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 blog
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 blog
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 blog
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 blog
Friday Facts #423 (2024) says Factorio's online players window, added for multiplayer, "was inspired by Minecraft's \"tab menu\"".Dev blog
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 blog
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 blog
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 blog
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.Publisher
Friday Facts #362 (2020) says the team wanted Factorio's main menu background to be a real animated simulation of the game, "similar to what Transport Tycoon or Rollercoaster Tycoon games have". A resemblance named in passing, not called an inspiration.Dev blog
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 blog
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 blog
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 blog
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 blog
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.Code
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.Code
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).Code
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.Code
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.Code
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.Code
Inserters turn at a fixed rotation_speed: burner 0.013, inserter 0.014, long-handed 0.02, fast and bulk 0.04. The wiki gives the unit as turns per tick.Code
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.Wiki
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.Code
An inserter's energy cost has two fields, energy_per_movement and energy_per_rotation, and in base each inserter sets both to the same value: 50 kJ for the burner inserter (drawn from fuel), 5 kJ for the inserter and the long-handed inserter, 7 kJ for the fast inserter and 20 kJ for the bulk inserter (electricity). The electric ones also drain 0.4, 0.4, 0.5 and 1 kW while idle.Code
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.Code
An inserter stops feeding fuel to a boiler that holds 5 or more items of it.Wiki
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.Code
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.Code
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.Code
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.Code
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.Code
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.Code
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.Code
Wube'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 blog
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.Code
A pipe and an underground pipe each hold 100 units and a storage tank 25,000. An underground pipe pair has a max_underground_distance of 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.Code
Water turns into ten times its volume of steam: Wube cut the water a boiler or heat exchanger needs tenfold in 2024 without changing any machine's power, so fluid wagons and barrels can carry a power plant's water.Dev blog
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.Code
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.Code
AmmunitionA 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.Publisher
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).Code
Circuit networkA 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.Wiki
A red or green wire between combinators, or between most circuit devices, can span at most 9 tiles.Code
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.Wiki
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.Wiki
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 blog
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 blog
The arithmetic, decider and selector combinators each draw 1 kW of electricity; the constant combinator, which outputs the signals set in it, needs none.Code
ConstructionConstruction 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.Wiki
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.Publisher
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.Code
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.Code
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.Wiki
CraftingThe character hand-crafts recipes in the crafting and hand-crafting categories and hand-mines resources in the basic-solid category.Code
Enemy evolutionEvolution 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.Code
Evolution 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.Code
The three sources add into a total that is squashed into the range 0 to 1 as total / (1 + total), so each gain is cut by (1 − evolution)² and evolution never reaches 1. The pollution that counts is what machines produce, not what spreads, so trees and terrain don't slow it.Wiki
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.Code
Enemy spawningA spawner absorbs pollution at 20 units plus 1% of its chunk's pollution per update. Each unit has a pollution cost to join an attack: a small biter 4, a medium 20, a big 80, a behemoth 400, and spitters 4, 12, 30 and 200. An attack group gathers for 1 to 10 minutes and holds at most 200 units.Code
Spawners, 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.Wiki
A spawner keeps up to 7 units of its own and spawns one every 6 seconds at evolution 0, quickening to every 2.5 seconds at evolution 1.Code
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.Code
Fuel gaugeA locomotive burns chemical fuel (wood, coal, solid fuel, rocket fuel, nuclear fuel) from three fuel slots.Code
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.Code
Hit pointsBiters have 15, 75, 375 and 3000 health (small, medium, big, behemoth) and spitters 10, 50, 200 and 1500; a spawner starts at 350, and its health grows with evolution up to tenfold.Code
A stone wall segment and a gate each have 350 health; a gate has an activation distance of 3 tiles.Code
Inventory capacityA cargo wagon holds 40 stacks of items; a fluid wagon holds 50,000 units of one fluid.Code
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.Code
Logistic robotsA construction robot flies at 0.06 tiles per tick (3.6 tiles per second) and a logistic robot at 0.05 (3 tiles per second); each carries one item until cargo research raises it.Code
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.Code
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.Code
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.Wiki
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.Wiki
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.Wiki
Since 2.0 a robot keeps a queue of tasks, and a new task goes to the robot, idle or busy, with the earliest estimated arrival at its start, instead of to the nearest idle robot as in 1.1.Dev blog
PathfindingThe 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.Wiki
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.Code
PollutionWorking 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.Code
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.Code
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).Code
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.Code
Power networkThe Factorio wiki's Electric system page (captured October 2026) says a building is on an electric network if one of its tiles lies in a pole's coverage area, and that poles placed close enough connect by themselves. When generation falls short, the electricity is spread evenly over the network's machines by their demand, and all of them slow by the same proportion. Generators meet demand in order: solar panels first, then steam engines and turbines, and accumulators last, which charge only from power left over once all demand is met.Wiki
Production chainThe Factorio Wiki's Crafting page (October 2026 capture) says an assembling machine set to a recipe should craft the item once all the requested ingredients are in its input slots; that, unlike the player, it doesn't chain-craft, so each step of a recipe needs a machine of its own; and that continuous production takes ingredients brought by belts and inserters, with inserters taking the products out for use elsewhere in the factory.Wiki
Rail signallingRail 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 blog
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 blog
A rail signal shows red, yellow or green and can send each as a circuit signal; a chain signal adds a fourth state, blue.Code
A train that would have to stop at a red signal tries to find a new path; that is the only part signals play in pathfinding beyond the penalties below.Dev blog
Rail transportA locomotive has a top speed of 1.2 tiles per tick (72 tiles per second), an engine of 600 kW, and a weight of 2000; a cargo or fluid wagon weighs 1000.Code
A train's top speed is the average of its rolling stock's top speeds times the average fuel bonus of its locomotives. Wagons set no top speed of their own and drop out of the average, so a train of base-game locomotives tops out at 72 tiles per second on coal and 82.8 on rocket or nuclear fuel (1.2 × 1.15 = 1.38 tiles per tick).Publisher
A new time wait condition defaults to 30 seconds and an inactivity condition to 5 seconds; a temporary stop waits 5 seconds by default.Code
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 blog
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 blog
Since 2.0 a train told to go to a stop that doesn't exist reports "No path" instead of skipping it, and a disabled stop acts as if its train limit were 0: a train already on its way still arrives, and one sent there waits as "Destination full".Dev blog
A train stop has a priority from 0 to 255, 50 by default and settable by circuit: trains choosing a destination prefer the higher priority, and trains at higher-priority stops leave first. A train the player sends somewhere by hand, or one stuck on the main line with no path or a full destination, gets 255.Dev blog
Since 2.0 a train placed from a blueprint switches itself to automatic mode once it is fully built, fuel requests included, so new trains can be stamped down with no setup.Dev blog
Resource harvestingA resource's mining_time is the seconds one unit takes to mine at mining speed 1, so a miner yields mining speed ÷ mining time units per second before bonuses. The four common ores (iron, copper, coal, stone) take 1 second; uranium ore takes 2.Code
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.Code
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.Code
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.Code
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.Wiki
Crude 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 minimum of 60,000 against a normal of 300,000.Code
Rideable vehicleThe car has a 150 kW engine, weighs 700, carries 80 slots and one fuel slot, has 450 health, and mounts a machine gun.Code
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.Code
Structure placementA 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).Wiki
Tech treeWorker robot speed research adds 35%, 40%, 45%, 55% and 65% to robot speed over its first five levels and 65% a level after that, without end; worker robot cargo size research adds one item a level over three levels, for four items a robot.Code
Mining productivity research adds +10% to every mining drill's output per level: levels 1 to 3 cost 250, 500 and 1,000 units, and level 4 repeats without end at 2,500 × (level − 3) units, needing space science.Code
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.Code
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.Code
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.Code
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.Publisher
Six levels of lab research speed add +20%, +30%, +40%, +50%, +50% and +60% to every lab, +250% in all.Code
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.Code
The 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.Code
The 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.Code
Time of dayA 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.Code
Transport beltThe 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.Code
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.Publisher
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 blog
Underground belts run at their tier's belt speed and have a max_distance of 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.Code
A splitter moves items at the same speed as its belt tier: 0.03125, 0.0625 and 0.09375 tiles per tick for the splitter, fast splitter and express splitter.Code
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.Wiki
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.Wiki
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.Code
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.Wiki
Weapon energyA 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.Publisher

References

  1. ^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.

    In the claim ledger

  2. ^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.

    In the claim ledger

  3. ^ 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.

    In the claim ledger

  4. ^ 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.

    In the claim ledger

  5. ^ 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.

    In the claim ledger

  6. ^ 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.

    In the claim ledger

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

    In the claim ledger

  8. ^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.

    In the claim ledger

  9. ^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.

    In the claim ledger

  10. ^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.

    In the claim ledger

  11. ^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.

    In the claim ledger

  12. ^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.

    In the claim ledger

  13. ^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.

    In the claim ledger

  14. ^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.

    In the claim ledger

  15. ^ 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.

    In the claim ledger

  16. ^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.

    In the claim ledger

  17. ^ 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.

    In the claim ledger

  18. ^ 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.

    In the claim ledger

  19. ^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.

    In the claim ledger

  20. ^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.

    In the claim ledger

  21. ^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.

    In the claim ledger

  22. ^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.

    In the claim ledger

  23. ^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.

    In the claim ledger

  24. ^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 the claim ledger

  25. ^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.

    In the claim ledger

  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.

    In the claim ledger

  27. ^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.

    In the claim ledger

  28. ^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 the claim ledger

  29. ^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.

    In the claim ledger

  30. ^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.

    In the claim ledger

  31. ^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.

    In the claim ledger

  32. ^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.

    In the claim ledger

  33. ^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.

    In the claim ledger

  34. ^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.

    In the claim ledger

  35. ^ 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 minimum of 60,000 against a normal of 300,000.Codefactorio-data 2.1.23 · Factorio Prototype API 2.1.23 · Factorio Wiki: Miningrevised
    How 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.

    In the claim ledger

  36. ^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.

    In the claim ledger

  37. ^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.

    In the claim ledger

  38. ^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.

    In the claim ledger

  39. ^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.

    In the claim ledger

  40. ^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.

    In the claim ledger

  41. ^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.

    In the claim ledger

  42. ^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: Time
    How 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.

    In the claim ledger

  43. ^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.

    In the claim ledger

  44. ^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.

    In the claim ledger

  45. ^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.

    In the claim ledger

  46. ^Underground belts run at their tier's belt speed and have a max_distance of 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 belt
    How 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.

    In the claim ledger

  47. ^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.

    In the claim ledger

  48. ^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.

    In the claim ledger

  49. ^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.

    In the claim ledger

  50. ^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.

    In the claim ledger

  51. ^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.

    In the claim ledger

  52. ^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.

    In the claim ledger

  53. ^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.

    In the claim ledger

  54. ^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.

    In the claim ledger

  55. ^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.

    In the claim ledger

  56. ^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.

    In the claim ledger

  57. ^ 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.

    In the claim ledger

  58. ^ 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.

    In the claim ledger

  59. ^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.

    In the claim ledger

  60. ^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.

    In the claim ledger

  61. ^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.

    In the claim ledger

  62. ^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.

    In the claim ledger

  63. ^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.

    In the claim ledger

  64. ^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.

    In the claim ledger

  65. ^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.

    In the claim ledger

  66. ^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.

    In the claim ledger

  67. ^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.

    In the claim ledger

  68. ^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.

    In the claim ledger

  69. ^ 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 the claim ledger

  70. ^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 #430revised
    How we know
    560    default_pipeline_extent = 320, -- Can be overridden on a per-fluidbox basis
    
    core/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.

    In the claim ledger

  71. ^A pipe and an underground pipe each hold 100 units and a storage tank 25,000. An underground pipe pair has a max_underground_distance of 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 #430
    How 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.

    In the claim ledger

  72. ^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.

    In the claim ledger

  73. ^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.23revised
    How 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.

    In the claim ledger

  74. ^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.

    In the claim ledger

  75. ^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.

    In the claim ledger

  76. ^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.

    In the claim ledger

  77. ^ 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.

    In the claim ledger

  78. ^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.

    In the claim ledger

  79. ^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.

    In the claim ledger

  80. ^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.

    In the claim ledger

  81. ^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.

    In the claim ledger

  82. ^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.

    In the claim ledger

  83. ^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.

    In the claim ledger

  84. ^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.

    In the claim ledger

  85. ^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.

    In the claim ledger

  86. ^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.

    In the claim ledger

  87. ^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.

    In the claim ledger

  88. ^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.

    In the claim ledger

  89. ^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.

    In the claim ledger

  90. ^ 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.

    In the claim ledger

  91. ^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.

    In the claim ledger

  92. ^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.

    In the claim ledger

  93. ^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.

    In the claim ledger

  94. ^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.

    In the claim ledger

  95. ^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.

    In the claim ledger

  96. ^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.

    In the claim ledger

  97. ^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.

    In the claim ledger

  98. ^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.

    In the claim ledger

  99. ^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.

    In the claim ledger

  100. ^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.

    In the claim ledger

  101. ^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.

    In the claim ledger

  102. ^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.

    In the claim ledger

  103. ^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.

    In the claim ledger

  104. ^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.

    In the claim ledger

  105. ^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.

    In the claim ledger

  106. ^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.

    In the claim ledger

  107. ^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.

    In the claim ledger

  108. ^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.

    In the claim ledger

  109. ^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.

    In the claim ledger

  110. ^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.

    In the claim ledger

  111. ^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.

    In the claim ledger

  112. ^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.

    In the claim ledger

  113. ^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.

    In the claim ledger

  114. ^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 the claim ledger

  115. ^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.

    In the claim ledger

  116. ^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.

    In the claim ledger

  117. ^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.

    In the claim ledger

  118. ^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 the claim ledger

  119. ^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.

    In the claim ledger

  120. ^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.

    In the claim ledger

  121. ^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 the claim ledger

  122. ^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 the claim ledger

  123. ^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 the claim ledger

  124. ^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.

    In the claim ledger

  125. ^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.

    In the claim ledger

  126. ^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.

    In the claim ledger

  127. ^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.

    In the claim ledger

  128. ^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.

    In the claim ledger

  129. ^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.

    In the claim ledger

  130. ^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.

    In the claim ledger

  131. ^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 claim ledger

  132. ^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.

    In the claim ledger

  133. ^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 3
    
    base/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 5
    
    base/prototypes/technology.lua line 1786 at 39dbd0f · upstream ↗
    1811        modifier = 1 -- result of 6
    
    base/prototypes/technology.lua line 1811 at 39dbd0f · upstream ↗
    1837        modifier = 2 -- result of 8
    
    base/prototypes/technology.lua line 1837 at 39dbd0f · upstream ↗
    1863        modifier = 2 -- result of 10
    
    base/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.

    In the claim ledger

  134. ^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.

    In the claim ledger

Sources

Code

Primary

Secondary