v50 Steam/Premium information for editors
  • v50 information can now be added to pages in the main namespace. v0.47 information can still be found in the DF2014 namespace. See here for more details on the new versioning policy.
  • Use this page to report any issues related to the migration.
This notice may be cached—the current version can be found here.

User:Cheepicus

From Dwarf Fortress Wiki
Revision as of 11:54, 1 August 2010 by Cheepicus (talk | contribs) (very rough draft)
Jump to navigation Jump to search

Fluids (water and magma) in Dwarf Fortress normally flow in a predictable way, "spilling" and spreading out, and flowing down. However, there is another way these fluids can move--pressure--which can be mystifying, unexpected, and Fun.

It is tempting to think of pressure in terms of bodies of fluid being 'pressurized' or 'pushed around' by pressure, but it is more useful to think of pressure as something that happens to a single individual "block" of fluid, moving it to a possibly distant location, like teleportation.

Creating Pressure

A single "block" of fluid will try to move by pressure when it is created or moved one of the following ways, *and the target space is already full (7/7) of the fluid*:

1) Water falling down a level. 2) A pump pumping water OR magma up to a level. 3) Water being created, moving onto the map, as in the source of a river or stream on the map's edge.

Moving via Pressure

When, as above, the moving block of fluid wants to move or be created by the target space is full, pressure kicks in and attempts to teleport the fluid somewhere else connected to the body of fluid.

So the game looks for a path to move the block. This path: 1) Will only travel through spaces full (7/7) of the fluid, 2) Can span Z-levels, but 3) Only travels orthogonally (north, south, east, west, favoring those before going down, and possible going up), and 4) Will *not* go up above the Z-level of the space *into which it was originally trying to move*.

The search for this path can fail, in which case the movement doesn't happen; the water does not fall, the pump does not pump, and new water is not created.

Behavior

Given the above, some strange behaviors emerge:

Water will flow around a U-bend, but magma will not

This is because falling magma does not create pressure.

Pumps can make magma move via pressure

This is just the way it is.

Diagonal motions of water "remove pressure"

This is because the path to find a place to move fluid by pressure will not go diagonally.

Water falling from level Z can move via pressure only up to level Z+1

That's because it's trying to move into the space on level Z+1, so that is the starting level of the pressure move.

A pump on level Z will fill up to level Z

That's because the fluid is trying to move to the output of the pump, which is on level Z.

Water flowing through a U-bend equalizes with the far side lower, or exactly even

That's because the last bit of water is trying to fall down to level Z, and pressure cannot move it back up to the level it's falling from.

A river tapped for water will fill a reservoir up to one Z-level lower than the river source...

This is because when a river is flowing normally, water that is created on the edge will move via pressure far downstream to fill some of the open space where the water is draining. Pressure will find these spots before it paths down through any U-bends.

... but if the river is dammed, it will fill the reservoir up to the Z-level of the river

When the river is dammed, the usual open space downstream is gone, so pressure will now start to look downwards for paths that can possibly lead to your reservoir system, and back up to the Z-level of the river. Any pressure you see in your reservoir system *before* that is due to falling water pressure, not pressure from the source of the river.