Jump to content

  • Curse Sites
Become a Premium Member! Help
Latest News Article

Sensible soultion to water: check inside


  • Please log in to reply
27 replies to this topic

#1

madk
    madk

    Nether Resident

  • Members
  • 2163 posts
  • Minecraft: madk

Posted 27 June 2010 - 09:08 PM

I really don't understand why everyone wants waterfalls where they just can't physically happen. It makes no sense and it makes it unnervingly possible to flood entire caverns with a single bucketfull of water.

I like the idea of volumetric water, minus the special rules at the end. Now, I understand and fully support the idea of gameplay > realism, but let me explain why truly finite water is better than what we have now.

Notch already added rain graphics, why not put it to use? It wouldn't be terribly difficult to simulate pressure zones to create somewhat accurate renditions of where rainfall will take place. I know this is going to sound somewhat complicated, but it's not very, and would in no way take a large toll on FPS.

Oceans, mountains, and plains would be the three basic terrain types. Wind currents would be procedurally generated. High- and low-pressure zones would be tracked. They'd form over oceans and mountains and would move mostly in accordance with these wind currents. When two of them collide, a rainstorm happens. Especially large fronts and high-speed winds might also generate some interesing weather disasters if Notch saw fit.

Here's where the rain comes into play: it would be tracked just like water. Puddles would form, but most importantly, based on the formation of terrain, natural rivers and waterfalls would occur. I consider this to be extremely important if we want an immersive and dynamic world. Need a reservoir? Build a dam! Rainy season? Watch that your crops don't flood! Of curse, water would have to evaporate to prevent miniscule puddles from accumulating into gigantic lakes.

Some kind of erosion of soil layers would add to natural appearance of these rivers.

"But wait! I want a beautiful waterfall flowing through my fortress!"

Here's where pumps come into play. They are outstandingly simple. Every tile tick, if there is a liquid tile below a pump tile, it is transported to the tile above this pump tile. If the tile directly above is not air or liquid, but it is another pump, it keeps checking upwards until space is reached. Let it flow back and fall down to the pump's source and voilá: perpetual waterfall!


Sure, it's not perfect. (keeping track of it all will be a nightmare, as opposed to the current faux-finite system) but would be met with much more enthusiasm, I'm certain. If I dig a channel from the ocean to my pool, it had better freaking fill, and fill all the way to the brim. And using the current system, it doesn't.


Also, on a related note, water flowing towards an adjacent block that also has a water block underneath it is weird and should be corrected ASAP.

Register or log in to remove.

#2

redrager
    redrager

    Void Walker

  • Members
  • 1772 posts

Posted 27 June 2010 - 09:30 PM

''Not changing water anytime soon, sorry. =)
about 11 hours ago''
Posted Image Posted Imageimplying you can kill my eggs

#3

Swingerzetta
  • Location: Canada
  • Minecraft: Swingerzetta

Posted 27 June 2010 - 09:39 PM

sounds reminiscent of my Water table thread. Still, I'd support this, in whichever way it was implemented. it'd make much more sense than magic springs.

#4

TaylOwned

Posted 27 June 2010 - 10:00 PM

How would this behave when tunneling into water? I rather dislike the current water system because hitting water while tunneling is only a minor nuisance. I liked the older system, where you had to build airlocks in order to keep water out encase you hit a lake, because there was much more suspense when working close to the surface while still underground.

On another note, i completely love how your idea puts use to the rain effects, a swell as the idea of a dynamic landscape including lakes and rivers.

#5

madk
    madk

    Nether Resident

  • Members
  • 2163 posts
  • Minecraft: madk

Posted 27 June 2010 - 10:08 PM

The lake would drain and your tunnel would flood :(

The thing is, using this system with pumps, it'd become only a minor issue to unflood something of water, and only a matter of crafting some metal pumps to move some magma. The initial terror of "OH NO! I'M GOING TO DROWN SLASH MELT!" would still be there, though.

#6

TaylOwned

Posted 27 June 2010 - 10:15 PM

madk said:

The initial terror of "OH NO! I'M GOING TO DROWN SLASH MELT!" would still be there, though.
That is  what i wanted to hear. :(

Another reason i prefer your suggested system over the currently implemented system is the ability to drain lakes and ponds. in indev i often drained lakes and built in the sandbanks, but i cant do that any longer in infdev.

#7

A.I.
    A.I.

    Retired Staff

  • Retired Staff
  • 3589 posts
  • Location: The Grotto of the Secret Wizards
  • Minecraft: A.I.

Posted 27 June 2010 - 10:24 PM

I like it, and pumps would be a fantastic addition. I could start making more DF-esque things.
I want to join you sleeping peaceful, feeling the sun in our room...

Posted Image


#8

Mystify
    Mystify

    Blaze Extinguisher

  • Members
  • 4899 posts

Posted 28 June 2010 - 12:11 AM

I don't see how this gives you maintainable waterfalls. Wouldn't the waterfalls drain all the rainwater above them extremely quickly?

#9

madk
    madk

    Nether Resident

  • Members
  • 2163 posts
  • Minecraft: madk

Posted 28 June 2010 - 01:05 AM

There are waterfalls in real life, aren't there? (yes)

That's because it's almost always raining somewhere, and that rain is feeding into the rivers, and if those rivers happen to be travelling past sheer cliffs, you get a waterfall.

And I just don't understand why everyone seems to want waterfalls so badly. They're rare in nature, so they'd end up pretty rare in Minecraft, too, given the weather simulation is halfway accurate.

Also, it'd be very easy to manufacture a waterfall using pumps if you wanted to, so I can't see what the fuss is about.

#10

Mystify
    Mystify

    Blaze Extinguisher

  • Members
  • 4899 posts

Posted 28 June 2010 - 01:12 AM

So you now want to simulate water in enough detail that rainfall in large areas can feed rivers? Notch wants a local water system for a reason. large-scale systems like this are infeasible.

We want waterfalls because they are awesome. Besides, waterfalls are common in video games. Rivers are quite common in real life, and would have the same problems of requiring being fed in a system like this. Flowing water is extremely problematic with a strictly limited water system; that is why I was creating a hybrid system.

#11

madk
    madk

    Nether Resident

  • Members
  • 2163 posts
  • Minecraft: madk

Posted 28 June 2010 - 01:19 AM

Difficult, yes. Infeasable? Absolutely not. I should create a simple simulation just to show you wrong. (I just might.)

Dwarf Fortress: Realtime simulation of entire oceans, rivers, and waterfalls. DF is slow, you say? Take a look at some of the more technical discussions on the forums. Liquid simulation alone doesn't impact the speed enough to be a bother.

Falling sand games: liquid movement is the least costly operation involved in these simulations. (Don't doubt me, I've written one. Absolutely lightning fast until you add reactions into the mix.)

It's been done. Don't doubt a skilled and determined programmer's ingenuity. I wouldn't put anything beyond Notch after seeing what incredible stuff he's accomplished in the span of only a year.

#12

eap21997
  • Location: Nether

Posted 28 June 2010 - 01:33 AM

Okay, Is it enough to say, That on my main save, My entire base would nearly EXPLODE if this happened? I mean honestly, If you truly support gameplay > Realism, Then you would not have suggested this, All I'm saying is that alot of people's works will end up being torn apart. I can't give an example however.

#13

madk
    madk

    Nether Resident

  • Members
  • 2163 posts
  • Minecraft: madk

Posted 28 June 2010 - 01:44 AM

Preserving your work is not gameplay.

Can someone please explain to me why everyone prefers sickeningly unrealistic fluids to something that bears some resemblance to the laws of physics we know and love?

#14

Mystify
    Mystify

    Blaze Extinguisher

  • Members
  • 4899 posts

Posted 28 June 2010 - 01:49 AM

I agree, liquid simulation is fast. But not fast enough for the scales required. A large impact of minecraft's speed is the number of chunk updates; Your system requires all chunks to be updated constantly while simulating.

Correct me if I'm wrong, but isn't minecraft MUCH larger than a DF map? Or any falling sand game? But having to simulate rainfall for the entire world, simulate where and how it collects, and have rivers and waterfalls arise out of that, is far too much. Minecrafts performance is shaky as it is, there is not that much spare CPU time.

The entire map isn't loaded into memory at any given time either; he only has certain chunks loaded, and everything else is saved in files. You can't simulate on terrain that isn't active. Hence, the extremely-large scale simulation like this is not possible in minecraft.

In addition, in order for the world to be consistent, it would have to be pre-generated, so it can simulate the terrain far away. Otherwise you will explore, and the additional land will mean additional rainfall is being collected, and a new river might form because of it.

It might be possible to create a simplified large-scale simulation of how water will fall and collect, and map that down to the game world as necessary, but that is adding additional layers of complexity.

Minecraft is a game, not a simulation. It does not need a full simulation of water; it needs a believable representation of water. Having to simulate the waterflow of the entire world to determine where and how rivers will form dynamically is not needed; People don't care why a river forms, they care that they have a river. A simplified model of water is vastly preferable to trying to do a large-scale model like this.

madk said:

Preserving your work is not gameplay.

Can someone please explain to me why everyone prefers sickeningly unrealistic fluids to something that bears some resemblance to the laws of physics we know and love?
a simplified version can be made to resemble water a lot closer than the current one; The purpose of my system was to strike a balance between realism, gameplay, and performance, and I believe I found a really good balance. Going towards realism exclusively, as this suggestion is, is not the proper approach.

#15

Swingerzetta
  • Location: Canada
  • Minecraft: Swingerzetta

Posted 28 June 2010 - 02:02 AM

Real-world rivers don't exist because it's raining somewhere upstream. They exist because the ground becomes saturated with water at a certain depth (the water table) and this seeps out of the ground in dips such as river beds. This was the system I proposed in the link I showed you.
If you want to do away with the Spring blocks, this is a better way to do it than with rain falling somewhere far away.

No one is saying they prefer the unrealistic system we currently have. We're suggesting other methods that don't require keeping track of all the water in the world at once. I'm sure that if Notch decided he wanted to implement your system (Despite not appearing to want to implement ANY systems but what he has now) he could do it, but who says that the average computer would be able to handle it?

Mystify's hybrid system is a compromise. It looks like it would be a good local system that looks enough like real physics, but has the benefits of providing waterfalls and local calculations.

#16

eap21997
  • Location: Nether

Posted 28 June 2010 - 02:04 AM

madk said:

Preserving your work is not gameplay.

Can someone please explain to me why everyone prefers sickeningly unrealistic fluids to something that bears some resemblance to the laws of physics we know and love?


Assuming that we want something that we've spent hours on to be ruined by someone who thinks the game should be sickenly realistic.

#17

madk
    madk

    Nether Resident

  • Members
  • 2163 posts
  • Minecraft: madk

Posted 28 June 2010 - 02:14 AM

What you don't understand is that no, never will an entire map need to be simulated. Also, creating a generalized algorithm for non-generated chunks does not add complexity, but rather removes it. You only simulate small areas of the map according to if they contain moving liquids or active placing/removal of blocks. Non-generated areas would require little extra calculation upon generation to make some decent guesswork as to what prolonged actual simulation would have produced.

As I said, perhaps I'll present you with a simulation. I leave on a trip in just a few days, and I'm already involved writing something, but I'll get to it.

I promise.


I am nauseated to think of how sorely you doubt Notch's ability, and disappointed that you expect to know more about simulations than someone who's created several.



@Swing
This method is unbelieveably inexpensive! It would be much less demanding than the current system, I'm certain.

Also,

Quote

Precipitation, such as rainwater or snow, is the source of the water flowing in rivers.


@eap
I have stuff I'd be disappointed to lose, too, but it doesn't make a difference. That's like whining that someone swapped your dumpy and broken down car for a Lamborghini.

#18

Swingerzetta
  • Location: Canada
  • Minecraft: Swingerzetta

Posted 28 June 2010 - 02:20 AM

I don't doubt notch's ability, I doubt our computers' ability.

Your creation of simulations in the past is the reason why I shouldn't doubt your word? Interesting. You should read our posts more often.

I don't see why it's expensive to track the height of the surface in the surrounding blocks.

and yes, it comes from rainwater and melted snow, but not because it's constantly raining all along the river, and it certainly doesn't all come from the one patch of snow feeding it. it's because that rainwater and snow melt seeps into the ground.

#19

madk
    madk

    Nether Resident

  • Members
  • 2163 posts
  • Minecraft: madk

Posted 28 June 2010 - 02:30 AM

Quote

You should read our posts more often.

You should consider that others may have more experience than you in certain fields. I hate to come off as a jerk, but I despise arrogance. It's a pet peeve of mine when somebody is wrong, they refuse to admit it, and bafflingly are grossly determined to remain ignorant. It enrages me.

Quote

I don't see why it's expensive to track the height of the surface in the surrounding blocks.

You'd be suprised. Honestly.

Quote

and yes, it comes from rainwater and melted snow, but not because it's constantly raining all along the river, and it certainly doesn't all come from the one patch of snow feeding it. it's because that rainwater and snow melt seeps into the ground.

I said it's not a perfect system. Obviously, there are thousands of variables that come into play in the formation of an actual river. In some areas for the system to work, there might need to be near constant rainfall if a river's flow is to be constantly maintained. But that doesn't mean it flat-out won't work. Understand this.

#20

Lordofq
    Lordofq

    Redstone Miner

  • Members
  • 578 posts

Posted 28 June 2010 - 03:07 AM

Notch is probably going to do something completely different from all of these, but honestly just about any change is more than welcome.
Pressure systems are a bad idea because EVERYTHING would have to be checked/updated all the time, but so would rainfall (at east when it's raining).  And what about naturally occurring waterfalls?  I don't those gone in favor of volumized water.  Nor do I want to use a bunch of pump blocks.  If rain makes natural waterfalls/rivers how are they sustained?  And yes it's always raining somewhere more often than not (at least where I live) it's MILES AND MILES away.  That doesn't sound like the easiest load for chunk loading to bear.  Those special rules (not sure which ones exactly) may be the ones allowing waterfalls/rivers to be sustained.
If you look at the terrain, nothing really suits a river that won't look odd being a wall of water next to empty space.  Water would have to be allowed to cut into the earth and make it's own path (the erosion you mentioned should do fine), but the how does go around figuring out where to go?
Most of these apply to either system, but yours just adds the addition of rain.  More realistic but VERY likely to be harder on the system.  Before you just say "I'm sure" how do you really know it will be easy on the system?  I'm no coder so I really have shit to compare on that subject.  

Also for despising arrogance you sure reek of it.