This report builds upon bug:
Previously closed because it was so poorly explained. The behavior of gasses is so erratic, counterintuitive, and problematic because of some flaws in the design of the simulation with respect to pressure. In reality, gasses in the same container follow some rules about partial pressures, and generally mix without issue, only settling into layers when vastly different densities are present. Obviously ONI cannot do that, because of the one-substance-per-tile rule.
However, hear me out here, there's some real problems when you have a container of mixed gasses in the game with regards to actual pressure and flow. If several tiles are pressured up to 1200g and 1500g and 1800g, even 2400g, there shouldn't be any large pockets of another gas with pressures down below 800, 400, 150, 12 in some places. These very low pressures right next to the higher pressures should become compressed down, merging with nearby squares very readily. Obviously isolated packets of gas won't be able to go anywhere and remain single squares of low pressure until they can become pushed around by the suggested modification.
Implementing this should be simple. I suggest adding a pressure value to each square of gas, calculated each tick by averaging nearby tiles. This will induce a sort of flow from high pressure areas to low, and it should be swift, taking less than a second for medium sized spaces, and 2-5 seconds for pressure changes affecting a space which spans a map. Then a second calculation should compare the mass of touching tiles of similar gasses to this calculated pressure. If two squares are much lower mass than pressure value, they should merge, raising their pressure to match other gasses in the common space. If a tile is much higher mass than pressure, it should split into two tiles, thereby spreading out to fill the container and push other gasses into smaller pockets.
Hopefully adding these calculations will not murder sim-speed or melt microchips, while adding a bit more realism to the behavior of gasses in the game.
1. Play game
2. Hold expectations of realistic physics
3. Become sorely disappointed
4. Whine and complain
5. Convert butthurt feelings into constructive suggestions