Oxygen Not Included

I love to play games that let me freely build cities, factories, or other automated workflows. Chief among my favorites is a space-colony simulation game called Oxygen Not Included. It’s a really difficult game to master and I spend leisure time helping newer players and sharing my ideas with the community.

And that got me thinking about people and their career journey.

Let me explain.

Knower of things

When starting the game, you start with zero understanding of what to do. There’s a handful of “dupes” (the little colonists) on screen and an array of commands available. The dupes need to breathe and eat, exist in a small place, and require fairly minimal effort to keep alive.

Hello, world

At this stage in the game (or your career), it’s important to quickly learn and absorb what things are.

For example, building a bedroom for your dupes to sleep. It may take a while to even notice they need sleep, and then find the right tool. You may spend long periods of time comparing different bed materials. Maybe you just toss the bed right in the middle of a river – which still technically works – but results in a soggy dupe.

Processing lots of information

Your time is spent combing through a vast pile of information that is seemingly infinite in all directions. Over time, the various buildable objects become known. Materials are understood. Given a specific situation that requires a specific result, you now have specific answers.

At this point, your world view is focused heavily on knowing things. There are so many things to know, and if you know them all, then you will be the Knower of Things.

The fearless Dig01 dupe explores the world in search of knowledge

Learn something new, connect that in your head. Like nodes in a network, the relationships and dependencies between buildings, components, and materials start to make sense. You feel more grounded.

But this model quickly breaks down at scale. The data set is far too dynamic and mutable. Rules that apply in one situation don’t universally apply to other situations. The need to know all the things ends up being self-defeating.

Eventually, you need to reinforce the learnings from this newfound knowledge.

In Oxygen Not Included, as with life, each starting situation is unique. It’s not possible to know the right answer to every single possible question, just like there’s no way for me to tell you how to properly build your base for dupes to survive down to the individual set of blocks and buildings.

Progress is made when models and patterns are adopted.

Knower of patterns

When you learn enough about things, you start to wonder about making many things work together.

You stop trying to know all the things and instead focus on knowing a library of models and patterns that tend to work in a large quantity of scenarios. (These are some of my tools)

One of the things you need to do in Oxygen Not Included is find a way to generate oxygen. There are tons of ways to do this. And many of them are really bad ideas. But you won’t know that until you try, so it’s time to experiment!

In the beginning, you’ll use a device that converts algae into oxygen using a little bit of electric power and the release of some heat. It’s a simple device that requires no design knowledge to use. Just plug it in and feed it algae. This is what a knower of things does.

But what happens when you run out of algae?

One must now take multiple things and put them together. This requires knowledge on how the things fit together with one another and how they can be more than what they are alone.

This is where it gets kinda nuts. I spend the most of amount of my time helping players in this situation. Because we go from about a “3” on the difficulty scale to an “11” in a small jump.

A “Self Powered Oxygen Module” or SPOM

This is how I make oxygen. I’m taking water through an insulated pipe and feeding that into a device that splits it into hydrogen and oxygen. It requires the combination of multiple different things (components) and a general knowledge of thermodynamics. This particular design is also being cooled by a closed-loop liquid pipe system that essentially moves all the waste heat into a steam turbine.

But I didn’t start with this design!

A much earlier version of the SPOM being constructed

This is the much more humble version of my oxygen machine. It’s the most bare-bones version and takes advantage of the knowledge of how to position liquid pipes and airflow systems to create an infinitely stable loop. It’s when you start thinking about doors (for example) as a way to build vacuums and avoid heat spread, rather than as just doors to separate rooms and lock out dupes.

Armed with this hunger for patterns, anyone can apply it in any situation for their own base. And, like I did, adapt it to scale out and serve the needs of more oxygen-hungry dupes.

Your perspective shifts towards modules consisting of patterns, frameworks, or models.

Because that’s how you scale. The components and buildings are much less special that they once were, for now they are simply pieces of the puzzle. They are understood and therefore useful, but only as a part of a working set.

From here, the next evolution is around understanding the “shape” of your modules.

Knower of contracts

I believe that simple will always beat complex, and complex will always beat complicated.

The final perspective is all about contracts – how complex systems work using a multitude of patterns together in a cohesive manner.

There are shapes with modules and solutions. They can be rigid or loose, coupled or de-coupled, and anywhere in between. Many times, you’ll be able to put these shape-feelings to word. Something may “feel very rigid and inflexible” and it likely is.

The shapes of different modules. Literally.

Oxygen Not Included supports the concept of shapes in many dimensions. There’s the physical space of different modules and designs. Above, I’ve found a way to conveniently ranch shove voles (the puns are great in this game) for BBQ meat right next to a Pacu (fish) farm for seafood dinners. All of my dedicated cooks are able to sit there and grill without pause because the nearby modules are designed to provide that in real-time.

Power distribution is a constraint on the shape of your modules

I suggest focusing on the contracts between modules. And I specifically like using the term “contract.” It means that I expect to work with others (be that people or modules) and conscientiously supply a means to do that for others. I also obviate the complexity of my module because I’m saying “here’s how to interact with it” via contract. This could be anything from an API endpoint to understanding how Pacu prefer to lay their eggs in the water.

Consider this.

Each module interrupts a dupes flow as they traverse the world. Additionally, some areas are downright dangerous for an unprotected dupe to enter. You’ll need to connect special liquid pipes or gas vents between buildings and components, and not all buildings like that. These are the shapes that define what contract is possible.

An ecosystem of different modules bound by contract with one another

It’s at this point that we even start considering the base in Oxygen Not Included as one node among many others, as the game allows us to pilot rockets to other planetoids and build more bases.

Then things really get to an interesting scale. 😉

Perspective matters

This was a fun thought exercise and I hope you at least enjoyed the screenshots. Klei makes a beautiful game.

Think about the perspective of others when holding conversation and sharing ideas. Are they a knower of things, patterns, or contracts? This will directly impact their questions and how they approach problems (and solutions). It’s helpful to have a collection of different perspectives when building together, as each set of perspectives has strengths and value.

Where you are along the journey of knowledge matters, because your perspective is focused on different levels of information and solutioning. I think we can often forget this, especially those with a long history of experience.