| BuildCraft 2.2.4's oil chain is short: a pump lifts oil block by block out of a deposit it empties, the refinery's one recipe turns oil into the same amount of fuel, and the combustion engine burns the fuel for energy. Factorio 2.1.23's crude oil is an infinite resource a pumpjack draws from a well; the refinery's basic recipe makes petroleum gas alone, its advanced recipe splits crude oil and water into heavy oil, light oil and petroleum gas, and cracking recipes in the chemistry category, which the chemical plant runs, turn heavy oil into light oil and light oil into gas. | base/prototypes/entity/resources.lua L218–242base/prototypes/entity/mining-drill.lua L1867–1871base/prototypes/recipe.lua L153–229base/prototypes/recipe.lua L234–344base/prototypes/entity/entities.lua L8849–8857 | Code |
| A 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. | base/prototypes/entity/trains.lua L503–507base/prototypes/entity/trains.lua L1036base/prototypes/entity/trains.lua L833 | Code |
| A locomotive burns chemical fuel (wood, coal, solid fuel, rocket fuel, nuclear fuel) from three fuel slots. | base/prototypes/entity/trains.lua L546–551 | 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. | base/prototypes/item.lua L767–769base/prototypes/item.lua L784–786base/prototypes/item.lua L2073–2075base/prototypes/item.lua L72–73 | 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). | base/prototypes/entity/trains.lua L504base/prototypes/item.lua L2075base/prototypes/item.lua L786 | Publisher |
| A cargo wagon holds 40 stacks of items; a fluid wagon holds 50,000 units of one fluid. | base/prototypes/entity/trains.lua L821base/prototypes/entity/trains.lua L1026 | Code |
| A rail signal shows red, yellow or green and can send each as a circuit signal; a chain signal adds a fourth state, blue. | base/prototypes/entity/trains.lua L1667–1669base/prototypes/entity/trains.lua L1691–1694 | Code |
| 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. | core/prototypes/utility-constants.lua L318–331 | Code |
| A new time wait condition defaults to 30 seconds and an inactivity condition to 5 seconds; a temporary stop waits 5 seconds by default. | core/prototypes/utility-constants.lua L402–404 | Code |
| A 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. | base/prototypes/entity/flying-robots.lua L638–639base/prototypes/entity/flying-robots.lua L697–698 | Code |
| Worker 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. | base/prototypes/technology.lua L4032–4038base/prototypes/technology.lua L4161–4167base/prototypes/technology.lua L4185base/prototypes/technology.lua L4190–4196 | 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. | base/prototypes/entity/flying-robots.lua L640–645base/prototypes/entity/flying-robots.lua L699–704 | 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. | base/prototypes/entity/entities.lua L6943–6954base/prototypes/entity/entities.lua L6956–6959 | 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. | base/prototypes/entity/entities.lua L5803–5805base/prototypes/entity/entities.lua L5916 | Wiki |
| A red or green wire between combinators, or between most circuit devices, can span at most 9 tiles. | core/lualib/circuit-connector-sprites.lua L106core/lualib/circuit-connector-sprites.lua L211 | Code |
| 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. | changelog.txt L642changelog.txt L61base/prototypes/entity/circuit-network.lua L1007–1009 | 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. | base/prototypes/entity/circuit-network.lua L48base/prototypes/entity/circuit-network.lua L118base/prototypes/entity/circuit-network.lua L1016 | Code |
| 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. | base/prototypes/entity/entities.lua L1288base/prototypes/entity/mining-drill.lua L1816base/prototypes/entity/mining-drill.lua L1753base/prototypes/entity/mining-drill.lua L1882base/prototypes/entity/entities.lua L8411base/prototypes/entity/entities.lua L4868base/prototypes/entity/entities.lua L8854base/prototypes/entity/entities.lua L9308base/prototypes/entity/entities.lua L3195base/prototypes/entity/entities.lua L3345base/prototypes/entity/entities.lua L1084base/prototypes/entity/entities.lua L5573base/prototypes/entity/entities.lua L4415 | 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. | base/prototypes/map-settings.lua L14–20 | 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). | base/prototypes/tile/tile-pollution-values.lua L4–8base/prototypes/map-settings.lua L21–22 | 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. | base/prototypes/entity/trees.lua L6–7base/prototypes/map-settings.lua L27–30 | Code |
| A 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. | base/prototypes/entity/enemies.lua L174base/prototypes/entity/enemies.lua L103base/prototypes/entity/enemies.lua L346base/prototypes/entity/enemies.lua L406base/prototypes/entity/enemies.lua L467base/prototypes/entity/enemies.lua L574base/prototypes/entity/enemies.lua L631base/prototypes/entity/enemies.lua L688base/prototypes/map-settings.lua L131–132base/prototypes/map-settings.lua L106–108 | Code |
| Biters 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. | base/prototypes/entity/enemies.lua L77base/prototypes/entity/enemies.lua L305base/prototypes/entity/enemies.lua L365base/prototypes/entity/enemies.lua L425base/prototypes/entity/enemies.lua L485base/prototypes/entity/enemies.lua L536base/prototypes/entity/enemies.lua L592base/prototypes/entity/enemies.lua L649base/prototypes/entity/enemies.lua L137core/prototypes/utility-constants.lua L348 | Code |
| 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. | base/prototypes/entity/enemies.lua L177base/prototypes/entity/enemies.lua L203–204 | Code |
| 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. | base/prototypes/entity/enemies.lua L189–201base/prototypes/entity/enemies.lua L848–855 | 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. | base/prototypes/map-settings.lua L34–43 | 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. | base/prototypes/map-settings.lua L48–52base/prototypes/map-settings.lua L83–101changelog.txt L336–337 | Code |
| 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. | base/prototypes/map-gen-presets.lua L56–71base/prototypes/map-gen-presets.lua L152–162 | Code |
| 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. | base/prototypes/entity/turrets.lua L463base/prototypes/entity/turrets.lua L550–552base/prototypes/entity/turrets.lua L566base/prototypes/item.lua L4087base/prototypes/item.lua L4095base/prototypes/item.lua L4138base/prototypes/item.lua L2819 | Publisher |
| 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. | base/prototypes/entity/turrets.lua L597base/prototypes/entity/turrets.lua L615–618base/prototypes/entity/turrets.lua L692–703base/prototypes/entity/turrets.lua L710–712base/prototypes/entity/beams.lua L10base/prototypes/entity/beams.lua L23 | 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). | base/prototypes/entity/fire.lua L495base/prototypes/entity/fire.lua L885–888base/prototypes/entity/fire.lua L896–902 | Code |
| A stone wall segment and a gate each have 350 health; a gate has an activation distance of 3 tiles. | base/prototypes/entity/entities.lua L3424base/prototypes/entity/entities.lua L5002base/prototypes/entity/entities.lua L5010 | 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. | base/prototypes/entity/entities.lua L708–725base/prototypes/entity/entities.lua L730–732base/prototypes/entity/entities.lua L976 | Code |
| The character hand-crafts recipes in the crafting and hand-crafting categories and hand-mines resources in the basic-solid category. | base/prototypes/entity/entities.lua L715–716 | Code |
| The car has a 150 kW engine, weighs 700, carries 80 slots and one fuel slot, has 450 health, and mounts a machine gun. | base/prototypes/entity/entities.lua L4063base/prototypes/entity/entities.lua L4096base/prototypes/entity/entities.lua L4109base/prototypes/entity/entities.lua L4371–4373 | 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. | base/prototypes/entity/entities.lua L7958base/prototypes/entity/entities.lua L7964–7969base/prototypes/entity/entities.lua L8010base/prototypes/entity/entities.lua L8023base/prototypes/entity/entities.lua L8286–8289 | Code |
A 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. | base/prototypes/entity/resources.lua L79–82base/prototypes/entity/resources.lua L132–135base/prototypes/entity/resources.lua L160–166 | 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. | base/prototypes/entity/mining-drill.lua L467–468base/prototypes/entity/mining-drill.lua L1749–1759 | 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. | base/prototypes/entity/mining-drill.lua L1788–1789base/prototypes/entity/mining-drill.lua L1800–1813base/prototypes/entity/mining-drill.lua L1827base/prototypes/entity/mining-drill.lua L1853 | 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. | base/prototypes/entity/entities.lua L704–705base/prototypes/entity/entities.lua L976base/prototypes/entity/mining-drill.lua L1749 | Code |
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. | base/prototypes/entity/resources.lua L218–242base/prototypes/entity/mining-drill.lua L1898–1902 | 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. | base/prototypes/technology.lua L5224–5236base/prototypes/technology.lua L5300–5324 | Code |
| 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. | base/prototypes/entity/entities.lua L1073–1081base/prototypes/entity/entities.lua L4858–4866base/prototypes/entity/entities.lua L4399–4413 | Code |
| 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. | base/prototypes/entity/entities.lua L3189–3201base/prototypes/entity/entities.lua L3338–3348base/prototypes/entity/entities.lua L5567–5576 | 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. | base/prototypes/recipe.lua L1442–1458base/prototypes/recipe.lua L1473–1480 | 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). | base/prototypes/recipe.lua L765–780base/prototypes/recipe.lua L883–887base/prototypes/recipe.lua L2094–2119 | 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. | base/prototypes/recipe.lua L1002–1034base/prototypes/recipe.lua L1963–2035base/prototypes/item.lua L2110 | 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. | base/prototypes/entity/entities.lua L715 | 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. | base/prototypes/item.lua L2556base/prototypes/item.lua L2580base/prototypes/item.lua L2604base/prototypes/item.lua L2628base/prototypes/item.lua L2652base/prototypes/item.lua L2676base/prototypes/item.lua L2700–2706base/prototypes/item.lua L2723–2729base/prototypes/item.lua L2746–2752 | 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. | base/prototypes/recipe.lua L1452–1458 | 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. | base/prototypes/entity/entities.lua L7796base/prototypes/entity/entities.lua L7814–7819 | Code |
| 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. | base/prototypes/entity/transport-belts.lua L180base/prototypes/entity/transport-belts.lua L216base/prototypes/entity/transport-belts.lua L252 | Code |
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. | base/prototypes/entity/transport-belts.lua L268base/prototypes/entity/transport-belts.lua L394base/prototypes/entity/transport-belts.lua L515 | 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. | base/prototypes/entity/transport-belts.lua L659base/prototypes/entity/transport-belts.lua L772base/prototypes/entity/transport-belts.lua L883 | Code |
| 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. | core/prototypes/utility-constants.lua L615space-age/prototypes/technology.lua L1206 | 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. | base/prototypes/entity/entities.lua L2651–2652base/prototypes/entity/entities.lua L2329–2330base/prototypes/entity/entities.lua L2532–2533base/prototypes/entity/entities.lua L2434–2435base/prototypes/entity/entities.lua L5611–5612 | Code |
| 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. | base/prototypes/entity/entities.lua L2387–2388base/prototypes/entity/entities.lua L2528–2529 | 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. | base/prototypes/entity/entities.lua L2631–2632base/prototypes/entity/entities.lua L2321–2327base/prototypes/entity/entities.lua L2530–2541base/prototypes/entity/entities.lua L2426–2432base/prototypes/entity/entities.lua L5603–5609 | 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. | base/prototypes/technology.lua L1708–1710base/prototypes/technology.lua L1734base/prototypes/technology.lua L1757–1762base/prototypes/technology.lua L1786base/prototypes/technology.lua L1811base/prototypes/technology.lua L1837base/prototypes/technology.lua L1863base/prototypes/technology.lua L1888–1893 | 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. | changelog.txt L665 | Wiki |
| 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. | core/prototypes/utility-constants.lua L409–413 | 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. | base/prototypes/entity/entities.lua L3988–4000 | Code |
| Six levels of lab research speed add +20%, +30%, +40%, +50%, +50% and +60% to every lab, +250% in all. | base/prototypes/technology.lua L2309–2310base/prototypes/technology.lua L2333–2334base/prototypes/technology.lua L3625–3626base/prototypes/technology.lua L3650–3651base/prototypes/technology.lua L3675–3676base/prototypes/technology.lua L3701–3702 | 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. | base/prototypes/technology.lua L45–50base/prototypes/technology.lua L80–85base/prototypes/technology.lua L100–105base/prototypes/technology.lua L2018–2023base/prototypes/technology.lua L4627–4631base/prototypes/technology.lua L5119–5123base/prototypes/technology.lua L2705–2710 | 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. | base/prototypes/technology.lua L5300–5324 | 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. | base/prototypes/technology.lua L3592–3615base/prototypes/entity/entities.lua L6115base/prototypes/recipe.lua L2471–2484base/prototypes/item.lua L2110 | Code |
| 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. | base/prototypes/entity/entities.lua L1257base/prototypes/entity/entities.lua L1281–1286base/prototypes/fluid.lua L28–32base/prototypes/fluid.lua L40–44 | 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. | base/prototypes/entity/entities.lua L1778–1780 | 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. | base/prototypes/entity/entities.lua L1967–1972 | Code |
| 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. | base/prototypes/entity/entities.lua L5356base/prototypes/planet/planet.lua L28–31core/lualib/util.lua L903–904core/prototypes/utility-constants.lua L492–496 | 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. | base/prototypes/entity/entities.lua L5391–5394 | 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. | base/prototypes/entity/entities.lua L8971–8972base/prototypes/entity/entities.lua L9053–9054base/prototypes/item.lua L2310–2311 | 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. | base/prototypes/entity/entities.lua L9359base/prototypes/entity/entities.lua L9383–9390base/prototypes/entity/entities.lua L9661–9663changelog.txt L674 | 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. | base/prototypes/entity/entities.lua L1655–1656base/prototypes/entity/entities.lua L4705–4706base/prototypes/entity/entities.lua L4570–4571base/prototypes/entity/entities.lua L7646–7647 | Code |
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. | core/prototypes/utility-constants.lua L560 | 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. | base/prototypes/entity/entities.lua L2766base/prototypes/entity/entities.lua L3026base/prototypes/entity/entities.lua L3035base/prototypes/entity/entities.lua L7094base/prototypes/entity/entities.lua L7255–7256 | 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. | base/prototypes/fluid.lua L32base/prototypes/fluid.lua L44 | 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. | base/prototypes/entity/entities.lua L8403–8413base/prototypes/recipe.lua L153–229 | 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. | base/prototypes/entity/entities.lua L8849–8857base/prototypes/recipe.lua L234–344base/prototypes/recipe.lua L433–481 | Code |
| IndustrialCraft²'s cables are rated: each tier takes packets up to one size, melts under a larger one, and loses energy with distance, though the number of packets is unlimited. For Factorio's four poles, the Factorio wiki names two properties, the area a pole powers and how far its wires reach, and when a Factorio network has too little power, every machine on it slows by the same proportion. | base/prototypes/entity/entities.lua L1655–1656base/prototypes/entity/entities.lua L4705–4706base/prototypes/entity/entities.lua L4570–4571base/prototypes/entity/entities.lua L7646–7647 | Wiki |
| IndustrialCraft²'s Generator turns burned fuel straight into energy, at 10 EU/t. Factorio splits the same job between two machines: a boiler burns fuel to make steam, and two steam engines turn one boiler's steam into electricity. | base/prototypes/entity/entities.lua L1281–1286 | Wiki |
| In Minecraft the player crafts by laying out a recipe's pattern on a 2×2 or 3×3 grid; the crafter, a late addition, made automated crafting possible in the base game. In Factorio the player asks for an item by its recipe: handcrafting runs at crafting speed 1, a recipe's time is its seconds at that speed, missing parts that can be crafted are queued first, and the player can handcraft only the "crafting" and "hand-crafting" categories, which leaves out the furnaces' smelting recipes. | base/prototypes/entity/entities.lua L715base/prototypes/recipe.lua L1442–1458 | Wiki |
| In the Java Edition a plain Minecraft furnace smelts one item every 200 game ticks (10 seconds). Factorio's stone furnace smelts at crafting speed 1, so an iron plate takes its recipe's 3.2 seconds, and the steel and electric furnaces, at speed 2, take 1.6 (computed). Factorio's stone and steel furnaces burn fuel, as Minecraft's does. | base/prototypes/entity/entities.lua L1073–1081base/prototypes/entity/entities.lua L4858–4866base/prototypes/entity/entities.lua L4399–4413base/prototypes/recipe.lua L1442–1458 | Wiki |
| Factorio's pathfinder, which costs a route by the length of its rail segments in tiles, adds 2000 for each train stop on the route other than the one at the train's start, while OpenTTD's charges 10 tiles' worth for each tile of station platform a train runs through. | core/prototypes/utility-constants.lua L320 | Code |