3 ms·
Wow, that would be quite fun! How does one sim water in 3d effectively in this sort of case? Is it basically a 2d grid with a third "depth" variable and some si
by TrevorJ 11y ago
Wow, that would be quite fun! How does one sim water in 3d effectively in this sort of case? Is it basically a 2d grid with a third "depth" variable and some simple rules like "where neighbor depth > mine: +1 to neighbor depth on tick" or something?
- detaro 11y agoThat approach has the downside that you can't have water jets or multiple layers of caves with lakes above each other. Most "voxel"/block-based games allow blocks to be filled with different levels of water and then have rules to spread it around. 2 Examples: In Minecraft, there are source blocks and normal water blocks. Water spreads from source blocks towards the lowest point in the area and loses one level (from 7) each step. If you put water source blocks close together, new ones spawn between them. Water just "evaporates" after a few blocks: If you dig up from a cave with flat ground into an ocean, water will spill to the ground and flow 7 blocks. But that makes it easier to handle for players. Example: http://minecraft.gamepedia.com/File:Das_Waterfall.png http://minecraft.gamepedia.com/File:Das_Waterfall.png Details: http://minecraft.gamepedia.com/Liquids#How_liquids_work http://minecraft.gamepedia.com/Liquids#How_liquids_work Dwarf Fortress on the other hand has infinite water sources that also have pressure, so hitting a water source with a tunnel will fill your fortress up to the level of the source block, because the water spreads infinitely and also can go up bends. FUN! (Especially if you hit one with high pressure = producing a lot of water. First thing you notice is that the frame rate drops to slide show speed, a few frames later there's water everywhere) If you block it off, it remains. (vs in Minecraft plugging all source blocks makes water disappear) This is a more realistic approach, especially if the speed at which the sources produce water is limited and they are only used at the map edges to simulate inflow. Or one could look into finite element modelling and other fluid simulation techniques and try to adapt them for game usage.
- TrevorJ 11y agoCool info, thank you for sharing that's quite interesting!
- gavanwoolery 11y agoThe water simulation I have built has finite water and also simulates pressure correctly, as demoed in the past. However, on the downside it is infinitely elastic (a single drop will spread over a large plane, like oil in an ocean). The rendered water also does not correspond 1:1 with the actual water volume, so it can look buggy. And there are still a few minor bugs as well.