Page 1 of 1

more dynamic world with realistic liquids

PostPosted: Tue Jan 29, 2013 11:46
by proller
+ - already done in core or mod

+all liquids must flow with preserving total volume (like waterplus mod, but better) (+already in core)
water must store level and pressure property

+low level water can vaporize (water with level 1 sometimes converts to air or steam) (now in weather mod)

water + lava = steam + stone (already in minetest_game) (mod: lavacooling http://forum.minetest.net/viewtopic.php?id=2709)

?Steam:
must fly up
should dissipate (random change to air)
?can store pressure
can condense like
s= steam, w=water [with low level]
s
sss => w
s

Snow: (mods: snow http://forum.minetest.net/viewtopic.php?id=2290, seasons)
+ block with levels
+ when snowy weather level can increase, if level=max make upper air block to snow block with low level
+ snow can compress to ice: snow on snow => snow + ice
s = s
s i
+snow and ice can melt to water
+ice => full water block
+snow => water with snow_level/2
+should be melted by lava

Ice: (mod: snow)
can freeze water around (and snow too?)
+can melt to water
+should be melted by lava

Temperature property:
+store for chunk, can slowly change.
+values like height of the landscape, like perlin noise but change over time,
+temperature must depends on height, lower height => higher temperature, upper height => lower temperature
+values like -50 .. +50 on 0 height
affect:
+melt of snow, ice
+freeze water by snow, ice
big amounts of lava can increase chunk temperature,
big amounts of snow or ice can decrease chunk temperature,
water vaporize faster on big temperature
+water can freeze when temperature < 0
grass can convert to sand at temperature>30?
grass can convert to ground at temperature<5?
trees can die at temperature>40?
lava on air must faster freeze, depends on temperature (faster when low)

Mud:
new liquid with low viscosity (and slower movement)
opaque
can transform at bottom in soil

Water improve:
flowing water and mud can transform not strong blocks to mud

liquid generators:
+new block, constantly producing water or lava (spring: https://gist.github.com/proller/4987328)
sometimes (3-10 per map) lava generator may be higher than ground level => volcano
water generator may be lower than water level in caves (not too low, depends on chunk temperature) (without temperature in core:minimal)
no longer need to make lava pools, just place lava generator in +-center of cave, and it fills cave
+water generator may be higher than ground level => rivers, waterfalls

...

PostPosted: Tue Jan 29, 2013 11:53
by jojoa1997
i agree with everthying but water keeping volume cause if you have an ocean then you are ask for lag heaven

PostPosted: Tue Jan 29, 2013 16:52
by rubenwardy
jojoa1997 wrote:i agree with everthying but water keeping volume cause if you have an ocean then you are ask for lag heaven


There would be ways around this

PostPosted: Sat Feb 02, 2013 02:59
by Mgdie
this could add so many levels of fun

PostPosted: Mon Jul 29, 2013 00:20
by proller
now melting-freezing in core, but disabled by default.
enable:

liquid_finite=1
weather=1

to use snow-rain install mod:
https://github.com/proller/minetest-mod-weather/tree/weather

PostPosted: Mon Jul 29, 2013 02:36
by paramat
Image


Tested finite water with the canyon river system mod
https://forum.minetest.net/viewtopic.php?id=4901
The sand nodes just above the water show the original river level created by the mod, this screenshot was taken after roughly 20 minutes of finite water flow, the gradient of water has become very smoothed and consistent, and clearly the water level is dropping ... since my rivers climb in altitude, it seems that eventually all or most of the water will flow away into the lakes, but this is only a problem because my rivers are so unrealistic and have a lot of highland water defying gravity.
I'm interested in your idea of highland springs of water, i would have to use those instead to maintain a high altitude river system.

PostPosted: Mon Jul 29, 2013 03:56
by Inocudom
It looks like there would need to be liquid absorbing blocks too that could link with the liquid source blocks.

PostPosted: Mon Jul 29, 2013 09:41
by proller
paramat: set every 10-30 water source in river with param2=128 , but river will float forever and will eat more cpu for it

Inocudom: sponge for finite liquid here: https://github.com/minetest/minetest_game/pull/185

PostPosted: Mon Jul 29, 2013 13:52
by Exilyth
Sounds great.

Would snow be able to stack up infinitely or would there be a limit, e.g. only x blocks above the ground?

Also, the way it is described, it feels like melting snow could cause infinite water in a region (as long as weather changes between snowy and sunny - snow/ice accumulates, melts down, flows away and gets replaced by the next snowstorm).

PostPosted: Mon Jul 29, 2013 14:27
by proller
snow now stack up infinitely, and convert all lower blocks to ice.

now by default
liquid_relax = 2
- water at 0 level will absorb upper water to prevent overflooding.
and rain mod contains evaporation abm.
its only fill some groung pit without infinite flood.