How to Get Better At ONI

Oxygen Not Included4 · 44 ratings2.8k views49 favorites17 min readby applebapsUpdated Jul 27, 2020View on Steam ↗

Why this guide?

ONI is complex, but it's not impossible to learn. I believe it's an excellent game for people who maybe don't have a thousand hours in Dwarf Fortress but want to learn how to play that sort of game anyway. That kind of person, I feel, would probably benefit more from someone teaching them how to think about games like this, and how to go about gathering the information they need to make decisions, rather than endgame schematics that just show you a thing.

We're fortunate here in that ONI has built-in tools and gives you a lot of great information right in its interface. It's just that it's all a little overwhelmingly dense, so I want to help point a player's mind to the right ideas to zero in on. We're going to start from the very basics, and move through each step of a problem-solving process, giving example colonies as thought experiments and to test if you like with some exercises. My hope is that a new-ish reader with some experience up to the mid-game will be set up for success in their future colonies through a general problem-solving approach rather than a particular solution to a particular problem.

How to Solve It

This guide owes a great deal to a little book called "How to Solve It" by George Pólya, a mathematician. My problem-solving approach is taken directly from there, adapted for ONI.

Pólya says, in the preface to the first printing of his book:

"A great discovery solves a great problem but there is a grain of discovery in the solution of any problem. Your problem may be modest; but if it challenges your curiosity and brings into play your inventive faculties, and if you solve it by your own means, you may experience the tension and enjoy the triumph of discovery."

It is in this spirit that I'd like us to proceed.

Pólya's approach to problem-solving consists of 4 main steps: Understanding the Problem, Devising a Plan, Carrying Out the Plan, and Looking Back. We'll go through each of these in turn.

Understanding the Problem

What is the unknown? What are the data? What is the condition?
This guide assumes that the reader is familiar with the very basics of the game, but for clarity's sake we have to rehash some of those basics. ONI is a game of many overlapping and complicated variables, any number of which can doom a colony in the long term. Our main "problem" is: "how do we keep our colony alive?"

What are the basic short-term needs of a colony? Breathable air and calories. Our basic enemy is entropy. No solution will be permanent. This gives rise to an ever-shifting array of sub-problems, such as disease, heat, etc. that take place on a longer timeline. In this way, ONI is a kind of maximizer problem, one where we are attempting to maximize the length of time a colony survives with at least one duplicant.

By mousing over many parts of the interface, we can get a tooltip explanation of most in-game concepts. Clicking on any highlighted purple term will bring us to a database entry, like this one for "power":

Though the database is still sadly incomplete even after release, it still contains a wealth of information. Our first step when we come across something we aren't familiar with should be to pause the game, mouse over anything we can, and read the database entries on anything we can. Never charge ahead even one second until the new sub-problem is fully understood.

Example: Minimalist-Stationary Colony Failure
Imagine a colony that never prints additional duplicants or issues any orders whatsoever. The dupes will survive for quite a few cycles this way. They will consume oxygen and calories, and output carbon dioxide and polluted water. The CO2 and urine will eventually fill the space, displacing oxygen needed to breathe, and the dupes will die, ending the colony in failure.
Exercise: Do-Nothing Survival
Calculate the amount of time such a colony would survive. Use the in-game data on oxygen breathing rates, CO2 exhalation (assume no Diver's Lungs or Mouth Breather dupes), and burned calories (assuming, again, normal rates). You may need to experiment to determine how much polluted water a "mess" generates. Related problems: How much gas can a square contain? How much liquid? Also: what actually kills the dupes; do they starve or run out of oxygen first?

Maybe it's intuitive that such a colony will fail, or seems too obvious. But this kind of information is crucial to have when planning food and oxygen supplies, as well as managing waste, the main sub-problems faced in the early days. Waste management, in turn, gives rise to disease management. As task complexity and number increases, we need to know about prioritization. It's also good to know that a colony can survive for quite a while doing absolutely nothing, provided its input requirements are kept low.

Devising a Plan

Have you seen the problem before? Or have you seen the same problem in a slightly different form?
We've established that ONI is a maximizer problem, and that that problem takes the shape of a game of managing inputs and outputs. Zoomed all the way out to the most macro level, a "colony" is a function that takes in oxygen and calories and outputs time survived. The problem, as we said before, is entropy. The most basic oxygen generator takes in algae and electricity in order to output that oxygen. Algae requires digging (or refining slime), while the basic "hamster wheel" generator requires a dupe to spend time running in it (for simplicity, ignore the extra calories this burns and the stamina it requires as well as skill variance in effectiveness etc).

Since both digging and running in the wheel require time and a dupe's attention to a task, and we only have 3 dupes at the start, we see another sub-problem: that of prioritization or task management.

Guided Exercise: Solely-Oxygenated Minimalist Colony
Imagine (or build and play) a starting colony that remains at 3 dupes indefinitely, and is determined to solve ONLY its oxygen problem. Given that a default dupe requires 100 g/s O2, and a base Oxygen Diffuser supplies 500 g/s O2, one of these will suffice with 200 g/s O2 to spare.

However, the Diffuser requires 550 g/s algae, essentially a net loss of 50 g/s matter (for simplicity's sake, ignore heat for now). Assume algae is stored in tiles at a mass of 300kg/tile. 300kg = 300,000g. Therefore, assuming 100% uptime on the Diffuser, it will run for 300,000g / 550g/s = about 545 seconds on one tile's worth of algae. 1 Cycle is 600 seconds, so this is just under a day's worth of oxygen.

We can easily see that with very low input of algae (digging one tile of it per cycle), we have solved our oxygen problem for even as many as 5 dupes! With 3 dupes, we even have enough so that one can run in a wheel to power the diffuser, one can mine algae, and one can deliver algae, and all tasks will have 100% uptime.

However, eventually the duplicants' CO2 output (2g/s) will fill up the space, as will the polluted water. In practice, also, the diffuser does not run constantly, as it can only output so much O2 before the tile is overpressurized and it stops. We will also, even at this slow rate, eventually mine all the algae in the starting biome. Though it's not possible to calculate exact survival time for a colony like this (in the absence of a food requirement), due to the variance in algae in the starting biome and its arrangement (what if you got a colony where all the algae was below you, leading to a natural place for polluted water and CO2 to gather?), it is interesting to think about just how long a colony like this could potentially survive, if we didn't have to worry about starvation or stress.

Exercise: Starvation Time
How long does it take a duplicant to actually starve completely to death? Assume no Bottomless Stomach trait and no Binge Eater response to stress. Assume also that they do nothing that would burn additional calories, merely standing still until they drop.
Exercise: Floor Sleeping
What is the impact of a dupe sleeping on the floor? How long does the colony need to survive for this to significantly (in your own estimation) be "worth it" in terms of lost production?
Exercise: Early Neglect
Using the information gained in the previous exercises, consider the following: Is it more efficient from a task management perspective to neglect oxygen in the opening days of a colony, or food, or both? How many cycles can you afford to take a pure-productivity approach (digging out the structure of your colony) before you have to worry about building literally anything? Assume no starting oxylite, for simplicity, but note that this means you have even more leeway in practice.
Exercise: Algae Terrariums
As an alternative to Diffusers, consider: how many Algae Terrariums are required to support one dupe? How about 3 dupes? What are its inputs and outputs (lit and unlit)? What sorts of tasks are required for its upkeep? Hint: use the in-game information, as described in step one. Click database entries, mouse over things. Take notes if you have to.

What I want to stress here is that these are the kinds of things you can think about and even roughly calculate ahead of time when figuring out your colony's needs. It's not necessary to literally run all the numbers for everything you do, obviously, that bogs things down and is (in my opinion) less fun. But it's possible to find solutions to these things in more unusual circumstances.

Any time you find a new potential input, before you break through that last tile and incorporate it into your existing colony's system, pause the game for a bit and ask yourself what its handling will require of you. What additional inputs will arise? How about task complexity; does it require dupe intervention? Have you handled a similar input before? Do you already have the infrastructure for it, can that infrastructure be repurposed?

Exercise: New Duplicant Burden
"New potential input" also includes printing a new duplicant. Each new dupe represents an additional input of 1,000 kcal/cycle, an additional input of 2g/s O2, an additional output of 2g/s CO2, more waste, more heat. Think through all the infrastructure needed to support one duplicant. Include the space required to eventually build them a bedroom (not a barracks) and personal washroom. Include all required building materials for this, assuming sandstone and copper ore for their respective categories. For simplicity assume you will empty the polluted water directly outside their washroom (realizing that in reality, you will probably have a long pipe to your waste storage).

Remember, in most cases, provided you have even a single oxygen source and you can dig for muckroots, your colony is likely stable in the early game. Don't be too hasty, use the pause function, think about new potential inputs and how it will change your existing system. Use the database and tooltips.

As this is a section with many exercises, I should stress that they are (here, and elsewhere in the guide) intended to help stimulate the right kind of thinking to get better at the game. All of these questions have "known" answers in the community. The point is to think through it yourself.

Carrying Out the Plan

Check each step. Can you see clearly that the step is correct? Can you prove that it is correct?
Rather than trying to find mathematical proofs (as in Pólya), we are solving an abstracted maximizer problem with complicated and multi-variate inputs. Still, the method applies.

Here, we urge the reader to slow down, pause while building and double-check their plan. Verify inputs and outputs. Make sure that dupes can get to where they need to go. Don't be afraid to deconstruct existing buildings (resources are refunded) or cancel build plans and re-do them, using the pause function extensively to get it right before letting anything happen.

If you notice that a build isn't being done in a timely manner, or that a building is routinely unsupplied, you can click into the ordered task or building and go to the "errands" tab. See where it lies on which dupes' to-do lists, then go to the dupe and check their priorities.

You can also check the global "priority" overlay (press P). You may find that you accidentally set digging priority lower than the surrounding construction priorities (or vice versa), which holds up large builds at times, so check that. Check to make sure everything is accessible. If not, ladders spaced one tile apart can allow dupes to climb to things with minimal time and resource investment. Use the filters to check different kinds of tasking in the priority overlay, rather than looking at them all at once. Things like door-state-change or potted plant fertilization can obscure other tasking unless you filter.

Exercise: Cleanliness-Obsessed Colony
Imagine an otherwise-stable colony of 3 dupes that wants to have completely clean floors, everything in storage at all times during the early game. Immediately after establishing a Diffuser for oxygen (assume it is powered and supplied indefinitely), the colony manager builds out 3 storage bins, sets them to contain "All" / "Sweep Only" and then highlights their entire colony with a "sweep" task set to priority 9, then hits Red Alert. Alternatively, they set the bins to "All" without "Sweep Only" and do not issue a sweep order. Either way, they have tasked all dupes with cleaning up the digging remnants of, let's say, 100 tiles' worth of resources (2x50 in either direction from spawn) of an even 33.33% mix of sandstone, algae, and copper ore (assume no water tiles). Assume all dupes have default Strength and Athletics, no special tidying skills, etc. Assume no constructed tiles (default runspeed everywhere, even at spawn for simplicity), and that everything is on the same vertical level strewn out evenly in either direction. How long will it take for the colony to become completely clean / stored? Will they starve to death, or is total cleanliness possible? Do they eventually need more storage, or not?
Exercise: Cleaning a small room
Using the data from the previous exercise, think about cleaning a given room in your own base, using your own dupes' stats and skills and a smaller size of room. What's in there? How long will it take to store, and how much storage will it take up?
Exercise: Storage
Again building on what you have done, think about where you ought to place storage bins, for which resources, and at what priority you should set them, to minimize travel time and maximize efficiency in your own base. Is a central all-materials storage better for your layout? Or is it better to store materials near stations that need them? What about a tiered storage that gradually sorts resources, with varying priorities? Answers will vary widely.
Exercise: Slime Storage
A dupe can carry a nugget of slime past a hand sanitizer station, cleaning their own surface germs but transferring slimelung germs to the storage the slime chunk is placed in. How would you prevent this in your base? Will you use a chlorine room in transit? A chlorine storage? An ore scrubber? Will you only process slime locally, without bringing it home? Answers will vary widely.

Looking Back

Can you check the result? Can you derive the result differently? Can you use the result or the method for some other problem?
Here, we encourage the reader to step back after a given input is incorporated into the colony function, take stock of their efforts, and think of alternate means of achieving the same goal ("could I have used coal generators here instead?" or "I wonder if tweaking individual dupe priorities would have had the same effect as this global setting?"). In our maximizer problem of colony management, often the process of looking back will give rise to a new sub-problem to begin understanding. This is the core cycle of any similar management game; in ONI in particular, this step is satisfying because the dupes are cute and their actions are elaborately represented, giving a "face" to the function.

This core cycle is present at different levels, as well.

Example: Digging Your First Tile (Microcosm)
Imagine a starter colony freshly spawned. We are faced with a number of sub-problems immediately, but for simplicity let's focus on needing beds for sleeping in. Building a cot for one dupe to sleep takes 200kg of raw mineral. We mouse over our nearby tiles and discover that there is sandstone there, between 700-1840kg per tile near us, which is a raw mineral. We dig one tile of sandstone and it falls to the ground, yielding 1800kg, let's say. We build 3 cots with it, an expenditure of 600kg, leaving 1200kg on the ground (assume we didn't need to dig further to build these). We build a storage bin with an additional 400kg, and store the remaining 200kg.

Without going into the complexities of the tree of tasks generated and resolved over time by these actions, we can look at it strictly in terms of input and output of sandstone. We spent time, calories, and priority to "free" sandstone from a tile and incorporate it into "the colony" in the form of storage, cots, and "loose" stone in storage. The amount of sandstone in the world stayed constant, but we gained the ability to offset a negative penalty for dupes sleeping on the ground by "re-binding" some of it into constructed cots. No heat was generated apart from duplicant body heat, which at this stage of the game is negligible. Sandstone can be used to build a variety of other things, all of which light up in the tabs on the lower left when available for construction. It increases the decor value of anything we use it to build, and it has certain properties related to heat etc. that we can check in the interface as well. Various overlays will reveal other properties.

This all seems perhaps too obvious. But the same thought process and thoroughness will serve us very well when thinking about how to incorporate, say, Magma or Hydrogen into our system. We can't hope to maximize survival time if we instead just blunder through blindly hoping for the best.

A Final Caveat

As thorough as the in-game guidance and information can be in ONI, it is also important to realize that you are not intended to be able to complete everything it has to offer on your first, or even your twentieth, attempt. There is a certain amount of information withheld, that will absolutely cause chaos in your colony the first time you attempt to do particular things.

For instance, building an early "self-powered oxygen module" as soon as you notice that hydrogen generators can be powered by electrolyzers, but before you've likely found wheezeworts or an Anti-Entropy Thermal Nullifier, which have to be found randomly in the world and aren't dependent on the tech tree at all. You will inevitably try to piece one of these together and overheat yourself. The game also doesn't tell you that the oxygen is output at 70 degrees Celsius, you have to just build an electrolyzer and find that out after you've already done it, then throw up your hands when the gas cooling buildings don't actually cool anything down except the gas itself.

Or the first time you break into a slime biome, thinking you can control the spread of the germs, and then you check the germ overlay and find that you've basically infected every square inch of your base because dupes will just blithely carry stuff past the intuitive sanitization methods.

These are but two common early-midgame situations that will get you. Think of all the restarts waiting for you the next time you try to build that fancy new building down at the end of the tech tree!

Basically, while I encourage you to go slow, think through what you're doing before you do it, and read everything you can in game about materials and buildings, inputs and outputs, it's also important to realize that this is not a solvable or stable system you're in charge of. Entropy makes fools of us all. When it happens, laugh it off and restart. You'll do better next time.

This guide was created by its original author on the Steam Community. Are you the author and want it removed? Request removal.