Why you should (maybe) play Factorio
In the previous post, we explored the real-life benefits of gaming. If gaming is taking over your life in a bad way, this post may not be for you. Please refer to the start of this series.
However, if you can game in moderation and enjoy a bit of respite from everything going on, read on.
We kept asking ourselves: “Is there a game that is really beneficial for your real-life skills? And is this game naturally fun so it is as addictive as other games (not just drudgery hidden behind gamification)?
We found it!
That game is Factorio. You get stranded on a planet and need to build a rocket. To do that, you need to do a lot of research and manufacturing, designing a complex factory while also defending it from bug-like enemy creatures.
We’re not shills, we simply like the game and think that it can be valuable for developing grit, systems thinking, and focus.
If you look at Factorio based on the rating we created in the last part:
Intellectually engaging: 10
Stress-reducing: can be stressful at times
Socializing: can be played both in single-player or multi-player. Can be a really good way of bonding with friends.
Storytelling: there is not much in terms of a story.
Factorio teaches you to solve open-ended problems
We talked about how gaming teaches us to solve close-ended problems, problems that have clear rules, clear instructions, and clear boundaries. Gamers are amongst the best close-ended problem solvers. On the other hand, we usually struggle with solving open-ended problems. We’re not used to dealing with a lot of uncertainty, the next steps being unclear, not having a clear objective, etc.
Basically, imagine open-ended problems and close-ended problems as a spectrum.
Certain games are further away from close-ended problems on the spectrum. They’re getting closer to open-ended problems. Most games like this are usually difficult to learn, and in the beginning, they are simply overwhelming (grand strategies like Europa Universalis IV or MOBAs like DOTA 2).
Factorio is even closer to open-ended problems on the spectrum. If you threw a newbie into the game, he would be lost.
However, their neatly built tutorial takes you by the hand and guides you through elements of the game step by step. After you start playing the full game, the difficulty is steeper but still manageable. It can be hard at times but that’s what makes it satisfying.
Factorio teaches you how to solve open-ended problems. You have a goal (launch a rocket into space) but there are infinite ways of achieving that (open-ended problem). In order to launch a rocket, you need to figure out how to get advanced building materials from raw resources like stone ore or crude oil. Many times throughout the game, you need to sit and think through how you need to design your factory to make it function well. This process teaches you to break complex things down into smaller parts. This practice is the best way to deal with any open-ended problem, in game or in real life.
And in Factorio, you have to practice it all the time.
Factorio teaches you skills for creating
Creating, making, and building can be daunting. We’re so used to consuming content all the time that it can be overwhelming to try making anything on our own.
When creating, people often deal with feeling overwhelmed because they think that the work should have already been done, or they feel like they can’t ever complete it.
We often want to have the essay already written, the picture already drawn.
You can’t write an essay all at once. You can only do it word by word.
You can’t draw a picture all at once. You can only do it line by line.
In Factorio, you can’t build a factory all at once. You can only do it one assembler at a time.
People have this habit of quitting or escaping when stumbling upon an obstacle. In Factorio, you deal with obstacles all the time. When you hit an obstacle, you have two basic ways to overcome it.
- Try to figure it out on your own. This makes all the concepts we’ve been mentioning come alive. It’s a deliberate practice of creating and building.
- Look for the solution online. You can always look up things and look into the best practices.
Both ways are viable and are about learning quickly and sticking with the thing you’re making when it gets hard.
Creating your factory is like any creative problem solving.
Factorio teaches you systems thinking
This is where Factorio shines the most. It’s also a reason why Shopify pays for the game for their employees (link to the CEO of Shopify talking about it)
It teaches you how to create systems which is something you need to do in many disciplines like software engineering, mechanical engineering, design, architecture, etc.
To achieve the end goal of the game you have to build a large factory so you can launch a rocket ship into space. To do that, you need to automate little parts of the factory. You need to “write” little programs that automate stuff for you. Similar to programming, you don’t have to automate anything, but it wouldn’t be efficient to do so (to complete the game, it would take you 170 hours to build everything by hand).
When building a factory you have to deal with the two main challenges:
At times, you need to focus on designing a single assembly line. The assembly line takes inputs, processes them, and creates outputs. In coding, for example, it is similar to writing a function or creating a single component.
First, you need to plan how the assembly line is going to work. Where will the inputs go? Where will the outputs go? How is it connected to the rest of the factory? Once you move past the beginner stage, you get to the next level questions: Is this efficient? How can I maximize the output?
Then you start creating the first part of the assembly line. Most of the time you need to debug it to make it work.
After it starts working, you copy it and make it into a whole system of assembly lines that produce the required quantity of goods.
When you finish an assembly line successfully, a sense of relief and satisfaction washes over you because you don’t have to think about this again.
Well, if you kept the bigger picture in mind (otherwise you’ll need to re-design and re-build).
When you’re building the assembly line, you need to build it with regard to the rest of the system (factory). Similarly, when you’re writing a function, you need to make it consistent and in the same logic as the rest of the program.
If you don’t create the assembly line with regards to the whole factory, it sooner or later bites you in the ass. In what ways?
You usually create a bottleneck that slows down the whole factory.
You create an unnecessary problem that you need to come back to and fix later.
When you create your factory in a lazy way (called spaghetti design), you make it harder for your future self. The next time you come, it is much more difficult to continue. It is similar in coding to not leaving comments, naming the variables without disregard for others (your future self included), not formatting, and aligning your code properly.
Dealing with these 2 challenges keeps you engaged. Focusing on the little details by building intricate assembly lines but keeping the bigger picture of the whole in mind. On the other hand, having to plan the layout of the whole factory, while keeping in mind the small parts of assembly lines, logistics or resources, and everything.
To add to this, you need to prioritize what to focus on next because otherwise you won’t move forward in the game. You need to keep asking yourself: “What do I need to build next? What is the bottleneck?”
These are the same skills you need to have in every system and you get to practice it in Factorio with very quick feedback loops.
Get out of a slump by playing Factorio
If you’re in a slump (rut), chances are you feel like you can’t complete anything. You feel like you’re unable to finish anything so what’s the point of starting.
Factorio is a great cure against that. Especially when you view it as a challenge.
In a rut, your confidence in solving open-ended problems is close to zero.
But you can change that.
Every single little part of the game you finish will satisfy you. Why? Because it will be hard. You will need to start thinking.
And when you launch a rocket, you will feel proud, because it’s no small feat to achieve.
Heck, you don’t even have to launch the rocket. Simply, the process of making can catapult you out of your slump, and then you can go on to whatever other things you want to do.
You can start taking the skills you learned and use them for anything else that is productive.
I (Mat here) personally use the concepts from Factorio in my everyday life. When something is overwhelming, I stop and ask myself, how would I break it down? I use it all the time when programming.
Good luck and have fun!