Playing Factory Builder Games Makes You a Better Developer.

Input and Output

Jumping into the genre as a software developer, You’ll notice that underneath the pretty wrapping, the entire game world of a factory building game revolves around input and output.

Clean Code

Reusability and Abstraction.

Often good designs in factory building games are reusable. Factorio has the concept of building tileable factories, These are blueprints for factories that you can repeat to achieve the same goal multiple times.

Deadlines and YAGNI (You ain’t gonna need it)

In most factory building games, there is some pressure to build the factories in a reasonable amount of time. This pressure teaches you to keep moving forward and building factories that are good enough instead of perfect. Much like in programming, where you don’t have the time to create an ideal solution or don’t need a perfect solution for your use case, you need to decide what is good enough to move forward and progress at a reasonable rate.

Reading Documentation

Factory builder games can be complex, and in order to understand them, you often have to thoroughly read the in-game text to understand how the game works. You’ll have to research your desired goal item, then research the sub-items necessary to produce it. This leverages the same skills needed to decipher documentation and understand how a programming language or library works.

Refactoring

As you build factories, it’s inevitable that you’re going to make mistakes, or you’re going to get upgrades that force you to improve your previous designs. Much like when refactoring your codebase, you go back to your original design and work to improve it. This process occurs in 2 dimensional or 3-dimensional space depending on the game so it helps you intuitively understand if your design is clean or not.

So go out and play!

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Brooklin Myers

Brooklin Myers

Software Engineer. I create educational content focused on technology for mobile and web applications.