Inactive Real Liquids

Nym Traveel

Active Member
Contributor
Art
World
Can anyone translate "soaling" into german? I find no translation :(
I meant water seeping away which would get a huge amount of realism. Imagine a complet flat grassland and i empty a bucket of water:
- Minecraft variant: waterblock stays and spreads to a diameter of 8 blocks
- finite liquids: waterblock just spreads out and stays around
-my version: liquid spreads and gets less, finally is completely in the ground

Implementation really would be easy:
on every updatecyclus give watervalue to adjascent blocks and all is fine. Maybe a threshold to terminate little amounts of water to save computing power but thats basically it.


Water creator and consumer: problem is again: what if one of them is in an unloaded chunk? Thats imho the downside on all mentioned versions...
Pumps and Pipes and all that stuff can be added later, the waterphysics has to be solved primarily

so long,
Nym

Ps: double e in Traveel ;) im no traveller
 

Nym Traveel

Active Member
Contributor
Art
World
We can try, yep.
Best case: he joins TS
Worst case: we get ignored :)
Personally I think he doesn't tell - MC modmaking is going into real business; the good ones earn good money^^

Anyone volunteering for the message? :D
 

Ten'son'

Member
Contributor
World
djoslin said:
Oceans have an 'infinite' amount of water, this is necessary for your computer to run it. Any water disconnected from the ocean and low in mass will be finite and react to changes in volume. If you break a border wall inbetween the lake and a cave, the lake will flood downward and drain out.
From his website : http://www.djoslin.info/finiteliquid.php

Does that solve the problem?
 

Nym Traveel

Active Member
Contributor
Art
World
Doesn't solve the problem of the unloading chunks if we want to have flowing rivers, waterfalls from some infinite spring etc.
I think I write him an email tomorrow and make him aware of us and our problem :)
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
That finite liquid fellow is the one who did the video posted above? I'll be happy to reach out and ask officially as project lead and all that fun stuff. That indeed would be a great boon :)

In the meantime, have you all read the block storage thread and related issues / threads? There's a fair bit on liquids and such in there, including how to potentially store them.

Nym Traveel - I think "soaling" was a typo of "soaking" - a.k.a. having liquid absorb into blocks. Which would be an important feature able to help support the organic growth system prototype woodspeople prepared for us :)
 

Ten'son'

Member
Contributor
World
That finite liquid fellow is the one who did the video posted above? I'll be happy to reach out and ask officially as project lead and all that fun stuff. That indeed would be a great boon :)
yep, he's the guy who did Finite Liquid. (Watch the video on the page of his web site I previoulsy posted, it's the last version wich is even better than the first video I posted)
To contact him : http://www.djoslin.info/contact.php
 

Nym Traveel

Active Member
Contributor
Art
World
Ok, then the task of contacting is oficially handed over to you, Cervator ;)
Well, then I understood the soaking thing right :D
I'm curius of the final outcome :geek:
I'll read the blockstorage-thing tomorrow, too tired today... *zZz*
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Nice videos - yeah, couldn't see those from work :D

I've sent over a detailed email with an invite. Let the suspense-building begin! :scootangel:
 

dei

Java Priest
Contributor
Design
Art
Does the creator of this mod have posted some numbers for multiplayer performance on a average server? Looks nice but for a working multiplayer, plant and city simulation I think we need another concept than he's using.

Simulation of all even unloaded chunks is not an option performance wise. Not yet generated chunks can be easily ignored because the player always has some pregenerated chunks around him. (if the CPU is fast enough) The problem is you can't fully stop simulation on unloading of a chunk because pipes/rivers to other chunks would dry out or deliver infinite water.
So we need some extrapolation constrained by a finite amount of water available in one chunk.

We have the same problem with city simulation, plant growth etc. so a general framework for this abstraction would be helpful. Water would provide a early prototype-candidate.

I thought of approximating the flow of each water-containing block on the edge of each chunk simulating some cycles when a chunk is unloaded. From this, using per block pressure (see other threads) we can extrapolate how long the water will be flowing without really simulating the chunk. As watersource I imagined natural rain and vaporisation by the sun which can be simulated per Chunk/Biome really easily. This system will most likely be really difficult to balance, so we would need to fill the oceans with water with constant pressure (infinite source and sink).
 

CapsE

New Member
What I had in mind wasn't something like simulating an eco system or this stuff I wanted real liquids like this
and I think most of the problems discussed here are circling around the other problems like "where does the water come from and where does it go?" that wont be a problem at all if the water it self decides where to go.

All we need is something that stops not flowing water from flowing out of the loaded World and allows flowing water to get absorbed by the end of the world and Oceans.

Ahh yeah and offcourse we need the waterphysics... that might be kinda complicated xD
 

CapsE

New Member
Why? You already got physics on blocks thatt just got blasted away by dynamite... If we dont want to achieve the visual quality of the video it may be possible to have at least the general physics of water in the game. After all its just pathfinding and a bit of volume calculating.
 

Nym Traveel

Active Member
Contributor
Art
World
1, you need to calculate EVERY flowing liquid, river, emptied out bucket, lava, (oil) etc.
2, for a decent graphic you need approximately 1000 particles per cubic meter (divided a blocks lengh, depth and heigh in 1/10). Multiply this with the amount of water and you get a ridiculus amount of particles
3, meshing: you need to overlay a mesh, probably some kind of metaball or whatever. Here we could optimise a bit by only calculating meshes on visible liquids. Nevertheless you'd need to recalculate the seen mesh on every frame.

I don't know any computer who could handle this... (Tell me one triple A title with real water physics?)
 

Cervator

Org Co-Founder & Project Lead
Contributor
Design
Logistics
SpecOps
Yeah any visible liquid dynamics beyond Finite Liquid would probably be overkill. Maybe some slight effects around water elevation changes (slight mist to cover the vertical difference) or something in some places could work.

FL is about right and if we could get to that level I'd be happy. Fudging our way somehow to a pseudo-hydrological cycle on top of that would make me thrilled.
 

CapsE

New Member
Just dont make it as unrealistic as in Minecraft and Im happy :D

But I still dont see much of a problem. A lake for example is one object with different heights (we have no earthquakes or rotatation on the world so why do we need to really animated the water?) The difficult part starts when we open a border of the lake. But in this situation all that matters is that the Water in the lake flows out (the height goes down) and that there is some kind of particle effect(?) or block that shows where the water is going. And for me its important that the water doesnt stop after 5 blocks without height difference.
 

Ten'son'

Member
Contributor
World
I thank about that and I propose that the ocean and river's water should be infinite. Look, if you take a bucket of water from the ocean, the "hole" will be fill 'cause it's an ocean! What is a bucket face of an ocean. Also, if you dig a canal that starts in a river, the river won't dry, it will fill the call as an infinite source of water. But the lakes, marshes are finite water 'cause they are small.
I think this is realistic and optimized.
 

Nym Traveel

Active Member
Contributor
Art
World
Oceans I definitely agree to be infinite. With rivers I'd delay any statements, because when we really have different heighlevels on the landscape (mountain region being several blocks higher than ocean level)
and we have rivers (Something like in this article - I really start loving it ;) ), the rivers have to flow down some slope, thus real water physics would be great to have on rivers :)
 

Immortius

Lead Software Architect
Contributor
Architecture
GUI
I wouldn't say rivers should be infinite, but they could use a flow mechanism where water doesn't actually change. That is a "block" of water has two pieces of information - volume and flow direction - and together these drive the simulation. A water block would be stable if the volume if water flowing into it matches (or exceeds) its volume. Or something like that.

Another thought is instead of having water travelling across flat land it could erode a path as it flows.
 

Nym Traveel

Active Member
Contributor
Art
World
I also thought about eroding, this would be so cool imho.
The game could check the underlying material and if some value (stream*time or sth) is exceeded break the block.

We need to pay attention that we don't get too much information in the blocks (see blockvalue thread...)
If it's still open to the top the flow direction would be great to have, would have a much more natural look :)

Edit: meh, forgot half of my post :)
 
Top