Jump to content

Gas / Liquid Reservoirs should be smarter about outputs

Recommended Posts

The Gas / Liquid Reservoirs should be a bit smarter about their outputs. I tried using them to buffer two lines merging (for say, filtering gunk gas out of the bottom of my base using two separate Gas Pumps), but due to how they prioritise their outputs, it didn't work as intended.

What I expected:

1) Priority of what to output should be given to elements that can produce at least 1 full packet of gas (so if you have 100g of Oxygen and 9kg of Hydrogen, you want to output Hydrogen 9 times before you even touch the Oxygen). This will ensure the outputs are as optimal as possible

2) If number 1 is satisfied for multiple resources, the output should either be FIFO, or roughly weighted based on how much of a given resource you have (so 10kg of Oxygen and 90kg of Hydrogen should output Hydrogen 9 times as often as Oxygen).

What we got instead:

3) There is no prioritisation of outputs, or it's skewed too much towards LIFO.

These are also a big problem if I'm trying to disinfect all the gasses / liquids I get before sorting them. I use the 3 Reservoirs in Chlorine gas method that from what I understand has 100% success rate if you use it on non-mixed materials (say, all-oxygen Reservoirs), but it fails under the current condition because of #3. Heck, I even added a 4th Reservoires and it still failed.

Pretty much my setup was 4 Gas Reservoires of Oxygen, all germ free. Then I pumped in a pipe of germy Polluted Oxygen and somehow within a minute my output was 75% PO even though the Reservoires were still 90+% Oxygen! This meant the PO didn't sit in the containers nearly long enough to get sterilised and I got a line of germy PO at the exit where I expected germ-free gasses!

It would be nice if these Reservoires would be a bit smarter about what they output...

Link to comment
Share on other sites

In my understanding when they go in the reservoir, the same gas/liquid will be merged together and the temperature is balanced. It will output each type of gas/liquid as round robin in current game.

Since they are merged, not sure if it is possible for FIFO or LIFO.

As for the weighted based, assume you have 90kg H2 and 10Kg O2 (9:1) in the gas reservoir. When the first 1Kg H2 packet goes out, the weight ratio in the reservoir is changed (89:10). I'm not sure how it should take to next output. What if there is another input to the reservoir?

In your case, I think you should separate the gas/liquid to different reservoirs in current mechanics. Use filter or sensor/shutoff in your pipes before/after the reservoirs. Maybe what you need is just a germ sensor.

Link to comment
Share on other sites

 (so 10kg of Oxygen and 90kg of Hydrogen should output Hydrogen 9 times as often as Oxygen)

it is clear, but what if

tank initially have 0.1 kg of oxygen and 0.9 kg of hydrogen

each second tank receive 1 kg of hydrogen

each second tank outgas 0.1 kg of "gas".


1st second it have 01 ox, 09 hy, chance for ox is 10%

2nd second 01 ox and 1.8 hy, chance for ox is 5%

3rd second 01 ox, 2.7 hy, chance for ox is 3%

ps actually, I have no idea how it work for such setup now, but most probably it will outgas hy-ox-hy.


I may propose tanks send outside most heavy liquid or gas, it would make sense



Link to comment
Share on other sites

13 hours ago, ThePiachu said:

The Gas / Liquid Reservoirs should be a bit smarter about their outputs.

Why?  How smart is the bowl you pour your milk and cereal into in the morning?

In the real world if you put 2 gases or liquids into a tank they will generally mix together and you be getting a contaminated output.  However ONI doesn't have anything actually mix so they have to deal with it in a different way.  A tank in real life would never actually function as a FIFO or LIFO, you will get mixed results.

If a reservoir has more than one element in it, it will output alternating full packets of whatever it contains, that's just how they work.  Yes, that means if you send in a packet of polluted oxygen into a Gas Reservoir containing only Oxygen, that reservoir is sending that packet of polluted oxygen out almost immediately.  But the game mechanic is simple and easily worked around.

Reservoirs are power-free storage and they can also pump out their contents without needing power.  They are amazing already, but they are still just dumb containers.  The player has to make the tank work for them, not the other way around.

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

  • Create New...