Jump to content

Gas Deletions


DaClown
  • Branch: Live Branch Version: Linux Pending

A bulk gas deletion system can be demonstrated simply by forcing upward mobile gases into this cap such that they are confined from moving up or side to side and confined from combining with gas packets below them; an alternative mirrored system with a vent on the ground to delete heavy gases is expected though I haven't tested it yet. The system is unable to displace the gas covering the vent and just deletes it regardless of mass or temperature. I do not believe this only occurs with high pressure vents, but I think it is easy to demonstrate with them.

20200204163723_1.jpg

20200204163727_1.jpg

20200204163728_1.jpg

20200204163734_1.jpg

20200204163735_1.jpg

20200204163736_1.jpg

20200204163746_1.jpg

20200204163747_1.jpg

20200204163748_1.jpg


Steps to Reproduce
I have three gases in a tall chamber that is 1 tile wide. At the top of the chamber is a three tile high cap with a high pressure vent. The snap shots show a packet of hydrogen gas bubbling up into this cap and being confined to the tile covering the high pressure vent. The vent then emits steam which deletes the hydrogen gas; I checked and tallied up the mass in the hydrogen mass to the left side, and the mass was not add to it; it is just deleted. Running the machine under various conditions of lower or higher gas pressure shows that the mass of the packet doesn't matter; it will as readily delete 100Kg of hydrogen gas as it will delete 1 mcg. The specific choices of gases is not really relevant here; this isn't specific to just hydrogen, steam, and carbon dioxide. Provided that the combination of gas choices result in a gas that rises above the others and the vent expels a gas that is not the gas or gases that rise to cover the vent. While these screenshots were taken when I had a few mods active, this behavior can be demonstrated in unmodded sandbox and presumably the unmodded base game as well.
  • Like 2



User Feedback


This has been in the game for a while, I'm not sure if its intended or if they just haven't figured out a way to solve that issue. I know that you can delete gas by pushing gas inside of mechanical doors and "crushing" the gas away. This can be done to a lesser extent by building a solid block in a gas packet diagonally too.

Share this comment


Link to comment
Share on other sites

In this case, it is caused by a combination of rules including the "one element per tile" mechanic. I am exploiting the rising property of Hydrogen (hydrogen generally can't move down except to fill an empty space or merge with another hydrogen packet). The specific combination of how hydrogen is allowed to move and the mutual exclusivity of elements in a tile results in an impossibility condition for the hydrogen packet.

In real world physics, the hydrogen packet has a path to escape, and if it were confined by an infinite well, it would end up engaging in quantum tunneling to escape. The sum total effect would be that it would spontaneously move from the confined location to the mass of hydrogen on the left as if it had taken a different path.

Besides a lack of a universal conservation of mass law in the game mechanics, the problems is the total confinement of the solid blocks. In real world physics, the solid blocks are actually in some sense porous even under the best of conditions; the conservation of mass and fundamental quantities as well as path of least resistance wins out over the confining ability of a physical boundary.

Solid block containers in Oxygen Not Included aren't leaky which results in these deletions. This machine demonstrates one particular case of gas deletion, but we can demonstrate this with doors and other machines, and it is presumable and likely provable that it happens "naturally" all the time due to similar conditions being reached by combinations of rules resulting in contradictory conditions that necessitate the mutual exclusivity of the mass of a packet on the one hand and the total impermeability of tile on the other hand.

Edited by DaClown
  • Like 1

Share this comment


Link to comment
Share on other sites

This is fairly common with a setup in my base as well--I have the magma layer exposed and pipe crude/petrol down to make sour gas. As such I have hundreds to thousands of kilos of sour gas per tile. Any anomalous gas (Steam, occasionally CO2 somehow) that goes through my door compressors into a space where it doesn't fit is just deleted. I find this easier than trying to remove steam by other means, but it is still anomalous. For example in the left of the screenshot attached, both natural gas and steam hang out above sour gas (mostly), and the steam can't merge with the natural gas and will be deleted when it is a low (relative to the other high pressure gasses) quantity. I haven't had rogue gasses in a while, but saw it happen way back.

It'd be interesting to see a solution, but I don't really view it as a big problem. As mentioned, doors can delete things too, so it's more of just a normal mechanic in my mind.

20200214230045_1.jpg

Share this comment


Link to comment
Share on other sites

A lot of the player base treats these kinds of things as "normal" mechanics, but these "normal" mechanics make a number of systems that should be relatively simple and make them not work or work very counter intuitively with all kinds of patch fixes that would be unnecessary if the systems conserved mass, energy, and other "fundamental" quantities.

While I've only specifically tested this with gas, I know with relative certainty that it also effects liquids. Tony Advanced demonstrates this to my satisfaction in this video:

I am pretty sure that the combination of mechanisms that result in the deletion of the water also result in the deletion of the hydrogen in my model and results in deletion of small quantities of gases that condensate to their liquid forms in certain conditions.

5e71ebf4b967d_Screenshotfrom2020-02-1205-01-30.thumb.png.bc06df4c16f06fb13b1cb95803ff41b2.png
 

I didn't happen to record the entirety of this experiment, but this room is full of hydrogen in the final state. The room is large in area relative to the gas that I placed at the top and bottom respectively. I put two packets of gas of equal mass, 1Kg. Carbon dioxide on the bottom and Hydrogen at the top. The carbon dioxide is at or below its condensation point; the hydrogen is "hot" enough to not reach near its condensation point. At first, the gasses expand into the vacuum of the chamber until they have about equal share of the area, but over the course of about a cycle or two, the carbon dioxide packets will spontaneously start changing into liquid form and simply disappear; the state changes seem to mostly occur when packets of carbon dioxide collide. I figure due to the mass changing near to the 100 gram threshold.

Eventually, that black packet in my screenshot here will probably just disappear as well. I measured it in the micrograms; I think it only stuck around as long as it has because it is such a low amount of mass.

A chamber a quarter of the size of this one doesn't demonstrate quite as stark of problems, so I am not entirely certain what the mass-area relationship has to do with the deletion of the gas, but it happens, and this is of great concern for sufficiently large and relatively ventilated bases.

In my opening example, I watched 2 Kgs of hydrogen get deleted in pretty short amount of time. That 2Kg would power a hydrogen generator for 20 generator-cycles or would power 20 hydrogen generators for a tick. The quantity of mass that could be deleted routinely by this kind of mechanism is arbitrary; the gas packet can be pushed to whatever mass and deleted.

And I have to emphasize that I expect the deletion to work across liquid and gases, so it isn't just that gases are being deleted by gases but that gases are being deleted by liquids. The carbon dioxide experiment would seem to demonstrate that in some edge cases the gases are deleting liquids.

It is one thing for the mass to be deleted when it vents to free space. It is another thing for there to be dozens of relatively undocumented but relatively commonly occurring cases where mass is just disappearing. Controlling for the former is presumably a major part of playing the game of surviving inside an asteroid. Controlling for the latter is users chasing and trying to anticipate programmatic bugs that get in the way of playing the game as presented.

Edited by DaClown
clarification on the carbon dioxide conditions
  • Like 1

Share this comment


Link to comment
Share on other sites

On 3/18/2020 at 3:55 AM, DaClown said:

the carbon dioxide packets will spontaneously start changing into liquid form and simply disappear;

Any liquid mass less than 10g will be deleted by the game.  I think this is what is causing the issue you see in your last experiment.  It is clearly not the issue that is causing mass deletion of gasses by other gasses.  

Great bug report.  It matches what I see as well.  Gasses, that get trapped by other gasses, will be deleted eventually, especially when over a tile that emits another type of gas (vent, po2 bottle, slime).  The same issue accounts for why chlorine gets deleted by off-gassing slime.  A room with 1000g of pure chlorine (not enough to prevent off-gassing) will eventually delete all the chlorine. 

There is definitely an issue with mass deletion.  My guess is that the issue is there to prevent a recursive call in the code, that could massively reduce FPS (under the wrong situations). That's my best guess.  they used to have the issue of mass deletion solved by "matter conversion", but I abused that to death and they replaced it with mass deletion. It got more problematic around game launch in July. 

If you still frequent the forums periodically, and want to work on figuring this out more, shoot me a message. 

  • Thanks 1

Share this comment


Link to comment
Share on other sites

On 6/25/2020 at 9:36 AM, mathmanican said:

Any liquid mass less than 10g will be deleted by the game.  I think this is what is causing the issue you see in your last experiment.  It is clearly not the issue that is causing mass deletion of gasses by other gasses.  

Great bug report.  It matches what I see as well.  Gasses, that get trapped by other gasses, will be deleted eventually, especially when over a tile that emits another type of gas (vent, po2 bottle, slime).  The same issue accounts for why chlorine gets deleted by off-gassing slime.  A room with 1000g of pure chlorine (not enough to prevent off-gassing) will eventually delete all the chlorine. 

There is definitely an issue with mass deletion.  My guess is that the issue is there to prevent a recursive call in the code, that could massively reduce FPS (under the wrong situations). That's my best guess.  they used to have the issue of mass deletion solved by "matter conversion", but I abused that to death and they replaced it with mass deletion. It got more problematic around game launch in July. 

If you still frequent the forums periodically, and want to work on figuring this out more, shoot me a message.

That comports with my observations. The cold carbon dioxide packets fail to condensate because they are below the threshold of mass for doing so, but when they collide and briefly form the correct threshold some of the mass appears to be lost as the gas transitions to a small amount of liquid, but the gas mass then falls below the threshold, so the whole packet doesn't quite become enough liquid for the mass to be conserved. This repeats with collisions until a very small remainder of cold gas remains.

Near as I can tell little to none of the hot hydrogen gas was lost in the experiment, but I can't say that none was lost; it would be difficult without debug enabled to account for the total mass over that area or to pump it in a way that wouldn't itself be potentially lossy.

-----------------------------------------------------------------------

I believe that Tony's water deleting gas pump is an example more like my first experiment where it is less about the size of the drop of water being put into the system and more about the confinement of drop of liquid such that it must be emitted but it can not form a proper block anywhere in the system, so the gas and the oil droplet end up deleting the water in a flicker displacement.

---------------------------------------------

Oh, and the rule about liquid masses under 10g being deleted leads to a very problematic and common situation for liquid deletion. I'd need to test it under current conditions; it seems like fluids have gotten more viscious with subsequent patches, but if you fill a n by m open pool with a liquid and the width, n, of the container is sufficiently large then the way the packets at the front of the fluid divide results in deletions of the fluid. If the flow is insufficient to rapidly bring the front block of fluid to a high enough threshold then over a long enough period of time the pool will fail to fill and the pool will end up deleting the entire mass of fluid pumped into it.

This has practical consequences when digging around the map and causing fluids to fall into long corridors. The only saving grace being the possibility of vents/geysers to supply a theoretically infinite quantity of the substance.

Share this comment


Link to comment
Share on other sites

On 2/14/2020 at 12:54 AM, oconzer said:

This has been in the game for a while, I'm not sure if its intended or if they just haven't figured out a way to solve that issue. I know that you can delete gas by pushing gas inside of mechanical doors and "crushing" the gas away. This can be done to a lesser extent by building a solid block in a gas packet diagonally too.

This is the same mechanic.

In this case, you are using moving solids to create a dynamic hollow then sealing the hollow with the outer doors creating a strict confinement condition for the gas or liquids trapped in the hollow. You then close the door on the hollow; the gas or liquid is unable to tunnel through the surrounding solids (in most cases), so the gas or liquid is simply destroyed.

I have now seen a mechanism that does the same thing my machine does but with liquids on the ground.

So we have three general classes of mass deleting mechanisms which all operate according to strict confinement of the degrees of freedom of some tile type with respect to the adjacent tile types or the emitter/creator type.

  • Like 1

Share this comment


Link to comment
Share on other sites

3 hours ago, DaClown said:

it seems like fluids have gotten more viscious with subsequent patches,

I have not seen this. I have deciphered liquid flow. 

 

Share this comment


Link to comment
Share on other sites

I've been playing since shortly after Early Access around the Thermal Upgrade. Way back when, the duplication or deletion of liquids over lengths of tiles or configurations of tiles was a known issue. Liquids have had different flow rates compared to recent patches as far as I am aware.

So when I am saying "got more viscous over subsequent patches" I am not making a claim about recent patches; I am making a claim relative to my own experience of play testing ONI from near the beginning. Sorry if I was unclear about my quantification there.

Also what I mean by viscous here has to do with how many tiles the different fluids will move out before stopping for a given test unit of mass. Water used to I think divide pretty much infinitely in any given direction resulting in significant mass losses. There was also the water duplicators that exploited droplets, so water would variously duplicate to fill a base or split away to nothing.

Edited by DaClown

Share this comment


Link to comment
Share on other sites

I am also seeing interesting gas deletions. I currently have a chlorine room for storage and water sterilization, with a manual airlock door which has no permissions to enter. On rare occasions I send dupes in there to work, fetch, or kill something, granting access to enter, then revoking once complete. When the door is opened, a few pockets of oxygen sneak in, and because I am a noob and designed the door poorly, I have no system to yank it out again. (The room has a small carbon pit with air pump to suck out co2) Anyway, I fret over the idea that there's oxygen in my sterile room that might spoil food, regret my poor design choices, and scroll away to solve some more urgent problem in my colony. The chlorine vent is at max pressure, replacing any that escaped. Upon scrolling back, I find the oxygen has gone. I don't know why.

  • Like 1

Share this comment


Link to comment
Share on other sites



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...