“The factory of the future will have only two employees, a man and a dog. The man will be there to feed the dog. The dog will be there to keep the man from touching the equipment.”
Factorio is a game by Wube Software. It’s alpha was released in 2012, and it is currently in early access on Steam for $20.
The game is about building, maintaining and protecting factories; as your base becomes more complicated, you must make the factories run automatically without your help. You must mine ores, refine them in furnaces, and use them to craft things to make your factories bigger, stronger and faster. It reminds me of when I played Minecraft, when I used redstone to create an auto-smelter and auto-furnace, but on a much larger scale.
My brother remarked that this seems like a perfect game for engineers. And I think that’s true to an extent, but it’s really for anyone who enjoys making a complex system based on simple, easy to understand rules. Growing a tiny coal powered drill to a massive steel production facility and watching the complexity grow is really fun, as is dealing with logistics and clearing a patch of trees for another factory.
If you enjoy learning about and building complex systems to achieve a goal, you will love Factorio.
I have spent 66 hours on Factorio so far, and I am still very much hooked. I love expanding my factories, looking for optimizations, coming up with new ways of automation, and seeing the fruits of my labors in a big old chest full of expensive products. It is an extremely rewarding game, as you can see the products of your factories very quickly.
You harvest coal, iron, copper, stone and oil and use them to produce assemblers, inserters, robots, etc., all with the goal to mass produce everything. Progress is measured by research: you can combine products to create vials, which are needed to conduct research. In the picture above, there are 3 types of vials (red, green and purple) being loaded into research labs (hemisphere looking things near center of screen). Research allows you to unlock more and more technology, which unlocks products that you can make. For example, you start with a normal furnace, can upgrade to a steel furnace for faster production, and eventually an electric furnace which does not require coal, simplifying logistics. You will need research to unlock more and more systems, from logistics to railways to combinators.
Pollution is generated by burning coal (or trees) and running some machines (primarily pumpjacks, electric miners and assemblers). Pollution affects enemies in 2 ways:
- Global pollution: when you generate pollution, the total level of pollution goes up. This cannot be decreased, and enemies become stronger as pollution levels rise. This adds a ticking clock element to the game, where you must win the game before the end-game juggernauts show up and destroy all your hard work in minutes.
- Local pollution: pollution produces a cloud around the machine that created the pollution. This pollution cloud (shown in red above in the map) attracts enemies. When enemies are in the cloud, they group up and attack your base together. Pollution clouds do get smaller and fade over time.
These two points give great incentive to minimize pollution production. This is achieved primarily by using machines that are powered by electricity rather than coal (eg. use electric furnace rather than coal furnace) and by relying on solar panels.
Power is generated in 2 ways: steam engine and solar power. Steam engines produces a huge amount of power, are cheap to make and are available from the early game. However, they produce a large amount of pollution, because they require hot water (water is boiled in boilers, which burn coal). Solar panels produce 100% clean energy, but work only during the day, produce very little power, are fairly expensive, and require some research to unlock.
Factories can run during the night using only solar panel if you have enough accumulators; above is a picture of my solar farm, which includes accumulators. Accumulators store excess energy and outputs it when there is a deficiency. Of course, accumulators require that you have excess energy, meaning you need to have extra power generators. This presents a significant challenge for factories that run on nothing but solar power:
- Accumulators must be unlocked by a large amount of research, meaning they are unavailable until mid-game
- They are expensive.
- They require batteries, which requires sulfuric acid, which requires sulfur, which requires oil refincement, which requires pumpjacks; these must all be researched.
- Oil is only available at oil wells, which are randomly generated on the map, and cannot be moved. This means that it is very likely you will need a train system to do any significant processing, which is cheap in terms of research but can be expensive in terms of actual materials.
- As mentioned, excess power is necessary to charge the accumulators. This means that you must have excess solar panels on top of those necessary to provide power to your factories. This means you need a lot of extra solar panels, which adds a large overhead to your power generation.
- You need a lot of room. According to my back of the envelope calculations, you need 1 solar panel and 1 accumulator per 40 kilowatts of power necessary for baseline operation. This means that if you need 4 megawatts of power for all of your machines, you will need 100 solar panels and 100 accumulators. The solar panels will provide enough power to power the machines AND charge the accumulators, and there will be enough stored energy to power the factory at night. Note that solar panels take up 3 x 3 squares, while accumulators take up 2 x 2 squares, meaning you need an area of 1300 squares to generate 4 megawatts, which is a very small amount in the mid game.
The main focus (and the point, really) of the game is production. You initially use conveyor belts and inserters to input and output resources into and from machines. The picture above shows ores running up the right, being moved into electric furnaces, which produce plates, which run down vertically. These plates are then inserted into assemblers, which craft products when given the power and the appropriate inputs. The assemblers then output onto a conveyor belt, which use the product to build more complex products.
The fun of production comes in the several forms:
- Organization: It is very fun to come up with an outline of your factory. You think about where the ore is coming from, where to put the furnaces, where to put the assemblers, etc. This can be quite challenging because you msut account for expansion; in the picture above, I could add more furnaces by expanding the ore and plate belts further to the left.
- Belt puzzles: The belts have a left and right side, or top and bottom side, which can carry separate objects. In the picture above, one of the belts carry the iron and copper plates. The decision to carry multiple objects on the same belts, and making that happen, present very simple but still interesting puzzles. These puzzles can get harder depending on how cramped your belts get.
- Bottle necking: you also should look through your factory and find sources of bottlenecks. A simple example is the furnaces: if you hae a build up of ore on the conveyor belt, then you don’t have enough furnaces. If furnaces that are downstream on the conveyor belt don’t get any ore, then you have too many furnaces, or not enough drills to produce ores.
- Power management: you also must make decisions regarding power, since it is a limited resources in early game. You must occasionally shut down wings of your factory to prevent overburdening your power system.
Some of the recipes become very complex, requiring several, highly processed products, which is not really doable with conveoyor belts, as they would require a very complex network of belts and / or a lot of area. This is where robotics comes into play.
Robots are used for logistics and construction. Logistics is a different way to transport materials, while construction is used to copy factories or remove large amount of items at once. First ,logistics.
The picture above shows robots carrying stuff, including a blue vial and a battery. Instead of creating conveyor belts, you create special chests. Some chests request items, while others simply hold them until a robot comes to pick them up. In the picture above, a chest requests blue vials, so when that item is produced by an assembler, the vial is moved into a holding chest, and a robot comes to pick it up. Similarly, batteries are held in storage chests and are moved to requester chests, after which the assembler takes the battery to create things.
This is an extremely useful alternative to conveyor belts, as it does not clutter up the floor with belts, nor does it require that much effort from you. All you need are robotports (air ports for those robots) and a bunch of robots. The major drawback to this system is the slowness of the robots; conveyor belts can carry hundreds of items to its destination non-stop, while robots can only carry a few at a time and must occasionally stop at roboports to recharge. Two other drawbacks are how expensive each robot is, and the power demands of the roboports, both of which become small in late game, though they are formidable challenges in mid-game.
Construction robots are for constructing and deconstructing. In the example above, rather than me manually going through and tearing down the walls and the trees (which would make sense if I want to expand my base), I can highlight the objects I want to remove, and a fleet of construction bots does it for me. It’s very very VERY useful if you want to expand in a forest like area, as clearing out the hundreds of trees takes seconds instead of 30 minutes.
Construction robots can also create. In this case, I am creating another set of solar panels and accumulators. I must first make this structure by hand, copy it into a blue print, and then provide the materials necessary to make the structure in a holding chest (shared with the logistics robots, so that logistics robots can keep supplying the construction robots). Then, I use the blueprint to place down the solar farm, just like I’m placing down a single building, and the constructor robots build for me. Again, not very complex, but extremely useful when you have repeating structures. Also, it’s really really cool to see a fully working, complex structure sprint up in literally seconds.
For transporting objects over large distances, conveyor belts are completely impractical, and manually driving around picking up and dropping resources becomes very tedious (by the way you can make a car in this game). The reason you will need to cover large distances is primarily for oil: ores are plentiful, so belts are usually fine, but oil wells are in small groups all over the map. Furthermore, oil wells begin to produce a very small amount of oil after they’ve been harvested for too long, forcing you to expand to look for richer wells.
Train schedules, fortunately, are already automated. If you make train stops and tracks to connect them, then input into the train the schedule, then the train automatically goes between them over and over again. The locomotives drag cargo wagons, which act just like chests, so you use inserters to load / unload items from them. Word of advice: only carry 1 or maybe 2 item types in each cargo. This will greatly simplify your loading and unloading docks.
Currently, I only have a one-train system (only 1 train on the entire track system), but you can have multi-train systems, which can get quite complex. In order to avoid collisions, you must use train signals to denote sections as blocked off to other trains. Unforunately, I do not know too much about this since I have little experience with it, but it is based off of how real trains coordinate to avoid collisions. The main challenge with multi-train systems comes not from avoiding collisions, but mostly from avoiding dead-locks. It is very possible to have a complete lock down, where two trains are waiting on each other, resulting in a never ending cycle of waiting, freezing your supply lines and shutting down your factories.
As your factory becomes larger and more complicated, a greater degree of control becomes necessary, as waste becomes more and more unmanageable. For example, when it comes to bottle necks, say you want to make two products. One product requires 1 iron and 1 copper, while the other requires 1 iron and 3 copper. Then you must combine these two products to make a third product. In this case, if the iron and copper are being supplied at the same rate, then the product requiring 3 coppers plates will take longer, and there will be a build up of the product that requires only 1 copper. This may be acceptable depending on how much copper and iron you are willing to spare, but in Factorio, if it’s unsustainable, it’s impractical, since you can’t scale it up. This is a very simple case; what if you want to make supply drops via trains to several stations, and you want to make sure that no one station takes too much of the supplies? What if you want to power the laser turrets by accumulators only at night to avoid burning through your accumulators at night? All of these problems can be addressed by combinators.
Combinators are logic gates and comparators, allowing for complex and flexible automation. The three main components are arithmetic operators to perform arithmetic, decider combinators to perform comparisons, and constant combinators to provide constant signals. You can use combinators, for example, to make sure that all three chests have exactly 100 iron plates, or if you’re really determined, build a simple finite state machine. Your patience is the limit.
This is my least favorite part of the game by far. As mentioned, pollution draws enemies to you, and you must fight to expand your factory, meaning that fighting is inevitable. You can make pistols, submachine guns, shot guns, combat shotguns, flame throwers, missile launchers, land mines, attack drones, tanks, power armor, etc. all to crush your enemies. It definitely serves its purpose well in terms of providing incentives to keep your factory as pollution free as possible, but it’s very tedious when you’re trying to expand your base. I have found the cheapest method of fighting be the flamethrower; a light sprinkle with the flamethrower on any enemy base is enough to take it out eventually, so get in, spray and get out. The rocket launcher is much better for taking out worms, but it is also fairly costly to make, so it’s up to you.