By Shamus
on Nov 1, 2016
Filed under:
Game Reviews

I’ve been playing this game obsessively for months, and yet I haven’t mentioned it on the site or even the podcast. That’s strange. I guess it’s because Factorio has supplanted Minecraft as my “Zen” game. It’s the game I play when I need to relax and think. A lot of the analysis you see on this site is the result of me stepping away from the word processor and zoning out to a low-action game for a few hours.

Factorio is an indie game by the ten-person Wube software. As of this writing it’s still in Early Access on Steam. I don’t often cover Early Access games, but I wanted to talk about Factorio because:

  1. I’m mildly obsessed with it.
  2. It reminds me of software engineering.

In Factorio, you begin with your character – a nameless person with no particular story or identity – being dropped into the middle of an alien wilderness. You’ve got a pickaxe, and you can see there are deposits of coal and iron spread around, as well as trees to chop down. At this point you probably assume this is just another survival game. It might even feel like one for the first couple of minutes. But it isn’t. Your character doesn’t need to gather resources to survive and in fact your character is little more than a human-shaped camera / cursor.

Instead of gathering food, your goal is to launch a rocket into space.

After the first five minutes of the game, you’re done gathering resources manually. After that, you’ve got machines to gather the resources and conveyor belts to carry them to a refinery. After a few more steps up the tech tree you’ll have conveyor belts feeding those refined materials into assembly machines to make parts, which will go on to be assembled into a final product. From that point on you’re just adding additional layers of automation onto an increasingly convoluted industrial complex that sprawls across the landscape in every direction.

You’ll need power to keep this enterprise running, which means you’ll need to build thundering coal-fired generatorsEventually you can unlock solar panels, but those come with their own drawbacks. to generate electricity. These generators will belch sooty smoke into the sky, which will agitate the local population of alien beasts. These creatures will rush at your base like a swarm of Zerglings to assault your power plants, and anything else that gets in their way. This means you’ll need to build walls and turrets to keep the riff-raff outThere’s an option to play the game in peaceful mode, where the monsters never attack first..

Emergent Puzzles

The little dark circles are part of my swarm of logistics robots that carry items around. They`re good for transporting rare items, or things that are produced slowly. It beats adding another conveyor to the spaghetti network.

The little dark circles are part of my swarm of logistics robots that carry items around. They`re good for transporting rare items, or things that are produced slowly. It beats adding another conveyor to the spaghetti network.

The challenge in the game comes from solving the engineering challenges presented by your industrial needs and the shape of your environment. Resources spawn in different locations and in varying amounts, and you’ll need to place machines to harvest them, machines to refine them into raw materials, machines to turn those raw materials into parts, and other machines to turn those parts into final products. This will take the form of an ever-growing complex of conveyors, pipes, machines, robots, and power lines. There is no “one correct layout” for a base. Every game will be a little different and every one will require you to adapt to the landscape.

Maybe you’ll use an automated train to carry goods long distances. Or maybe a conveyor belt is the better solution. Or maybe a network of robots to carry stuff around. It all depends on the distances, your power supply, your available resources, and the layout of items relative to each other.

This is a strange game. All the overhead building from an isometric view makes it feel like an industrial-focused version of Sim City. The character has no personality or identity, and after a while he starts to feel like a needless burden, like a version of Sim City where you have to walk a builder around the map in order to make buildings appear. The large-scale nature of the project makes you want to zoom way out and build the thing from a high-level view, but you have to keep zooming in to walk your little guy around obstacles and get him from one side of your base to the other, because you need him to place objects.

It’s not necessarily bad, but it does feel like the game is trying to straddle two very different gameplay styles.

How Factorio is Like Software Engineering

This entire area is one part of the system to create blue science bottles. Raw copper is used to make copper wire, which is used in making green circuit boards, which are one ingredient in making red circuit boards, which are one of four ingredients of blue science.

This entire area is one part of the system to create blue science bottles. Raw copper is used to make copper wire, which is used in making green circuit boards, which are one ingredient in making red circuit boards, which are one of four ingredients of blue science.

Note that I didn’t say coding. It’s nothing like writing code. Games like Human Resource Machine and TIS-100 cover the moment-to-moment process of writing code. But by their nature they focus on the detail work. Factorio reminds me of the big-picture stuff.

Early in the project it feels a bit like playing The Incredible Machine or Infinifactory. You need to build a machine to accomplish a task. But as the game progresses the complexity quickly escalates. Late in the game, adding onto my base felt a lot like a programmer adding something onto a mature codebase. The challenge isn’t solving the problem, the challenge is solving the problem with all the other solutions in the way.

Maybe you need to make plastic. That takes oil and coal. By this point you already have different facilities producing both at a steady rate. The problem is that those facilities are some distance away from each other, and also far away from where the plastic is needed. There are probably a lot of other things between these points. The naive solution is to simply brute-force your way through: Lay some pipes and conveyor belts down to bring the raw materials to where they’re needed. The problem is that if you always solve problems this way, your base will quickly become an incomprehensible mass of crisscrossing supply lines. “Spaghetti code” is how programmers describe this problem. Later on you’ll need to re-route your flow of oil to make room for something else, only to find those pipes also feed into some other system, which will also need to be re-arranged and re-located. Sooner or later you’ll find yourself in the middle of a vast field of entangled nonsense, wondering where it all went wrong. It’s this exact predicament that leads programmers to want to throw everything out and start over.

In the early game it seems like your job is to build a lot of simple machines, but once all the resources are in play you realize that your real task is managing all the complexity.

In programming, lots of different programming approaches and practices have been invented to manage complexity. The ideal is that you’ll make one piece of code for doing one thing. You’ll shove all of its messy moving parts into a box, hiding them away from other programmers so they don’t have to worry about how the thing works. This is called encapsulation.

Terrible Car Analogy™

Here is the end of the game. You might think this is a spoiler, but after a couple of hours with the game you`ll realize the image of the rocket taking off isn`t a spoiler, it`s the images of everything ELSE that might spoil you. And those aren`t spoilers until you know enough to understand them.
Here is the end of the game. You might think this is a spoiler, but after a couple of hours with the game you'll realize the image of the rocket taking off isn't a spoiler, it's the images of everything ELSE that might spoil you. And those aren't spoilers until you know enough to understand them.

I know you’d never forgive me if I didn’t give you a Terrible Car Analogy™, so here it is:

It’s like the engine of your car. You don’t need to worry about firing the spark plugs, managing the air intake, regulating the fuel mixture, or lubricating the engine. All of those things are automated, and all of their fiendishly complex inner workings are hidden away under the hood. Your interface is only as complex as it needs to be: You press the accelerator to get more power from the engine. This means you can use the engine even if you don’t understand how it all works.

In Factorio, once you get a feel for thing you’ll probably start out trying to encapsulate parts of your base. All the systems needed to produce red science things (just go with it) go in one location and all the systems to create green science things go in another. But then you’ll notice that both locations have a lot of related parts. It seems like it would be more efficient to have them share some inner workings. After all, if one area has extra circuit boards and other area has too few, then maybe just running another conveyor to share the excess will result in smoother operation? And maybe it will, at the expense of breaking encapsulation. At the expense of making things just a little harder to understand when you come back to the game tomorrow.

It was actually really satisfying to finally reach the point where I could launch a rocket. And the moment I was done I looked around at what I’d built and thought, “Knowing what I know now, I could build all of this much better.” That’s a pretty common sensation for software engineers.


The pipes need to carry crude oil, heavy oil, light oil, petroleum, lubricant, and water. They all need to go different places for different purposes, and they can`t mix.

The pipes need to carry crude oil, heavy oil, light oil, petroleum, lubricant, and water. They all need to go different places for different purposes, and they can`t mix.

Here is one example of many: In the game, you have to build an oil refinery…

As an aside, I hope you’re not squeamish about pollution. In Factorio you clear-cut the forest, dig up the coal and burn it, suck up the oil and burn that too, and pave over whatever might be left. Once you’re done with that, you’ll need to go out and massacre some indigenous wildlife. In this game you’re basically a supervillain for Captain Planet. Personally, I kind of like it. Anyway…

…to process crude oil. Crude oil is broken into three different liquids, each of which need their own pipes and storage tanks and which emerge in fixed ratios that won’t always match up with your current needs. You’ll also need water. So you need pipes and tanks for crude oil, petroleum gas, light oil, heavy oil, and water. Oh, and eventually you’ll be converting some of this into lubricant, which is another set of tanks and pipes. If you’ve got too much of one byproduct and a shortage of another, you can convert between them. All you need is yet another treatment plant and pipes and tanks and oh my gosh this is madness and I haven’t even run the power lines yet.

I’ve always wondered why real-world chemical plants looked like massive three-dimensional pipe mazes, but after playing Factorio it all makes sense. Halfway through engineering your way through this problem you’ll be wishing you could build in three dimensions.

Work in Progress

Link (YouTube)

Factorio is still evolving. Is it for you? Well, do you find this developer post about how they’re dealing with rounding problems to be interesting? If so, this game is clearly your thing.

If not, then I suggest playing the free demo. (Remember those?) The problem with Factorio is that’s technical and complex. It doesn’t have the immediate appeal of a Sim game or the clarity of a traditional puzzle game. I’m not going to say it’s like Dwarf Fortress, but I will say it seems to have the Dwarf Fortress thing where you have to work at it to get the fun out. The game isn’t for everyone, but if you do like it, it will probably a kind of fun you can’t get anywhere else.

Enjoyed this post? Please share!


[1] Eventually you can unlock solar panels, but those come with their own drawbacks.

[2] There’s an option to play the game in peaceful mode, where the monsters never attack first.

2020201676 comments? This post wasn't even all that interesting.

From the Archives:

  1. VorpalHerring says:

    I noticed that even the best weapons and tanks were near worthless in combat against any normal group of aliens, eventually I discovered that the best combat strategy was to put a ton of mobile construction robots in your power armor, build power pylons in a line out to a alien hive, then deploy a blueprint of a pylon surrounded by 8 laser turrets surrounded by walls. The construction bots would build it almost instantly, and then you can hide inside the walls while the turrets massacre the aliens. Afterwards you can get the bots to instantly deconstruct the fort, and move on to the next.

    • Smejki says:

      My best pest control strategy:
      There are 2 major premises.
      a) You have to take into account that alien nests respawn only in fog of war areas. Fog of war is uncovered (un-fogged) by radar and radar has rectangular “range”.
      b) The alien colonies grow in size and aggression with distance from start point.

      So what to do:
      1) abandon dirty energy as soon as you can and go full solar+batteries. This strategy will require large solar fields. This also guarantees less risk of being invaded for your environmental footprint is smaller and aliens attack only when the red stain indicated on map reaches their location. The more red the more frequent the attacks are. Bonus: solar panels and batteries generate zero pollution so they almost never get attacked when placed outside polluted zone.
      2) Concentrate on upgrading the laser turrets
      3) Have a sufficient supply of electric masts (the long distance ones for getting to distant location and vast area ones for delivering energy to more ground where you need it)
      4) keep uncovering the fog of war in grid pattern. This takes about 5 long distance masts, then place about 3 vast area masts, then place 1 radar and about 3 laser turrets (as a minimum safety measure). Wait until the radar un-fogs its whole range. If there’s a nest, you should aim to destroy it soon as aliens hate radars
      Bonus: You can build (the masts in this case) while driving your car so you can reach your destination quickly
      5) always keep the unfogged area bigger than that of your pollution.
      6) Use long distance masts to get electricity to the area. Then use fuckloads of vast area masts. Then place as many laser turrets on as small area as possible. Disturb aliens and kite them into laser turrets’ range. It’s a quick process. Then just keep placing turrets and masts closer and closer. The only thing you have to pay extra attention to is your power supply – capacity of batteries and electricity generation speed of solar panels. Laser turrets are power hungry. Which also means you should primarily attack during daylight.

      • Yurika Grant says:

        … everything about what you just wrote regarding solar is wrong. Like… factually, literally wrong. And that’s meant to be the BEST option, not going nuclear? Whoever made this game might be a coding genius, but they don’t have a CLUE about energy generation, especially when it comes to the super important base load generation an automated factory setup like this would absolutely need, that solar simply can’t provide.

        But then if you believe the hype, solar is apparently the SAVIOUR OF MANKIND. *sigh*

        • Primogenitor says:

          There is no nuclear. Yet. Early access and all that…

        • Shamus says:

          Actually, the game is pretty reasonable regarding solar.

          * It takes a TON of space.
          * It’s VERY expensive compared to coal.

          It’s not quite the same delta as real life, but it’s within the range of abstraction expected from a videogame.

          But yes, nuke would be the best option. Actually, you CAN build a nuclear reactor. But you can only build it for your power armor?! I really wish unlocking that would let you make nuke power plants.

          • Inwoods says:

            Nuke power is coming, they have been talking about it on the blog for some time.

            You don’t really go into it, but I find myself loving Factorio until I read the dev blog, and then I think “wow the next patch is so much better, so much more convenient, how can I play without it?” and then I take a break. It’s weird. Patch jealousy? It’s the same game, but I suddenly can’t enjoy it because future me will have it so good.

            • Mersadeon says:

              Stellaris is like this, except it completely ruins the game for me and has made me quite angry at the devs. It feels like an Early Access experience despite being labelled as a full game, and every big patch means you have to completely start over.

          • baud001 says:

            Also doesn’t the solar panels stop producing at night and require batteries in Factorio, just like in real life?

        • Jabrwock says:

          Wrong how?

          Once they are installed, the panels and batteries generate no pollution, so they don’t attract the aliens.

          Manufacturing them however, is a different story. Tons of pollution, especially if you’re using coal-fired plants to power the factories cranking them out.

        • silver Harloe says:

          Since alien attacks and red pollution clouds are not a part of reality, the only two reality-adjacent statements he made are:

          (*) your environmental footprint is smaller
          (*) solar panels and batteries generate zero pollution

          In my opinion, that’s just not enough statements to warrant the “everything you just wrote is wrong” rant.

          In the game, your choices at the moment are coal or solar, and they have their trade-offs (with coal you need more pewpew to defend against more frequent alien attacks – and you need to keep finding more coal to feed the boilers; with solar you need a tons more space and a even more tons of technology and initial resources). Also, buildings in this game do not have a maintenance cost (they last forever unless bitten by an alien). Nuclear is coming in a future version.

        • guy says:

          Er, base load would be what the batteries he mentioned are for. Overgenerate during the day to charge the batteries and then discharge them in dark periods to run the factory. That is exactly how solar panels provide base load, limited by battery capacity and efficiency.

        • Smejki says:

          Yeah. That game is not a simulation of real-world processes. Neither is it realistic that you can produce iron in tiny electric furnace with zero coal. Not to talk about absence of limestone whatsoever. Moreover you can create iron rods directly from iron ore using zero tech and no other ingredients while production of iron plates requires a coal-(or wood ffs!)-powered or electric furnace and no other machinery.

          Compared to this nonsense solar energy is realized quite reasonably in the game.

      • Trix2000 says:

        Fog of war has nothing to do with biter base respawns. It used to be they would never place bases near your buildings, but this has somewhat recently been changed (no more victory poles…).

        Biters spread naturally over time, sending a group out periodically to a nearby open chunk (ie: not too close to other bases, not too far from the spawning base) where they will stop and create a new base.

        They have reduced chance of placing new bases in a chunk the more buildings you place down in it so they’re less likely to build real close to your factory. Also, the expansion group of biters must be able to path to the new chunk in order to create a base there – they will attempt to destroy anything that gets in the way. This means you can prevent them expanding by killing the expansion group. A good wall/line of turrets will completely prevent them from expanding past it. They CAN AND WILL spawn bases within radar (vision) range.

        1) Solar is a good option, but it can be expensive to set up and takes a LOT of space… so plan accordingly. In lieu of that, efficiency modules reduce pollution by the same amount that they reduce power consumption, so placing them in everything (especially electric miners) is not a bad idea.

        2) Laser turrets are useful, but actually regular old gun turrets do more damage in the long run (even factoring in biter armor). The advantage to Laser is that you only need to supply them with power, not ammo, though gun turrets will continue to function without power. I like to use only guns for funsies (ammo supply is an interesting thing to consider), but I think the best defenses use both… and also FLAMETHROWER TURRETS. :)

        3) 4) 5) As I said before, fog of war does not affect spawning. It DOES, however, allow you to see incoming biters so you can prepare for attacks or remove expedition parties before they make new bases. The only other thing I find they help with is seeing where my trains are on the main map. Biters do hate radars, but only if they happen to be near large sources of pollution – they do not pollute themselves, only consume a lot of power.

        6) Turret creep like this can work fine, but I prefer the more direct methods (ie: shotguns and flamethrowers, tanks and power armor). I think they’re also planning to nerf turret creep with arming times, but that is not confirmed yet. Regardless, Mk2 Power Armor + 6 Shields + 3-4 Exos + 2 Fusion + Flamethrower = EVERYTHING DIES.

    • Jonathan says:

      Power armor Mk2 with the fusion reactor, several shields, and a pumped up flamethrower. You can walk in, spin around, and kill things really fast. With 3-4 exoskeleton upgrades on one power armor, you can run faster than a tank.

      I have not had major alien issues – yet. Whenever I get started doing megabases (vs my little one-hub/1 rail line things) I’m sure I will.

      Is there a way to keep my construction bots from dying in battle?

      • Trix2000 says:

        Yes, once you have upgraded power armor and enough shields/flamethrower fuel, you can literally become a flaming whirlwind of death.

        The biters are only an issue up to the point where you can put up enough walls/turrets around your base, along with the infrastructure to maintain them (particularly, repair bot network and automatic production of defense buildings). At that point, you can mostly ignore the biters except for when you need to expand for more room or resources.

        It’s actually kind-of nice, since in a game about automation you can basically automate base defense too.

        (I usually keep my bots safe by just not putting them in harms way in the first place, mostly by keeping their network within my walled-off area. Personal roboport is another story, but I don’t tend to use it to build things near biter nests anyways – prefer to clear them out with personal weapons before building new fortifications in their place.)

  2. Ingvar says:

    I think, for me, TIS-100 has been replaced by Shenzhen I/O (yes, another Zachtronics production). Where, again, I keep wishing I had space for only one or two more instructions in a module…

  3. Noumenon72 says:

    Your interface is only as complex as it needs to be: You press the accelerator to get more power from the engine.

    And just like in programming, sometimes the abstraction breaks down. I was extremely surprised going up the Pennsylvania mountains when pressing the gas pedal produced no additional “voom” and I could only accelerate downhill. Turned out that gas with 10% ethanol does not entirely comply with the Liskov substitution principle for gasoline. As soon as I ran through that tank, I got my voom back.

    • Peter H Coffin says:

      That probably was simply been an octane problem. At altitude, the same engine tuning will need 2-3 points lower octane to perform similarly, and slow acceleration is one of the cryptic signs that your engine has run out of self-adjustment capacity and you need to put a lower octane in.

  4. Droid says:

    That DEEP RED in the minimap… It’s making even me rage, no wonder the residents are pissed!

  5. Smejki says:

    Actually you did mention it on some Diecast. Shortly after it was released on Steam. About a month later. You were saying something along the line that it actually isn’t a proper game but an optimization system, it’s not much fun, but as an engineer you are obsessed with it.
    Or was it Josh?

  6. Gilfareth says:

    I adore this game, but I find it difficult to play alone. I end up going with the exact same modules I made and screenshotted in my first successful playthrough unless I have someone around to shake up the building, which ends up burning me out because I’m not trying anything new. With few friends who own it, it’s not one I get to boot up as much as I’d like.

    I’m curious to see more of your construction, if you’d care to share, Shamus. Factorio designs always look so neat.

  7. Peter H Coffin says:

    The fun thing about the Terrible Car Analogy is that it USED to be a good one. Almost all that crap was manually operated up through the Model T. (Self-lubrication systems were 20-30 years old by the time the first cars were on the roads, thanks to the The Real McCoy.) Ignition timing, fuel mixture, airflow were all manual controls on cars at one time. Timing got solved shortly after the Model T, mixture rather later (remember “setting the choke”? That’s a late hanger-on of that) until fully automated in the shift from carburetors to fuel injection, and air, well, that’s the throttle. Still got that in most cars. Diesels use fuel constraints instead of air restraints, and cars with bizarro motive systems (like my Chevy Volt) have throttling handled automatically, independent of driver control.

    • King Marth says:

      Makes me wonder how the driving geeks sounded when each of those advancements were being made, compared to how they act now with manual vs automatic. “What, the engine handles its own ignition timing? If it doesn’t blow itself up I guess you can get by, but it’s so inefficient! How can you call yourself a real driver if you can’t set the fuel mixture yourself?”

      From the software engineering point of view, there was a similar outcry when compilers were created. “How can you trust a compiler? You have no idea what instructions that thing is spitting out! It’d be so inefficient, they’d need separate constants*!”

      *Software instructions (at the lowest level, like “add the numbers at these locations”, “retrieve the number at this location”, “branch to this location in code if this location’s value is not zero”) are themselves numbers. Old-school coding, and the horrific messes that space probes run on their limited memory, used tricks like re-using the program instructions as the numbers they corresponded to. Encapsulation makes things easier for the programmer by pushing more work onto the machine, and if you’re from an era where machine-time was more valuable than human-time, this seems strange. Now, machine-time is asymptotically approaching free, so it’s just as bizarre to spend lots of time from highly-paid professionals to minimize usage of this extremely cheap resource.

      • psivamp says:

        Most of my last job was judiciously sacrificing small amounts of cheap-to-free machine time for very expensive human-time on an R&D project.

        Maybe not most. I also plugged memory leaks and did some R&D.

      • Echo Tango says:

        You can still spend human time on making those same kinds of optimizations, but now they go into the set of tricks the compiler uses, instead of into the other types of software that’s getting made. :)

      • Pete_Volmen says:

        Well, if it’s any indication, the outboard motor of two of our boats still have choke, and I wouldn’t remove them if I could. Probably a lot of nostalgia there too, though.
        Not that I suffer the delusion in any way that I could do anything better manually than it’d be if automated. It’s fun to fiddle with stuff.

      • Mephane says:

        Forget the manual vs automatic transmission dispute. This is the era of the manual vs automatic driving dispute. (And for those who insist on forever driving manually, you won’t even have a transmission at all in an electric car…)

  8. psivamp says:

    When you described the refinery, I immediately started wanting to yell at the screen that isn’t how refineries work. Later, you wrote that you could convert between the varying weights of petroleum products.

    In real refineries, this is all a single process. A refinery produces no liquid waste — they pollute, but don’t waste any of the crude. Everything is a product when it leaves a refinery.

    The stuff you pull out of the ground is a mix of all these different hydrocarbons of widely varying weights. The first thing (not at all the first thing, but for our discussion this is the first step of interest) is to separate out all these different weights. We pump the crude into the middle(-ish) of a fractional distillation column. The column is heated and lets things boil and move up the column or condense and move down the column. The bottom of the column will be rich in high-weight products like paraffin and greases and thick lubricating oils. The very top of the column will have very light hydrocarbons: methane, ethane, propane, butane, etc. So far, we match what you’ve described. It’s also worth noting that we don’t need to be exact or get just one chemical per plate or layer. Gasoline that you use in your car is a diverse mixture of hydrocarbons (before we even get to adding ethanol).

    This is great if the crude you’re getting piped in just happens to have the right distribution of weights that you want to sell, but lets say, for argument, that the market price for your heavy weight greases drops. Now you need to break up some of that stuff into lighter products. So we have a cracking unit for that. It has a taps off the lower end of the column and we can adjust the flow and temperature in the cracking unit to break down that heavy stuff into lighter elements. We feed that back into the column and sort it. This lets us push the distribution toward lighter products.

    We also have a ___ that takes in feeds from nearer the top of the column and makes them combine to form heavier elements. We feed this back into the column and sort it. This gives us a way to dial in the precise ratio we want of all products.

    Both of these units take energy to run and that might be done by burning some of the crude or some weight of product.

    Now, this is something that the chemical engineer in me understands. The software engineer in me abstracts this to: a refinery takes in crude and produces whatever I want in whatever ratio I want — for some cost.

    tl;dr Refineries are pretty neat.

    • Veylon says:

      That’s very nearly how this game handles it via the refinery. It takes Crude Oil and breaks it down into three different liquids: Heavy Oil, Light Oil, and Petroleum Gas at one of two set ratios. The Heavy Oil can be turned into Lubricant or broken down into Light Oil and the Light Oil can be broken down into Petroleum Gas but not the the other way around and all of these have other uses as well so you don’t want to make a habit of breaking everything down and at any rate you can’t break anything down until you advance a fair bit past the point where you get oil in the first place, so you have to build at least two separate tank farms to store the unwanted oils for later.

      • Nick-B says:

        Yeah, you cannot reverse the process, but aside from very few cases, you only want petroleum gas. The other two are only really used for lubricant (heavy oil) and flamethrower fuel (heavy and light). I generally avoid explosives, but I think that needs light oil too?

      • psivamp says:

        For economic reasons, it’s worth the breach of encapsulation for those two things to be directly attached to and in close proximity to the fractional distillation column. The various units use feeds and product lines from the others as heat sources and sinks to keep costs/losses down.

        Yeah, once you add in the cracker as a separate unit, it’s not too far off. Also, you don’t really want to mess with the ratio unless there’s a need. You’re more profitable/efficient if you get lucky and have the right mix going in that you want to put out. It’s easier to break things down than put them together as well.

  9. Daemian Lucifer says:

    How Factorio is Like Software Engineering

    Also,as soon as you start generating buzz around your code,the users will flock to it and attempt to destroy it with their dumb ape gestures,so you have to construct various drm measures all around your code to protect it.

  10. Retsam says:

    One thing to mention, the devs have stated in their FAQ that they don’t intend to do Steam Sales or bundles. I actually find that strangely liberating, because normally I wait for holiday sales, but in this case it meant that I just bought the game immediately, because I knew it wasn’t going to suddenly be cheaper in a couple weeks.

    Trying the demo is probably a good idea, because I imagine that, for a given person, this game is either crack cocaine, or completely uninteresting, with very little between.

    But yeah, I really like it, and should really keep going on my current game. I’m eager to start from scratch (that traditional “throw it away and rewrite it” urge), but I don’t really want to throw out my existing game, either.

    • Oddly enough, I’m one of those in-betweens. I thought the concept was interesting and the execution wasn’t terrible, but the demo didn’t really let me build from nothing, which makes remembering the steps rather difficult since I wasn’t able to put it all together in a single session.

      Essentially, they need to take a look at how Prison Architect did the campaign. :P

      • Nick says:

        In that respect the demo is very different from the main game, which is mostly sandbox mode at this point. You don’t get any of the starting infrastructure that exist in the demo missions.

        I don’t know if an expanded ‘campaign’ is in the works or not, I have spent many happy hours sandboxing my way to glory.

  11. evileeyore says:

    “I’m not going to say it’s like Dwarf Fortress, but I will say it seems to have the Dwarf Fortress thing where you have to work at it to get the fun out.”

    As a deep fan of DF and a mild fan of Factorio, they are exactly alike and completely opposite at the same time.

    And losing is fun.

  12. Decius says:

    How would those who have tried both compare Factorio to infinifactory? Specifically, can I get the same feeling when I think I’ve solved something elegantly and then look at how someone got in in half the time/space/number of modules?

  13. Mintskittle says:

    If you want to cut down on the spaghettification of your factory, you should build it with a main bus to carry all your intermediary products and build your factories off to one side, branching off what you need and bringing the results back to the bus. The only downside is that all your factories end up looking samey.


    Also, here’s a rather fine looking oil cracking plant.


  14. Jonathan says:

    Funny thing, I just bought it last week. Best game I’ve bought in a long time. It’s very hypnotic. There’s always just one more thing to optimize to make a system work better before I save and exit and go to bed.

    Except it’s never just one more thing.

    I am a persistent optimizer (at everything) so this game really appeals to me.

    I’ve launched two rockets in free play so far, out of four attempts. I still have a lot to do better. I’ve only scratched the surface of the robot & train systems, I’ve barely used blueprints, and I’ve never used the circuit system (I just brute-force with “use only X spaces in this output chest”).

    It’s a lot of fun.

    The trailer, by the way, is brilliant.

  15. silver Harloe says:

    My best base to date: http://forums.factorio.com/viewtopic.php?f=204&t=25918&p=164454

    version 0.12, though. I mean, I’ve mostly fixed it up for 0.13, but my train stations are still a little too wide here and there.

    I’m disappointed with how resources are allocated: either you have way too much and don’t need trains, or you have way too little and you’re constantly destroying and adding new train stops. There’s a mod called RSO that increases resources as you go out from center, but using mods disables achievements, and they’re theoretically working something “like unto” RSO into 0.15 or so. We’ll see. Of course, one I finish getting all the cheevos, I’ll probably experiment with using RSO.

    • Trix2000 says:

      0.13 added part of RSO in how it generates resources now, with farther patches having more. I don’t know how it compares to RSO as I never used it, but it does make patches farther away a lot more valuable.

  16. CoyoteSans says:

    I’ve been thinking about buying this game for a while… but not for the industrial factor simulator aspect. More, it’s the closest game I’ve found to what I’ve been feeling nostalgia for in a game from my childhood: Stormrunner, an old advergame for the original Lego robotics kit. It had this neat little setting about crashing on a hostile alien world inside a discarded cargo bay, and your only means of interacting with that world was to build giant robot drones to explore it. It was hostile in the sense that there were crashed ships that had still functioning auto-turrets that would blow your robots apart, lava that would just straight up melt them, or giant carnivorous plants that would eat them if they stopped near them. The cool part was you needed to actually program them with pseudocode based off the actual kid-friendly programming the actual kits had. Some folks wrote some really wild programs to let robots autonomously explore and collect certain resources. The endgame was achieved after finding the designs for a mountainous crawler chassis, suborbital launcher module and a distress beacon, all left behind by other castaways, and launching it from the highest (and most hostile to reach) point on the map.

    It basically disappeared off the internet, and it was written with such an ancient version of Java, I can only really run an offline version of it these days on a hacked together setup in a Win98 virtual machine. I always dug that idea, of sending robots that you customize and program out into an alien world to explore and gather things for you, learning a bit of history of the situation, and finally using it all to conquer the worst the environment can throw at you to secure the slightest hope of escape.

    Factorio doesn’t focus on that, obviously, but of all the current games I’ve looked at, it seems to come the closest.

    • Philadelphus says:

      I remember that game! I was only about 10 or 11, we’d just gotten our first computer, I was knew to the whole internet thing, and our internet speed was atrocious (dial-up), but I really enjoyed the whole “customizable programmable robots exploring an unknown environment for materials and information” gameplay, although at that age the turrets were a bit scary (I vividly remember stumbling upon a turret unawares as I was manually creeping forward bit by bit, and my little robot running for its life one tile forward at a time as I frantically mashed the “execute” button, as a turret sent explosion after explosion into the tiles it had just been in for 7 or 8 tiles in a row). I was never able to finish it, so thanks for revealing what happened.

    • Retsam says:

      Wow, that’s a critical hit on the nostalgia there. That was such an interesting game.

      The Lego site in general had a ton of really good games; I remember this game, and a couple really good Bionicle games, and some racing game, among others.

  17. Jakale says:

    This was interesting to hear about. It’s like a game giving you the ability to play out that “build a destroyer” scenario you created in the Mass Effect dissection posts about how ridiculous Cerberus’ military ability and secrecy is.

  18. Trix2000 says:

    Factorio has become one of those games that I keep coming back to, because no matter how many times I play through it I always find it interesting to dive back into the optimization, experimentation, and just plain fooling around with machines that it provides. There’s always something to optimize, something to improve, and something to work towards… so there’s never a dull moment, and I often have to force myself to stop playing so I don’t spend all my time with it!

    Of late I’ve been itching to try it multiplayer, since the recent 0.14 experimental release (which is too stable to be considered ‘experimental’, IMO) rebuilt it to client/server making it a lot more robust. Problem is lack of time and people to play it with. :/

    …Too much to hope for a Twentysided server, if just for a one-time event? :P

  19. Geoff says:

    I’ve seen this game around before but never paid it much mind. Your description is oddly appealing though. I’m defiantly going to check out the demo. I particularly like the ‘approach a game on its merits and understandings of the personalities it will appeal to’ approach to review rather than the all or nothing approach most reviewers take.

    But further, the Steam page notes it has multiplayer and now what I want more than anything is a one off Factorio Spoiler Warning episode where Shamus, Josh, Rustkarn, Mumbles and Chris are all frantically trying to “software engineer on the fly”. Let chaos and ruin follow in their wake!

  20. Zesper says:

    Am I the only one who absolutely cannot get into this game? I’m a fan of it in principle and I would really like to play with it a while, but the interface wrecks any possibility of fun for me. It’s like they intentionally made it as obtuse, baroque, and horrible as possible.

    In terms of Terrible Car Analogies, it’s like trying to drive a car wearing boxing gloves, with your feet embedded in a concrete block in the trunk, and the only way to change gears is to manipulate an elaborate set of cables and pulleys with your eyelashes.

    • silver Harloe says:

      Like most UIs, it seems terrible at first and then after an hour or two you don’t notice and your fingers just do the right thing.

      • Zesper says:

        Yeah not so much.

        In the beginning it felt obtuse, backward, and difficult to learn. After about six hours it felt like like it was intentionally obtuse, backward, and difficult to use. It’s like the game spends all its energy trying to throw itself in between me and fun.

        I am convinced the developer made the UI difficult just to extend the play time. If it were changed to be a true management game of dropping blueprints and ordering units, RTS style, it would be ten times faster and a thousand times less dopey.

        • Abnaxis says:

          I’m guessing this is the first game of this ilk you’ve played?

          Compared to any similar-genre game I’ve played (looking at you, Dwarf Fortress), the interface of Factorio is absolutely fantastic. Maybe it takes practice to grok it?

      • Decius says:

        It’s all Stockholm Syndrome.

    • Geoff says:

      The UI is horribly clunky. Its one of those things that I would like to hand wave as an “Alpha thing” that will be fixed by launch, but too often those kinds of things get in early and stay that way. The worst bit for me was not being able to easily deselect objects you pick up. Not being able to lay a bunch of conveyor belts, then right click (or something equally intuitive) to return them to your selection bar was really frustrating.

      Still, the optimizing and problem solving of the whole thing was a good deal of fun. Shamus is right, you can’t get that fix anywhere else.

      • Align says:

        The worst bit for me was not being able to easily deselect objects you pick up. Not being able to lay a bunch of conveyor belts, then right click (or something equally intuitive) to return them to your selection bar was really frustrating.

        Press Q?

  21. Mick4747 says:

    “And maybe it will, at the expense of breaking encapsulation.”

    Nah, just write a helper function.

  22. Rymdsmurfen says:

    I think Joel just hasn’t experienced the most horrible codebases out there. If you’re sitting on one of those there are no good solutions, and not holding on to your sinking ship might at least give you a shot at surviving.

  23. Philadelphus says:

    I guess it’s because Factorio has supplanted Minecraft as my “Zen” game.

    I’m curious, are you aware of/play any of the many (many) Minecraft mods that allow, encourage, or even require you to create vast interconnected automated systems? Since this sounds like what you can do in several different mods (including refining oil and launching rockets to other planets). I haven’t played Factorio though, so I have no idea if it scratches the same itch.

    • Ultrapotassium says:

      Having played both Factorio and modded minecraft (which I will refer to as minecraft), they’re similar but different.
      Minecraft is about building things that look neat. The effort is more about advancing up the tech tree, building machines to make more advanced components so you can make more advanced machines and so on, until you can get powerful end-game tools (and maybe Build Cool Stuff with them).
      Factorio is centered much more around automation and making a system that flows efficiently. Supporting this, it has simplified crafting and machine management.

      I’m not sure how well this explains it, so here are some gameplay examples of the difference:

      In Minecraft, crafting is instant, machines are expensive and products use a wide range of specific components. Automated production usually takes more investment than it is worth.
      In Factorio, crafting takes time, machines are cheap and everything uses the same components. As a result, automating construction of an early component pays for itself in a matter of minutes.

      Minecraft: You craft in patterns: 3 wood along the top, 4 cobble down the sides, iron in the middle, and a redstone on bottom.
      Factorio: You craft in ratios. You need 3 copper plates and 1 iron plate to make this.

      Minecraft: Crafting by hand is an active process by the player. They must go to a crafting bench, drag the resources into the correct pattern, and then craft it.
      Factorio: Hand-crafting has a queue that works in the background, so you can do other things while crafting. You request to craft a final product, and the prerequisites are automatically crafted beforehand.

      Minecraft: Machine management is hard. Machines blindly accept any resource offered to them, even if they can’t do anything with it. Machines have input sides and output sides. Machines are expensive.
      Factorio: Machine management is easy. Machines only accept resources used in the recipe they are assigned to make, and only (2xrecipe cost) of them (So you don’t have 500 copper filling up one machine, while the next machine has 3). Power is wireless in an area around a power pole. Material can be inserted and extracted from any tile of the machine.

      Minecraft: The prerequisite tree is very wide. There are many intermediate products, each of which is used for a few recipes. Generally the intermediate product chain is not very deep (from raw resource to final product only takes 3-4 steps).
      Factorio: The prerequisite chain is very deep. There are several levels of intermediate products, each which uses the last in production. Every product is used in many different devices.

  24. Abnaxis says:

    So I played the demo, and it’s fun. I’ll probably dive into the game later next month.

    What’s the pavement for? That’s not in the demo…

    • silver Harloe says:

      You run faster on it – there’s like 2 categories, one made with stock bricks and one made with concrete that are like 10% and 20% faster or something.
      Also decorative and helps define boundaries without blocking movement.

Leave a Reply

Comments are moderated and may not be posted immediately. Required fields are marked *


Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun.

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!

You can quote someone like this:
Darth Vader said <blockquote>Luke, I am your father.</blockquote>