Austin Pocus

Software engineer, cryptography student, and 👍 cat 👍 enthusiast. Happily hacking away @hackernoon!

This is Your Brain on Factorio

So I’m on zero sleep. I decided last night at 3am that it wasn’t worth waiting in bed, hoping to fall asleep anymore, having to wake up at 8am anyway. Being incredibly tired, beyond tired, loopy even, I think, “what to do?” I don’t have much to do to pack before my flight tomorrow, and I’m useless for anything productive...maybe a little Factorio?
I’m seeing zigzagging conveyor belt movement patterns when I close my eyes...I’m trying to use WASD to navigate web developer-brain, my mostly-left-brained, analytical, logical processes are being eaten alive by This can’t be right.
And yet it is. I found out about it from a software dev on Twitter, who learned about it from another dev, who learned about it from I-don’t-know-who but I bet it was another software developer. Devs seem to be going apeshit over Factorio, and after a delirious, sleep-deprived binge I’m starting to see why.
Factorio, for the uninitiated, is ostensibly about building factories but in reality is a metaphor for computer programming (it even has fucking programmable circuits, but we’ll get back to that). Factorio is all about the choices you make in using resources to their limit (or beyond). It’s about refactoring your factory, moving shit around so you can squeeze another 10% out of your iron supply line. It’s about debugging supply line issues to figure out why you’re not building any green science thingies (those are important). It’s about systems design.
The choices you make in the beginning are easy. You have free reign to set up a couple coal-powered miners, run supplies back and forth from the iron field to the copper field and back to the coal field (if you don’t have those resources nearby, use the new game map preview, Luke!). You can criss-cross your precious resource tiles with power lines and conveyor belts, creating a completely arbitrary design to solve the problem of getting your early-game resources quickly.
To build a factory that truly scales, though, you need to generalize. You need to think ahead, refactor your early designs (i.e. rebuild -- while you still can). You need to act deliberately. You need to fix root causes, not band-aid problems by redirecting belts willy-nilly (the equivalent of writing code to correct the result of a bug, instead of fixing the bug -- guilty ✋).

Performance is critical in Factorio. Throughput is everything. As you produce resources, you have to ensure that you’re building not too little, not too much, and it gives you the graphs and numbers to be able to do your homework. I’m getting ready to dig some graph paper out of my old D&D materials and start planning my next factory.
As I wind down in my sleep deprivation, and approach...fuck, 6:30PM? My brains have turned to mush. Might as on my factory?
I may have a problem.



January 15th, 2020

@MikeFarnham that’s incredible! I didn’t even play Civilization V that much (I only made it to 250 or so) but Factorio is on track to demolish my old records. I screwed up my Steam stats by leaving the game open overnight, but I probably have a solid 30 hours put in so far. I’ve made it to the point where I’ve generated military science packs, but my “spaghetti factory” couldn’t make it much farther than that so I started a new game (then another, then another). Now, I can get my smelting operation up and have the first, pink science packs being automatically manufactured in less than an hour.

In my current save, I’m almost to the point where I can choose between the logistic science packs or military – I think I’m going to go with logistics first, but that could change. The main thing is, I’ve learned to space out my sub-modules like the smelting units, gear production, science pack production, etc. that way I can correct mistakes later on, re-route belts as needed, rebuild entire sections of the plant, etc. I’ve learned to use the map editor as well to experiment with new designs – that’s how I came up with my smelting setup.

Any tips for avoiding really bad designs? I’m still new enough to the game that I’m making mistakes constantly. Reminds me of when I first started to code :laugh: I’m really enjoying it.

January 15th, 2020

@austin The one change I made on my last play through was the richness of the ore patches, but I love playing vanilla. I’ve actually only restarted a few times, I basically keep optimizing what I have, expanding, building longer and longer trains. Once I launched a rocket a just kept feeding the machine to see how quickly I could launch rockets.

Just keep playing, as long as you are holding off the biters you are good, take a lot of territory early and automate the gun reloading. You can always change stuff.

Also helps to plan out a main bus with all the essential ingredients, keeping it fed is the largest challenge. But I love spaghetti and can hardly avoid it, especially with oil!

January 15th, 2020

Honestly the most universal tip I’ve seen is not to look for tips. You’re only gonna be new once. I will say instead of starting a new game just start a new factory somewhere else on the same map. Enjoy the eureka moments and good luck with fluids. :slight_smile:

January 16th, 2020

@MikeFarnham nice! I’ve heard of people doing the same, trying to see how many rockets they can launch per minute. Sounds like fun, once you get into the late game (I’m not quite there yet, though). A main bus with essential ingredients sounds awesome – I’ll get there eventually. :wink: I have been claiming a lot of territory early on and making sure my military research stays steady (I get a machine gun ASAP, every time). Automatic gun reloading is a stupendous idea…I just recently automated my coal distribution, to an extent, so that seems like a natural next step.

@Thelastundead thanks! That makes a lot of sense – it’s always more fun to discover things on your own. I have heard about fluids as well, and how finicky oil production is…but I’m looking forward to trying to hit the right balance. :slight_smile:

It’s funny, but something I didn’t mention in the article, is that I get distracted the same way I do if I’m not 100% focused while coding. Like I’ll try to automate my coal distribution, then those damn biters destroy part of my iron line, so I fix that, then I notice the belts are backed up, so I add a couple of assembly machines, then I need to get more iron and copper plates to make some fast inserters…it never ends and I love it. :heart_eyes:

More by Austin Pocus

Topics of interest