Jump to content

Behold, the Bubble Gas Separator


Recommended Posts

Is your base full of various mixed gases that look terrible and suffocate your dupes? Do you refuse to filter it with a gas pump because it feels like a waste of power? Do you just like abusing niche game mechanics? If any of these are true, then allow me to present a new way to sort gas that requires absolutely zero electricity, and also doubles as an infinite gas storage: the Bubble Gas Separator. (Animated gif here)

435215509_ScreenshotLowres.thumb.png.b367f25f6838093505c049c9948cab00.png

How does this work? Well first, let me first introduce you to the weird world of gas bubble physics. Gas bubbles in ONI aren't common, but they do happen and they do follow specific rules. I'm going to go over the ones that apply here.

Rule 1: Bubbles rise very quickly. Surprise surprise ( ͡° ͜ʖ ͡°).

Rule 2: Bubbles can teleport. This one is strange and important. Here's a frame by frame of a hydrogen bubble rising in water. Every physics update moves it upwards by one tile.

513358621_BubbleDemonstration.thumb.png.9faf8b9ee5e555edf657e513d3c0753f.png

It moves a single tile upwards except when it encounters an obstacle. It then teleports beside the obstacle, always on the left side if possible. It never exists directly underneath the obstacle.

Rule 3: Airflow tiles immersed in water act as bubble magnets. When first built underwater they will be filled with vacuum. If a gas bubble approaches an airflow tile full of vacuum or of the same element as the bubble, the bubble will be sucked in when it is in any of the three tiles below it.

Rule 4: Bubbles can be infinitely compressed. A bubble of a higher pressure won't expand, it will still only take up one tile of space when under water.

Rule 5: Horizontally adjacent gases will sometimes randomly trade places. This rule is not specific to bubbles, but still applies to them and messed up a lot of my prototypes.

When designing this gas sorter, I knew the general mechanics I wanted to use. I wanted to use the one element per tile rule, and I wanted to use the unique properties of airflow tiles underwater. I created a vertical tower with airflow tiles placed throughout the left wall. You would prime the airflow tiles with the gas you want it to contain, then let the bubbles get magically sucked into their corresponding airflow tile. Bubbles of different elements would completely ignore airflow tiles filled with a different gas. However, they wouldn't completely ignore the other gas. While passing by, there would be a chance that they'll swap places, much like gases under normal circumstances do. This was absolutely unacceptable, the whole thing would fall apart any time a swap happened. So the solution for this, was to never allow bubbles to exist directly beside airflow tiles. I accomplish this by using bubble teleportation.

2033999112_IndividualComponent.thumb.png.b633b8ad9eccb550e6ef641634a52025.png

The picture above is of a single section of the filter. The doors at the bottom produce bubbles of a single gas, and I lifted their design from this old thread. Horizontal doors don't work because they allow two different gas bubbles to be created at a time, which interact erratically with each other. The airflow tiles at the bottom act as the sucking end, and they can be placed wherever you want the gases to be taken from. You can surround them with tiles and create a room to pump gases into, you can have it constantly sucking in gas from your base, anything goes. The doors produce bubbles that are equal to about half of the ambient air pressure. I'll get into their automation in a bit, it's super duper simple.

Once the bubble is created by the doors it rises upwards. Occasionally, an anomalous vacuum bubble is created as well, which can mess with the filter if not dealt with. The mechanical door "room" helps to cushion the damage caused by the spikes in water pressure, and also provide the right geometry to collapse vacuum bubbles. Without them you'll have gases going where they shouldn't.

The bubble rises and touches the bottom left corner of the airflow tile. Here it has a choice. If the airflow tile contains the same gas as the bubble, the bubble will be absorbed. If they are different, the bubble will teleport due to the obstruction directly above it. This teleportation prevents the bubble from swapping gases with the airflow tile when it passes by. Cool! If the airflow tile is a vacuum, the bubble has a 50/50 chance of passing it or entering it. This is one way of "priming" your airflow tiles. Allow the airflow tiles to be randomly chosen by the bubbles (the other way would be to fill each adjacent gas pump room with your gas of choice, and open the door, filling each airflow tile with exactly what you want). The first gas to enter an airflow tile determines what it will filter out. To filter out multiple gases, you can tessellate the airflow tile chamber up and to the side. The way I'm showing the build would tessellate up and to the left, and the mirrored version of the build would move up and to the right. The bubble will pass airflow tiles until it reaches one that it matches and is absorbed. And it doesn't care how high the pressure is in the airflow tile either, letting it compress further and further.

1741952412_IndividualComponentAutomation.thumb.png.50ad68963372d90d4dfce22a1d67ce5c.png

The automation has two features. The timer sensor opens and closes the doors at the bottom. Without power, I've had success with 5 seconds Green and 5 seconds Red. With powered doors I would go no lower than 2.1 seconds. Any faster and water can get glitched into the airflow tiles. A NOT gate makes the doors alternate between each other, doubling the bubble speed and doubling efficiency. If the switch is flipped, the pumping doors will freeze and prevent any more bubbles to be sent through. After a short pause to ensure all bubbles are gone, the doors beside the airflow tiles will open, allowing whatever gas is stored in each tile to flow into its adjacent room for pumping. If these doors were open during the bubble sorting process, nothing bad should happen, but they help to enforce the one tile rule and keep the gases in the airflow tiles from being pushed out. The switch in this build could easily and probably should be replaced with a cycle sensor. Once every cycle whatever gas is stored in the airflow tiles can be let out, without requiring player input. Unless storing massive amounts of gas in airflow tiles is exciting for you, in which case go ahead. This automation can be easily daisychained to each subsequent door in the build. Each gas pump is equipped with an obligatory atmo sensor, to stop them from sucking the rooms dry and wasting power.

That's about all the technical talk about this thing. The full multi gas sorting version is a bit of a monstrosity, but you could use a single segment of it to filter out carbon dioxide at the bottom of your base for later use. Gases that don't match any airflow tiles will flow to the top, which you can cover or leave uncovered. Just be cautious of water levels rising and falling and spilling everywhere.. Maybe line the top with airflow tiles if you want it open. Oh, and possibly the most important part of this build: ALL tiles that are built near the water must be built out of granite. Granite has the highest pressure tolerance of any material for some reason, save for diamond which is slightly higher. Any lesser material can gradually get damaged by the fluctuating water pressure, and that's not good long term. One final thing: this filter should become increasingly more efficient as the gas pressure it's pumping from increases. Unlike gas pumps, which are stuck pumping at a fixed 500g per second, these door pumps pump more gas if the pressure is higher. Does this have potential uses in high pressure applications? I dunno. I've posted this on reddit, but I'd love to hear the forum's thoughts on it too.

tl;dr The Bubble Gas Separator separates and compresses gases without using any electricity. Powered doors are over twice as efficient, at the cost of using electricity. The filter can be expanded by repeating its individual segments over and over in sequence. The tiles have to be built out of granite to withstand the fluctuating water pressure.

Link to comment
Share on other sites

1 hour ago, degr said:

How fast is it? One gas bubble (tile (~1000g of gas)) per 10 sec?

With powered doors you can get down to about a bubble every 6 seconds or so.

The pressure in a bubble depend on the gas pressure below in the air flow tile (and room) below the door that forms it.

Bubble generators was reasonably common in the early days of sour gas boilers.

They're also just fun to look at so I have occasionally made a couple in a large open pacu pool run on a horizontal gas shift random number generator.

Link to comment
Share on other sites

On 4/20/2021 at 2:55 AM, degr said:

Interesting design, but

I've had success with 5 seconds Green and 5 seconds Red.

How fast is it? One gas bubble (tile (~1000g of gas)) per 10 sec?

It's also twice as fast because the two doors alternate, so as one opens the other closes. I'm sure you could find a way to produce bubbles faster, but my main focus with this was definitely the gas sorting section.

Link to comment
Share on other sites

Archived

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...