Factorio just released version 2.1, its last major update. Or at least that's what they're saying now. Terraria has been releasing new "final" updates every other year since 2011, so only time will tell.
Factorio started the automation games genre, which is now well established with many great games. This is a great time to review the whole genre all at once, what works and what doesn't. And even Factorio got a few things wrong, as the genre was still new back then.
What makes a great automation game
In automation games, players spend time doing 5 things:
- figuring out and automating new things
- identifying bottlenecks
- dealing with bottlenecks
- waiting
- bullshit
The best automation games are those where you do mostly 1, 2, and 3, and keep 4 and 5 to minimum.
Figuring out and automating new things
You want to build some new product you don't have yet, or are only making manually. Or you want to use some new more efficient process to get the same product, like foundry based steel instead of furnaces. Or you're setting up new logistics system like a rail network. Or a different combat system like a wall of flamethrower turrets.
This is the part all automation games get right. There's so much variety. Automation usually starts with belts carrying simple items, and machines doing 1-to-1 and 2-to-1 manufacturing, but then it goes into all kinds of crazy directions.
And whenever I think I've seen it all, I try another automation game or mod, and it turns out there's some completely new way to automate things! Dyson Sphere Program lets you solve electricity production by building a ring of solar panels around the equator, so half of them are always in the sun. On Cerys you produce plutonium by funneling cosmic ray particles with charged rods so they hit your stored uranium as many times as possible. On Rubia strong winds prevent belts and inserters from facing West, so you have to build your entire factory from West to East, throwing any excess into the wind.
A very important thing is that this is a one-way progression. Once something is automated, it stays automated without any further effort. The game should never ever break what you automated.
I can't think of a single game or a mod that got this part wrong, the range goes from fairly good to totally amazing.
Identifying bottlenecks
The second thing is identifying bottlenecks. You make some science packs, but you want to make more. You seem to be making enough green chips, but they're stuck on a slow belt and some of the destinations are not getting enough. Your factory is suffering from power outages, so you need more power. You need more space for your factory. You produce too much waste product, and for now you just dump it into a chest and haul it out manually, but you really need to address it properly.
Automation games have a mixed record here. Some bottlenecks are very easy to identify. Belt based designs make it especially simple - empty belt means you need to produce more, overfilled belt means you need to consume more. Or when producers are idle as belt is full, while consumer is idle as belt is empty, you need to increase belt throughput. That's one of the reasons belts are so popular - it's so easy to figure them out!
But often you aren't really given tools to figure things out. How many items per second or per minute a given building produces? Most games including Factorio 2.x now show you that on a tooltip but back in Factorio 1.x you had to do the math yourself. How many accumulators do you need? There's still nothing in game to tell you, you can either find out some ratios online, or add more when you run out of power.
Unfortunately there's a conflict between these two activities. Making processes more complex makes automating new things more exciting, but it can also make identifying bottlenecks more frustrating, and players should be able to stay in the game and figure things out, not feel forced to look for online tutorials.
For more exotic ways of production, you often see that things aren't working well enough, while having no good idea why. Why is my Gleba factory working sometimes, but then it just randomly dies and turns into a cesspit of spoilage? Nobody can tell. Why is my asteroid reprocessing loop getting stuck, while an identical system elsewhere keeps working perfectly? Who knows really. Why my wall can hold biter attack most times just fine, but then they break through once in a while? The game has no numbers to help you, so you just blindly tweak something and hope it's the right thing.
Dealing with bottlenecks
Once you've identified a bottleneck, you need to deal with it. Sometimes it's easy, just add a few machines, upgrade them to next tier, add more belts, and so on.
Sometimes you see that your current approach just isn't working, and you need to automate something new to really address the bottleneck. Maybe your belts just aren't good enough and you need to get some trains. Maybe there's no way to get enough blue chips on your new planet for all the rocket launches, and it's just easier to setup a space ship bringing them from another one where blue chips are abundant. Maybe your gun turrets aren't holding with highly evolved biters, and you'd rather add some flamethrowers to your walls instead of trying to double down on your current solution.
Sometimes you need to get creative. You identified that you need more space. Do you clear some biter nests and build a new wall? Make a landfill factory, then landfill a lake? Bring cliff explosives from Vulcanus to flatten an area that's unused for now as cliffs are making it too awkward to use? Or use a different design that's more space efficient, like adding speed beacons?
And most of the time, you just need to make a bigger version of what you already build, or copy it over a bunch of times.
This part needs careful balancing, and a lot of games do it quite poorly. If you make it too easy, just copy&paste whatever, and it just works, then you don't really have bottlenecks. But if you know what needs to be done, but it takes hours to actually do, it can take fun out of the game, and make it feel tedious.
This is where I feel Factorio got the balance wrong, making scaling up before construction bots just infuriating. Placing 1000 belts? Just run and drag, and it's done in seconds. Placing 100 assemblers? Run and drag, done in seconds. Placing power poles? Smart placement will make sure nothing is disconnected. But then you have to go through ridiculous and error prone tedium of connecting it all with inserters that takes the fun out of the game.
Then you finally unlock construction bots, and the whole problem is completely solved, but at the same time you also unlock logistics bots, which trivialize the game.
There are other operations you pretty much need construction bots for, like moving parts of your factory a bit because you didn't leave enough space, even though you keep telling yourself to leave more space over and over.
Most post-Factorio games got it right. You get equivalent of construction bots either immediately or very early, but logistics bots very late. And many popular mods like FasterStart give you a small number of personal construction robots either right away, or at least very early.
An interesting if simplistic example of an automation game is Shapez, where resources are infinite, machines are free, but there's just one thing that takes a special resource and that's copy&paste cost, so you can't just make your factory infinitely big with a few clicks.
And these are three things automation games should be about. Automating new things, identifying bottlenecks, dealing with bottlenecks, in a loop until you win. Unfortunately...
Waiting
A very common anti-pattern is forced waiting. All automation games want you to produce big amounts of something to progress, a lot of research packs, or a lot of machines, a lot of rocket launches, and so on.
It's quite easy to find yourself in a situation where you feel stuck - you can just wait a few hours doing nothing and then progression just happens, but there's not much you can even do until then that feels meaningful.
This is not the same as dealing with bottlenecks. For example Dyson Sphere Program has "Mission Accomplished!" tech that "wins" the game (you can of course continue as a sandbox). This requires a huge number of Universe Matrices, which are produced very slowly by your Dyson Sphere. There's no good way to speed it up, and whatever bottlenecks your factory has won't matter after you "win" the game, so the best strategy is to AFK for a few hours. Absolutely terrible. Or at least that was the case when I last played it, it's still an early access game, so they might have changed it by the time you're reading it.
Shapez is notorious for this, as every research requires a different item, many of which aren't used by anything afterwards, so you really don't have any incentive to scale things up. And as for doing the next item while you wait for current research, that research often unlocks a new building you need for the next item.
Compared to most other automation games, Factorio is really good at not doing that - technologies that would hard block you tend to be cheap or even unlock automatically with a trigger. The game is also complex enough that there's always a bunch of things you want to improve about your base while you wait. You could still wait for technologies that make your factory more efficient, but they don't require unique items you'll never need again, and they don't block you from progressing.
A few Factorio mods like Cerys got this wrong, and force you to wait for some item like a huge number of blue chips to progress, and Cerys prevents scaling up until very far down the tech tree. Cerys is overall a great mod, but it could use some numbers being tweaked a bit. At least you can remote view into another planet and fix things there while you wait.
Bullshit
And finally, the last category, bullshit - everything that doesn't make your factory better. Especially pointless grind, but there's a few other types of bullshit too. There are games where grind is acceptable, but automation games are not it.
Factorio was clearly designed before it was understood, and it still has two main bullshit grind activities - fixing resource patch depletion, and dealing with biter nest expansion after you clear them up.
And they know perfectly well that it's bullshit. You can litearlly disable biter expansion on campaign start, it's disabled on some presets, and most new world (Vulcanus, Fulgora, Aquilo, space asteroids) don't have any equivalent of biter expansion.
They also know perfectly well that resource patch depletion is bullshit. Space Age made resource patches deplete at 50% speed with common big mining drills (down to only 8% with legendary), and most of all it made mining productivity techs dramatically cheaper.
In Factorio 1.x, a level of mining productivity costs about 940k in minable resources, and 1300k oil.
In Factorio 2.x Space Age, a level of mining productivity costs, between foundries, electromagnetic plants, biolabs, and cheap mining drills, costs about 18k in minable resources, 33k oil, and a bit of rocket launch capacity to send calcite over (it could be zero if you mine it in space).
These changes kept resource depletion in the game, but by mid game it's about 100x less of a problem than in Factorio 1.x. Because they know perfectly well that it was bullshit, but they couldn't quite make themselves just remove it.
Satisfactory is full of grind early game as well (again, I played it during early access). You're going to spend more time gathering fuel and bringing it to power plants than actually automating for very very long time.
Dyson Sphere Project has notable non-grindy type of bullshit - flying between planets. The whole space flight system is highly unintuitive and you can find yourself randomly stranded in space if you didn't quite hit the target, forcing you to load the save.
Most automation games unfortunately have some kind of bullshit. Cut it all out.
Summary
And that's how you can make a great automation game or mod. Have a lot of fun things to automate, provide good tools to identify bottlenecks, don't make fixing bottlenecks too tedious, cut waiting and bullshit to minimum.


