Jump to content

Gases are blocking liquids.


Recommended Posts

I have a "block" of CO2 that's blocking liquids, instead of pushing up into the air above the water. This is the problem with having only one compound exist within a "block" at a time. With gases not mixing, and not even being able to be in the same "block" as liquids, there are more than a few atmospheric bugs. Air is usually a mixture of a lot of gases. Why the decision to separate gases?

Link to comment
Share on other sites

Yeah it's been reported multiple times, I made another bug report about it just a few days ago.

It usually happens because there's a wall or another liquid on the other side of the CO2 tile - if it's a liquid, you can mop it and the CO2 will then move.

The decision to not alow gas mixing was made for performance reasons - even as is, the simulation is one of bottlenecks when the game runs with most of the map revealed. Simulating gas mixes would make it significantly worse.

Link to comment
Share on other sites

44 minutes ago, FistfulOfZen said:

Possibly. Though that could be solved by having a matrix of gas combinations/states. I'm thinking it's part of the problem with performance. Right now, I have two pockets of 20 g of CO2 blocking on either side of a 733 kg block of water. Frustrating.

Place an algae terrarium there..

Link to comment
Share on other sites

Thought of that. The gas eventually moved on its own. That wouldn't solve the rather obvious problem of gas/liquid interactions in the game, however, which is the point. I don't think I should have to stick Algae Terrariums everywhere that the ONI engine can't figure what to do when gases and liquids meet.

Link to comment
Share on other sites

Just now, FistfulOfZen said:

..ONI engine can't figure what to do when gases and liquids meet.

Sounds a bit harsh. For me that "gluestuff" is not really a problem. Sometimes it's enough to raise pressure in the area, but most times it's moving after some cycles. Give it some time..
With all those calculations on a tilebased system, performance is important. For me ONI is doing a nice enough job in that "One stuff at one tile at one time"- task, but could use some performance improvements..
 

Link to comment
Share on other sites

I appreciate what they are trying to do, but if the goal is to simulate air and water, then they should treat them like air and water, not a dozen different gases, and two types of water. They don't seem to be simplifying the computation limit problem, rather they seem to be multiplying it. There is zero reasons two gases, such as oxygen and carbon dioxide, cannot inhabit the same "block". Sure, heavier gases should displace lighter gases, in extremely large volumes and heavy gravity environments, but that's not applicable in the first case most of the time or in the second case any of the time. 20 g of CO2 is simply never going to completely displace 1500 kg of oxygen.

Basically, the engine is wasting time calculating interactions between gases and liquids even when there is absolutely no reason to (at anything below max pressure). As far as when fluids and gases interact? Figure out what the fluids are doing, and then the gases float above that, though gases can actually permeate fluids, too, so fluids could simply share space with gases. Either or, it is frustrating that Klei seems to obsess with scientific accuracy in certain mechanics (heat transfer, air temperature, and transition of states from liquid to gas, and vice versa), but then have a liquid dynamics model completely divorced from that.

Don't get me wrong, I really enjoy the game, but if controlling clock cycles is their goal, it seems like a needless amount of clock cycles is spent on calculating collisions, because gases and liquids don't really "collide".

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