Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2]

Author Topic: Water pressure failure  (Read 2071 times)

Firnagzen

  • Bay Watcher
  • [CURIOUSBEAST_INSANE]
    • View Profile
Re: Water pressure failure
« Reply #15 on: April 15, 2010, 04:23:45 am »

Ooh, one of my pet topics. I know exactly why and how!

First up, brush up on your DF hydrodynamics.

Now, realise that water preferentially paths horizontally in the north, south, east and west directions, followed by vertically, and lastly diagonally. The water will check all horizontal paths for somewhere to go before checking vertically, before checking diagonally.

What does this mean? Well, if the water still has somewhere to go, it would rather go somewhere along the horizontal plane, such as to the drain of the river, rather than path to that last z-level. Once you blocked the river's drain, it has no where to go but to fill up that last z-level, and it does.
Logged
Christ, are you dwarves or are you elves? If you think Hell has too many demons, then you kill them till the population reaches an acceptable number.

abatishko

  • Bay Watcher
    • View Profile
Re: Water pressure failure
« Reply #16 on: April 15, 2010, 08:12:27 am »

I don't think that explanation actually makes sense in this case, Firnagzen. The last z-level it's trying to get to is one level below the river. And, there are no diagonals involved in the system until after the water reaches the level where it's supposed to be going.

The behavior is much more that that water tunnels all get filled up, and then flow calculations shut off and are not turned back on again as water is drained from the final level (one below the river). Closing the floodgate turns flow back on until the pressure drops enough that it can't get to the final level. Turning the floodgate back on causes it to work properly again until the tunnels fill up, and then flow calculations shut off and it stops working again.
Logged

Firnagzen

  • Bay Watcher
  • [CURIOUSBEAST_INSANE]
    • View Profile
Re: Water pressure failure
« Reply #17 on: April 15, 2010, 08:30:26 am »

Ach, my bad. I just assumed it was the most common water pressure complaint. Lemme look at it...

No. My explanation still stands, with a bit of modification. Diagonal pathing is the last direction water prefers to go. Let me use a diagram...

Code: [Select]
A~.X.B.     C
      <..   oXFFF
        <....

So there is water at A and B. There is a diagonal between the hole (o) and the floodgate (X) at the position marked C. Since there is water at A, Kanddak's second law of hydrodynamics is invoked. The tile of water at B does not move, since rule 2 is in effect; water already at the level of the hole o does not move since law 2 is in effect, thus, it doesn't spread diagonally either, since rule 2 overrules rule 3, not allowing water to spread diagonally.

Once the river level floodgate is closed, rule 2 is no longer in effect since the water is no longer under pressure and water spreads through the hole normally, by rule 3.

TL;DR? abatishko, it's not a bug, it's a natural consequence of the laws of hydrodynamics. Dig your faucet head one more level up, and it will work perfectly.
Logged
Christ, are you dwarves or are you elves? If you think Hell has too many demons, then you kill them till the population reaches an acceptable number.

Socializator

  • Bay Watcher
    • View Profile
    • Dwarf Fortress CZ
Re: Water pressure failure
« Reply #18 on: April 15, 2010, 09:04:17 am »

Ach, my bad. I just assumed it was the most common water pressure complaint. Lemme look at it...

No. My explanation still stands, with a bit of modification. Diagonal pathing is the last direction water prefers to go. Let me use a diagram...

Code: [Select]
A~.X.B.     C
      <..   oXFFF
        <....

So there is water at A and B. There is a diagonal between the hole (o) and the floodgate (X) at the position marked C. Since there is water at A, Kanddak's second law of hydrodynamics is invoked. The tile of water at B does not move, since rule 2 is in effect; water already at the level of the hole o does not move since law 2 is in effect, thus, it doesn't spread diagonally either, since rule 2 overrules rule 3, not allowing water to spread diagonally.

Once the river level floodgate is closed, rule 2 is no longer in effect since the water is no longer under pressure and water spreads through the hole normally, by rule 3.

TL;DR? abatishko, it's not a bug, it's a natural consequence of the laws of hydrodynamics. Dig your faucet head one more level up, and it will work perfectly.

DF hydrodynamics are really interesting and is great part of the game, I do have one (or more) question regarding your explanation! In linked Kanddak's post is said, that those rules are run for all water tiles. So while water from above wont teleport to "X" because diagonal teleport is forbidden, water from "o" should spread diagonally onti the "X', since rule 1 doesnt apply, and rule 2 is invoked but wont produce any actual water movement, thus rule 3 should apply - judging from opening sentence
Quote
If water is unable to fall or move under pressure, because it is resting on a floor or because it is on top of more water but all connected spaces on lower z-levels are full
and thus should induce diagonal spread.

So what did I understand wrong?
Logged
Navštivte českou Dwarf Fortress komunitu a fanpage!
Pages: 1 [2]