Jump to content

Infinite (Growing) Liquid Storage


Recommended Posts

I have no problems with infinite storage as a game mechanic and I truly do enjoy ONI's wacky fluid mechanics.  Liquids, especially at high pressures do awesome things, like the crazy tides on the water planetoid.

However, something flawed with pressurized (infinite) situations.  At some point, once enough liquid accumulates in any storage that is more than 1 tile high, the mass starts growing rather than remaining constant even though the numbers fluctuate wildly.

image.png.df8f8dc4cbcfd410186151a384f7c17d.png

Take this 2x2 storage for example, inside a large block of granite so it won't break from pressure.  If you start by putting 1,000,000 kg of water in each tile and then let it go for a few cycles and then measure again you'll notice the mass of water has increased if you pause and add it up.  The mass consistently grows rather quickly, at a rate much faster than a player could actually use it and the "interest" just grows over time.  This can lead to an eventual integer overflow crash if the player plays long enough.

Is there a solution to this issue?  I believe there is.

image.png.a65bce418cae090ebe11fb04239e6cfa.png

Here is the same storage but now the top 2 tiles are occupied by 2 different gases.  The mass number on the water stays rock solid and equal to its twin tile and the number doesn't waver in the slightest.  This is true at any width, from just 1 tile to the entire width of the map, the number stays steady.  Also true no matter how large the mass.

So we have 2 liquid behaviours; the perfect steadiness of single tile tall pools and the craziness of anything taller than that under pressure.

I think the line should more than one tile.  If a pool is either less than 4 tiles high or less than 30 connected tiles of the same liquid, the game should make that water actually behave rather than let the fluctuations rule.  At minimum make 2 tile high ponds behave like the 1 tile high ponds as 2 tile high infinite storages are by far the most common.

I also think this would be good for optimization.  Those fluctuating numbers have to get calculated.

 

 

  • Potato Cup 1
Link to comment
Share on other sites

Genuine question, how did they mess up this? Like isn't the whole fluctuation stuff supposed to be just tiles swapping? Should probably be reported as a bug, not a suggestion.

Link to comment
Share on other sites

11 hours ago, Greywanderer said:

Hopefully they fix this and suddenly infinite storage doesn't work anymore.

it has nothing to do with infinite storage, i think it has more to do with some sort of a rounding error. If the game uses floats to store mass data this would also happen to any liquid, given enough time. I've never seen the source, so that's my only guess. But even outside of this, pressurized liquid acts VERY strange for some reason.

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
 Share

×
  • Create New...