As I've been working on the recipe system for my game, Kinematic, I've been defining the goals for that system. At a high level, it needs to fit in with the rest of the game's goals. Specifically, the 2 core loops of the game are exploration and physics-based factory building. The world-spanning Rube Goldberg devices that I'm envisioning need to be accomplishing material transformations worthy of their complexity.





In order to hone my understanding of recipe design, I've decided to do an analysis of my favorite recipe-heavy game, Factorio. Specifically, I'm going to break down a number of the values that the unmodded Factorio recipe tree brings to the play experience. (I'm in the middle of my first Seablock run, so I'm totally down to talk about that in the comments) I'll be making generalizations based on how I envision a starting player's experience, like using "coal" as a shorthand for "smelting fuel".





Value 1: Automation





The most obvious purpose of the Factorio recipe tree is to provide tools for automating basic tasks. A substantial portion of early/mid game work can be done by hand - pretty much everything that doesn't involve fluids, science, and electricity. But handcrafting is slow and tedious, with no opportunity to scale.





There are recipes for extracting resources, moving them around, sorting them, combining them, storing them. Eventually you'll be able to automate even the act of building the factory itself with construction robots. One of the most exciting elements of progression is the frequent realization that something that used to be a huge pain in the ass is now easy as a result of some new recipe that you've mastered.





Value 2: Tiered Complexity

Approximate Tiers

Factorio outputs largely fall into tiers of increasing complexity. Ore becomes plates become wires/gears become green circuits/engines become red circuits/electric engines and onwards. These tiers allow the game to scale on a number of axes simultaneously.





The player's mastery is measured by whether they're able to mass produce the corresponding science packs in order to unlock the next tier. This provides both goals and guardrails. Unlocking new tech is exciting, but can be overwhelming if the player isn't ready for it.

The factory's layout becomes increasingly complex as the number of intermediate products expands.

The quantity of basic inputs required scales super-linearly, increasing the footprint of the factory, and the necessity for efficient transportation.

The capability and speed of automation available increases as red/blue belts replace yellow, as assembly machines are improved, as trains are routed, and so on.

The factory often develops geometric and organizational structures that match this tiering as well. It's certainly possible to get to endgame with a complete spaghetti mess. But many players invest in developing modular production zones, starting with basic resource production, then moving to circuits, oil, modules, etc.





Value 3: Process variety





As the player progresses up the tiers of complexity of the Factorio recipe tree, they are continually thrown curve balls that require rethinking how to operate. I'll dig into two of those that add significant richness to the problem space that players face at that point in the game.





Steel

Dropping Plates

One of my favorite process change-ups is a fairly simple one in the early mid-game: steel. Up to this point, the player has a fairly straightforward relationship with mining. They extract things out of the ground onto conveyor belts, and bring them together in pairs to smelt/bake them. Coal plus (iron ore/copper ore/stone) is the most complicated transaction required for raw material inputs. Thus it's very simple to keep your coal off on one side of the factory, mush it together with your ore, and then belt the resulting plates into the rest of your factory. A "waterfall" of iron and copper plates starting at one side of the factory is an extremely common starting setup for beginners and advanced players alike.





Steel, however, requires you to reintroduce coal into the process after the iron plates are done. Thus, the player needs to rethink the simplistic model of "the factory starts here, where the copper and iron plates enter it." There are a number of approaches to try to resolve this, all of which introduce significant challenges, headaches, and areas for improvement.





Totally Normal Engine Production

The player can bring the coal forward into the middle of the factory for some on-site smelting. I distinctly remember when I was learning, I'd throw down some furnaces in the middle of the factory next to where I needed to make my engines. Obviously it doesn't scale, but it'll get the job done in a pinch. Particularly scrappy engineers can manually bring coal to the job site, trading their own effort for reduced organizational complexity.

Spare Some Iron?

The player can route some of their iron off to the side to be converted into steel. This allows some clean separation of concerns, by converting steel into just another resource that enters the factory from that same side. It runs the risk of bleeding the rest of the factory dry of iron, though. Particularly if the player hasn't thought through how to make sure they're routing the correct amount of iron to the two destinations.





The player can build a separate iron ore-to steel production line, to separate them from being able to interfere with each other entirely. I believe this is the most common experienced-player optimization for this stage. This does require access to another iron patch, and a robust supply of coal. Thus, planning ahead is very helpful.





Oil

Basic Advanced Oil Processing

Lots of ink has been spilled over how to handle the complexity of oil production. The jump in complexity from adding oil to a factory is one of the largest jumps in the entire game. This entry on the Factorio Blog discusses changes to basic oil production to make it more accessible to beginners. Oil marks the first time the player is required to move liquids around in a multi-step process. Liquids have a number of properties that make them challenging (and fun) to work with.





They cannot be manipulated by hand. Thus the player can't "hand prototype" the setup to validate that they know all of the steps.

They cannot be mixed. Every pipe must contain one and only one type of liquid, unlike belts, which can easily transport 2 (or terrifyingly more) resources.

They have fixed input and output points. You don't get to decide precisely where the oil and water go in, and where the 3 types of processed oil come out. Unlike with assembly machines, where you can put your inserters anywhere you'd like, the refinery requires your design to adapt to it.

These (and other) new rules add new lessons for the player to learn. And ultimately a new type of mastery for them to strive towards.





Value 4: Competing Purposes





A factory is always under pressure from a variety of directions about how to allocate resources. No matter what, there will be competition between expanding the factory vs. supplying what already exists. There may be biter attacks, requiring investment in armaments. There's usually scientific production to enhance future capability at the cost of present resources. A newly activated subsystem may inadvertently hog all of the inputs, starving out the rest of the factory.





These experience of overcoming these allocation challenges is enhanced by the recipe system in a number of ways:





Recipes for all different purposes have overlapping needs, forcing these tough decisions to occur.

Recipes for different uses follow a similar tier structure, meaning automating one side of the divide usually helps prepare the other. For example, transitioning from basic ammo to armor piercing ammo has similar requirements and complexity to transitioning from iron pipes to engines.

Science offers enticing promises of fixing all of your current problems with the wave of a magic wand. Thus, players are encouraged to struggle their way through lean times to feed their scientific production long enough to reap the reward of that exciting new optimization.

Sometimes, a seemingly useless byproduct is actually quite useful for a different area of the tech tree. One instance that has helped me - uranium-238 can be used for creating uranium rounds well before most players have gotten Kovarex enhancement working sufficiently to use all of their leftover 238.





Summary





I believe that Wube has developed a deep, elegant web of recipes that fulfill many overlapping purposes. I believe that the strength of their recipe system is key to the success of Factorio.





Did I miss an important purpose of the Factorio recipe tree? What's your favorite production challenge? What game has your favorite recipe system? Join the discussion on Reddit.



