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.

Difference between revisions of "v0.31:Flow"

From Dwarf Fortress Wiki
Jump to navigation Jump to search
 
(39 intermediate revisions by 20 users not shown)
Line 1: Line 1:
 
{{av}}
 
{{av}}
{{human}}
+
{{quality|Masterwork|02:44, 08 November 2010 (UTC)}}
'''Flow''' is a game mechanic used to simulate the motion of '''fluids'''. The two fluids that exist in dwarf fortress currently are '''{{l|water}}''' and '''{{l|magma}}'''. Flow can be identified by looking for a tile that is blinking between {{Tile|≈|#008|#999}} and {{Tile|~|#008|#999}} tiles. Fluids that are not blinking are not considered to be flowing. In order to power a '''{{l|waterwheel}}''' you must have flowing water at a depth of 4/7 or greater.
+
:''The term '''flow''' can be used to refer to several completely different things in Dwarf Fortress: things like [[miasma]] and [[smoke]], and the mechanism by which [[water]] and [[magma]] move. This article describes the latter.''
*Note: In the current release flow does not seem to appear in magma. {{verify}}
 
  
=Fluid Depth=
+
'''Flow''' is a game mechanic used to simulate the motion of '''fluids'''. The two fluids that exist in dwarf fortress currently are '''[[water]]''' and '''[[magma]]'''. You can identify fluids that are flowing by looking for a tile that is blinking between {{Tile|≈|1:0:1}} and {{Tile|~|1:0:1}} tiles. If you have turned on SHOW_FLOW_AMOUNTS you will see the fluid '''depth''' instead and will not be able to easily tell if the game considers a tile to be flowing or not. Flow is typically present any time a fluid is in motion, but there are some exceptions which confuse things a bit.
Fluids can have a depth anywhere from 1 to 7. To see the depth of a tile of fluid you can look at it with {{k|k}} which will reveal the depth in the text at the right. Alternatively you can enable {{l|Technical_tricks#The_look_of_the_game|SHOW_FLOW_AMOUNTS}} which will replace the {{Tile|≈|#008|#999}} and {{Tile|~|#008|#999}} tiles with a numerical representation of the depth at all times. Turning on {{l|Technical_tricks#The_look_of_the_game|SHOW_FLOW_AMOUNTS}} does come with the drawback that you will no longer be able to see if a tile is flowing or not.
+
*Note: In the current release flow does not seem to appear in magma. Magma follows the same rules of fluid motion and flow, it simply doesn't have flow in the sense that would allow it to power a water wheel.
  
=Fluid Motion=
+
==Basic Fluid Motion==
'''Water''' and '''{{l|magma}}''' both move in much the same way following a fairly simple set of rules. The only difference between the motion of {{l|magma}} and water is that magma behaves differently with regards to {{l|pressure}}.
+
'''[[Water]]''' and '''[[magma]]''' both move in much the same way following a fairly simple set of rules. The only difference between the motion of [[magma]] and water is that magma behaves differently with regards to [[pressure]].
  
Fluids behave mostly as one might expect: Trying to move down and spreading out to the sides until they fill any available area. Fluids can also be under {{l|pressure}}, which allows them to be pushed back up by the weight of fluid in another area. Fluids can move in 10 directions, which are the 8 directions on the same z-level, and directly up or down. Fluids cannot move diagonally up or down. When fluids have a choice of where to move they select a destination randomly.
+
Fluids move mostly as one might expect: they will fall straight down if they can, or else they will spread out to the sides. Fluids can flow diagonally on the same z-level, but will never move sideways and down at the same time. Under basic fluid motion, fluid never moves back up, but it can appear to do so if pressure is involved.
  
Fluid motion follows a fairly simple set of rules. First fluids try to move down into the tile directly below them. If there is available open space below it will be filled very quickly. Fluids always try to move down before attempting to move in other directions.
+
Here is a quick example of how fluids can move to adjacent tiles. Also as water moves to an adjacent tile flow is generated in both tiles. This flow will remain for a short time before reverting back to being non-flowing water. In the first example of falling water all of the water is removed from the source tile, so flow only appears below where the water has moved to. In the other two examples flow will appear in both tiles.  
  
If there is a floor below or if all space below is already filled with fluid, than any fluid at a depth of 2/7 or greater will instead flow to one of the 8 adjacent side tiles. Fluid at a depth of 1/7 can only move down and will not attempt to move to the side.
+
                        '''Before (side view)'''
 +
                        ▒7▒      ▒7▒      ▒
 +
                        ▒ ▒      ▒2▒      ▒7
 +
                        ▒▒▒      ▒▒▒      ▒▒▒▒▒
  
The last potential direction for a fluid to move is up, which can only occur if a fluid is under {{l|pressure}}. Any time fluids move they will generate flow. This flow is found in the tile they moved from (if any fluid remains) as well as the tile they move to. This flow will remain for a short time.
+
                        '''After (side view)''' 
 +
                        ▒ ▒      ▒2▒      ▒
 +
                        ▒7▒      ▒7▒      ▒43
 +
                        ▒▒▒      ▒▒▒      ▒▒▒▒▒
  
*Fluids move down
+
*1. Fluids move down  
*Fluids move to the sides
+
*2. Fluids spread out to the sides
*Pressurized fluids may move up
 
  
=Fluid Teleportation=
+
These rules are incomplete, however, without consideration of [[pressure]].
This is an aspect of fluid motion that causes a great deal of confusion. Fluids do not just move to adjacent tiles, they also trace a path through other full tiles of fluid trying to move to more distant tiles. Fluid teleportation can occur at any of the three steps of fluid motion. When fluids move by teleportation flow is not created in the tiles that water skips past only in the actual source and destination tiles which can create a number of situations where flow does not appear contrary to expectations.
 
  
=Obstructions=
+
==Fluids under pressure aka. Teleportation==
Water can be stopped by most solid tiles. These include {{l|wall|walls}} and {{l|building|buildings}} as well as closed {{l|floodgate|floodgates}}, {{l|door|doors}}, and {{l|hatch|hatches}}. Exceptions are {{l|grate|grates}}, {{l|bars|bars}} and {{l|fortification|fortifications}} which will allow fluids to pass freely.  
 
  
=Evaporation=
+
Magma, which has no natural pressure, flows according to the rules of basic fluid motion. Water, however, can move by pressure when it falls down on top of full 7/7 water. In addition, pumps create pressure in both water and magma, and water entering the map at from a stream or river follows pressure as well.
Fluids that remain at a depth of 1/7 for long enough will evaporate. Evaporated fluids are simply removed from the game. In '''hot''' or '''scorching''' environments murky pools can evaporate at greater depths.
 
  
[[Category:Physics]]
+
Fluids moving under '''[[pressure]]''' do not just move to adjacent tiles, they also trace a path through other full tiles of fluid trying to move to more distant tiles. Fluids moving under [[pressure]] can effectively teleport through other tiles that are already filled with fluid. When teleporting, fluids still only generate flow in their source and destination tiles, NOT in any tiles they skipped over to get to their destination. Also fluids that are teleporting will not push objects in tiles they skip over.
 +
 
 +
                ▒7▒ ▒      ▒~▒ ▒     
 +
  '''Before'''      ▒7▒ ▒      ▒~▒ ▒
 +
                ▒777▒      ▒<nowiki>~~~</nowiki>▒               
 +
                ▒▒▒▒▒      ▒▒▒▒▒     
 +
 
 +
                ▒ ▒ ▒      ▒ ▒ ▒
 +
  '''After'''        ▒7▒7▒      ▒~▒≈▒      ≈  flowing fluid
 +
                ▒777▒      ▒<nowiki>~~~</nowiki>▒      ~  non-flowing fluid
 +
                ▒▒▒▒▒      ▒▒▒▒▒
 +
 
 +
This is a simple u-bend example of how water moves under pressure. However with regards to flow, it does something strange. Notice that flow only occurs in the destination tile here (since the source tile has been removed). The fluids in the bottom of the u-bend are unaffected, and furthermore any objects that happen to be here are not pushed either.
 +
 
 +
When a fluid tries to move by pressure, it tries to trace a path through full 7/7 fluids going down, and horizontally, but ''not'' diagonally.  In this way it is like basic flow, except that pressure works faster; fluid from the source is teleported to the open space at the end, rather than having to wait for open space to open up at the source via normal flow. This is why, for example, diagonal squeezes in channels can make water flow slower, and why rivers and streams on the map are usually full of 7/7 water until close to the edge of the map where the rules of basic fluid motion are draining the water off the map while pressure teleports new water from the source all the way down to the end.
 +
 
 +
What's more, unlike basic flow, the path pressure traces can even go back up--but never higher(*) than the z-level of the first 7/7 tile on the path it was tracing. So it may appear that pressure 'pushes fluids up', but in fact it's only teleporting fluid to a level even or lower.
 +
 
 +
Thus the result is that pressure movement of fluids (especially water) is common and doesn't create very much flow. However rivers and streams still seem to have some kind of flow that powers water wheels, called natural flow.
 +
 
 +
(*) There's one way to push a fluid higher than its starting level, but it might be considered a bug on the flow mechanics and probably will be changed in following versions since allows for what could be considered exploits ''(see '''[[magma piston]])'''''.
 +
Water falling down on top of full 7/7 water isn't the only thing that will teleport water, a ''natural'' wall of any material{{verify}} '''[[cave-in|falling]]''' onto both water ''or'' '''[[magma]]''' will teleport each tile of displaced fluid to open space directly above it:
 +
        Start                            Step 1                            Step 2                Legend:
 +
▒ ▒ ▒        ▒ ▒ ▒                ▒ ▒ ▒        ▒ ▒ ▒                ▒ ▒ ▒        ▒ ▒ ▒            |  support           
 +
▒ | ▒        ▒ | ▒    Collapse  ▒  ▒        ▒  ▒      Fluid    ▒  ▒        ▒  ▒
 +
▒ ▒ ▒        ▒ ▒ ▒  -----------> ▒ 7 ▒        ▒ ≈ ▒  -----------> ▒232▒        ▒<nowiki>~~~</nowiki>▒            ≈  flowing fluid
 +
▒▒7▒▒        ▒▒~▒▒    Support    ▒▒▒▒▒        ▒▒▒▒▒    Spreads    ▒▒▒▒▒        ▒▒▒▒▒            ~  non-flowing fluid
 +
▒▒▒▒▒        ▒▒▒▒▒                ▒▒▒▒▒        ▒▒▒▒▒                ▒▒▒▒▒        ▒▒▒▒▒
 +
when done in an u-bend example the pushing above original fluid level can be easily appreciated, although it breaks the laws of regular fluid physics:
 +
        Start                            Step 1                            Step 2   
 +
▒ ▒ ▒ ▒      ▒ ▒ ▒ ▒              ▒ ▒ ▒ ▒      ▒ ▒ ▒ ▒              ▒ ▒ ▒ ▒      ▒ ▒ ▒ ▒
 +
▒ | ▒ ▒      ▒ | ▒ ▒              ▒  ▒ ▒      ▒  ▒ ▒              ▒  ▒ ▒      ▒  ▒ ▒
 +
▒ ▒ ▒ ▒      ▒ ▒ ▒ ▒  Collapse  ▒ 7 ▒ ▒      ▒ ≈ ▒ ▒    Fluid    ▒  ▒ ▒      ▒  ▒ ▒
 +
▒ ▒ ▒ ▒      ▒ ▒ ▒ ▒ -----------> ▒ 7 ▒ ▒      ▒ ≈ ▒ ▒ -----------> ▒464▒ ▒      ▒<nowiki>~~~</nowiki>▒ ▒
 +
▒▒7▒▒7▒      ▒▒~▒▒~▒  Support    ▒▒▒▒▒7▒      ▒▒▒▒▒~▒  Spreads    ▒▒▒▒▒7▒      ▒▒▒▒▒~▒
 +
▒▒7777▒      ▒▒<nowiki>~~~~</nowiki>▒              ▒▒▒777▒      ▒▒▒<nowiki>~~~</nowiki>▒              ▒▒▒777▒      ▒▒▒<nowiki>~~~</nowiki>▒
 +
▒▒▒▒▒▒▒      ▒▒▒▒▒▒▒              ▒▒▒▒▒▒▒      ▒▒▒▒▒▒▒              ▒▒▒▒▒▒▒      ▒▒▒▒▒▒▒
 +
this is the basic principle that the '''[[magma piston]]''' exploit, if you want to prevent a future fix or simply want to simulate regular physics fluid behaviour, you can do something like this:
 +
z-level  Start                  Step 1                Step 2
 +
  z+0  ▒ ▒  ▒ ▒              ▒ ▒  ▒ ▒              ▒ ▒  ▒ ▒
 +
  z-1  ▒ |  ▒ ▒              ▒    ▒ ▒              ▒    ▒ ▒
 +
  z-2  ▒ ▒ ▒ ▒ ▒  Collapse  ▒ 7 7 ▒ ▒    Fluid    ▒    ▒ ▒
 +
  z-3  ▒ ▒ ▒ ▒?▒ -----------> ▒ 7 7 ▒?▒ -----------> ▒44544▒?▒
 +
  z-4  ▒▒777▒▒7▒  Support    ▒▒▒7▒▒▒7▒  Spreads    ▒▒▒7▒▒▒7▒
 +
  z-5  ▒▒777777▒              ▒▒▒7▒777▒              ▒▒▒7▒777▒
 +
  z-6  ▒▒▒▒▒▒▒▒▒              ▒▒▒▒▒▒▒▒▒              ▒▒▒▒▒▒▒▒▒
 +
 
 +
      z-3 Top View          z-4 Top View          z-3 Top View (Step 1) z-3 Top View (Step 2)
 +
        ▒▒▒▒▒▒▒                ▒▒▒▒▒▒▒                ▒▒▒▒▒▒▒                ▒▒▒▒▒▒▒
 +
        ▒    ▒                ▒▒▒▒▒▒▒                ▒    ▒                ▒44444▒
 +
        ▒ ▒▒▒ ▒▒▒              ▒▒777▒▒▒▒              ▒ 777 ▒▒▒              ▒45554▒▒▒
 +
  Axis  ▒ ▒ ▒ ▒?▒              ▒▒777▒▒7▒              ▒ 7 7 ▒?▒              ▒55555▒?▒  Axis 
 +
--------▒ ▒▒▒ ▒▒▒--------------▒▒777▒▒▒▒--------------▒ 777 ▒▒▒---------------▒45554▒▒▒--------
 +
  Cut    ▒    ▒                ▒▒▒▒▒▒▒                ▒    ▒                ▒44544▒      Cut   
 +
        ▒▒▒▒▒▒▒                ▒▒▒▒▒▒▒                ▒▒▒▒▒▒▒                ▒▒▒▒▒▒▒
 +
basically it involves dropping a giant ''(minimum size 3x3x1)'' donut/cylinder/tube of natural walls onto the fluid pool, given that it will teleport a donut/cylinder/tube of fluid in the same way ''(step 1)'' but after it spreads ''(step 2)'' it'll seem that the fluid actually went through the opening in the middle of the donut/cylinder/tube like a real fluid should behave, of course one exception it won't be pushed through the right tube like it should, you'll probably want to close the tile marked with a question mark "?" so it can give the impression of real fluid mechanics.
 +
 
 +
==Natural Flow==
 +
Many water sources such as [[river]]s and [[brook]]s are constantly flowing with '''natural flow'''. This is different from other flow effects in that it is always considered to be flowing water. This remains true even when the water flows into a complete dead end channel or even when blocked off with a floodgate. Any channels that link up to a naturally flowing source will soon become naturally flowing water as long as they remain on the same z-level. Diagonal steps have no effect on natural flow although they can be used to change [[pressure]].
 +
 
 +
Trying to move natural flow up or down to a different z-level may have unpredictable results but in most cases this will break the natural flow effect resulting in still water that can only be made to flow by artificial means.
 +
 
 +
==Fluid Depth==
 +
Fluids can have a depth anywhere from 1 to 7. To see the depth of a tile of fluid you can look at it with {{k|k}} which will reveal the depth in the text at the right. Alternatively you can enable [[Technical_tricks#Tiles|SHOW_FLOW_AMOUNTS]] which will replace the {{Tile|≈|1:0:1}} and {{Tile|~|1:0:1}} tiles with a numerical representation of the depth at all times. Turning on SHOW_FLOW_AMOUNTS does come with the drawback that you will no longer be able to see if a tile is flowing or not.
 +
 
 +
==Obstructions==
 +
Water can be stopped by most solid tiles. These include [[wall]]s and [[building]]s as well as closed [[floodgate]]s, [[door]]s, and [[hatch]]es. Exceptions are vertical [[grate]]s, vertical [[bars]], and [[fortification]]s, which will allow fluids to pass freely.
 +
 
 +
==Evaporation==
 +
Fluids that remain at a depth of 1/7 for long enough will evaporate. Evaporated fluids are simply removed from the game. In '''hot''' or '''scorching''' environments, [[murky pool]]s can evaporate at greater depths.
 +
 
 +
==Bugs==
 +
*Flows may cause items to disappear {{Bug|895}}
 +
*Smears and blood will multiply when in the presence of flows {{Bug|296}}
 +
 
 +
{{Category|Physics}}

Latest revision as of 06:05, 27 January 2014

This article is about an older version of DF.
The term flow can be used to refer to several completely different things in Dwarf Fortress: things like miasma and smoke, and the mechanism by which water and magma move. This article describes the latter.

Flow is a game mechanic used to simulate the motion of fluids. The two fluids that exist in dwarf fortress currently are water and magma. You can identify fluids that are flowing by looking for a tile that is blinking between and ~ tiles. If you have turned on SHOW_FLOW_AMOUNTS you will see the fluid depth instead and will not be able to easily tell if the game considers a tile to be flowing or not. Flow is typically present any time a fluid is in motion, but there are some exceptions which confuse things a bit.

  • Note: In the current release flow does not seem to appear in magma. Magma follows the same rules of fluid motion and flow, it simply doesn't have flow in the sense that would allow it to power a water wheel.

Basic Fluid Motion[edit]

Water and magma both move in much the same way following a fairly simple set of rules. The only difference between the motion of magma and water is that magma behaves differently with regards to pressure.

Fluids move mostly as one might expect: they will fall straight down if they can, or else they will spread out to the sides. Fluids can flow diagonally on the same z-level, but will never move sideways and down at the same time. Under basic fluid motion, fluid never moves back up, but it can appear to do so if pressure is involved.

Here is a quick example of how fluids can move to adjacent tiles. Also as water moves to an adjacent tile flow is generated in both tiles. This flow will remain for a short time before reverting back to being non-flowing water. In the first example of falling water all of the water is removed from the source tile, so flow only appears below where the water has moved to. In the other two examples flow will appear in both tiles.

                       Before (side view)
                       ▒7▒       ▒7▒       ▒
                       ▒ ▒       ▒2▒       ▒7
                       ▒▒▒       ▒▒▒       ▒▒▒▒▒
                       After (side view)  
                       ▒ ▒       ▒2▒       ▒
                       ▒7▒       ▒7▒       ▒43
                       ▒▒▒       ▒▒▒       ▒▒▒▒▒
  • 1. Fluids move down
  • 2. Fluids spread out to the sides

These rules are incomplete, however, without consideration of pressure.

Fluids under pressure aka. Teleportation[edit]

Magma, which has no natural pressure, flows according to the rules of basic fluid motion. Water, however, can move by pressure when it falls down on top of full 7/7 water. In addition, pumps create pressure in both water and magma, and water entering the map at from a stream or river follows pressure as well.

Fluids moving under pressure do not just move to adjacent tiles, they also trace a path through other full tiles of fluid trying to move to more distant tiles. Fluids moving under pressure can effectively teleport through other tiles that are already filled with fluid. When teleporting, fluids still only generate flow in their source and destination tiles, NOT in any tiles they skipped over to get to their destination. Also fluids that are teleporting will not push objects in tiles they skip over.

               ▒7▒ ▒      ▒~▒ ▒       
  Before       ▒7▒ ▒      ▒~▒ ▒
               ▒777▒      ▒~~~▒                
               ▒▒▒▒▒      ▒▒▒▒▒       
               ▒ ▒ ▒      ▒ ▒ ▒
  After        ▒7▒7▒      ▒~▒≈▒       ≈   flowing fluid
               ▒777▒      ▒~~~▒       ~   non-flowing fluid
               ▒▒▒▒▒      ▒▒▒▒▒

This is a simple u-bend example of how water moves under pressure. However with regards to flow, it does something strange. Notice that flow only occurs in the destination tile here (since the source tile has been removed). The fluids in the bottom of the u-bend are unaffected, and furthermore any objects that happen to be here are not pushed either.

When a fluid tries to move by pressure, it tries to trace a path through full 7/7 fluids going down, and horizontally, but not diagonally. In this way it is like basic flow, except that pressure works faster; fluid from the source is teleported to the open space at the end, rather than having to wait for open space to open up at the source via normal flow. This is why, for example, diagonal squeezes in channels can make water flow slower, and why rivers and streams on the map are usually full of 7/7 water until close to the edge of the map where the rules of basic fluid motion are draining the water off the map while pressure teleports new water from the source all the way down to the end.

What's more, unlike basic flow, the path pressure traces can even go back up--but never higher(*) than the z-level of the first 7/7 tile on the path it was tracing. So it may appear that pressure 'pushes fluids up', but in fact it's only teleporting fluid to a level even or lower.

Thus the result is that pressure movement of fluids (especially water) is common and doesn't create very much flow. However rivers and streams still seem to have some kind of flow that powers water wheels, called natural flow.

(*) There's one way to push a fluid higher than its starting level, but it might be considered a bug on the flow mechanics and probably will be changed in following versions since allows for what could be considered exploits (see magma piston). Water falling down on top of full 7/7 water isn't the only thing that will teleport water, a natural wall of any material[Verify] falling onto both water or magma will teleport each tile of displaced fluid to open space directly above it:

       Start                             Step 1                            Step 2                Legend:
▒ ▒ ▒        ▒ ▒ ▒                ▒ ▒ ▒        ▒ ▒ ▒                ▒ ▒ ▒        ▒ ▒ ▒            |   support            
▒ | ▒        ▒ | ▒     Collapse   ▒   ▒        ▒   ▒      Fluid     ▒   ▒        ▒   ▒
▒ ▒ ▒        ▒ ▒ ▒   -----------> ▒ 7 ▒        ▒ ≈ ▒   -----------> ▒232▒        ▒~~~▒            ≈   flowing fluid
▒▒7▒▒        ▒▒~▒▒     Support    ▒▒▒▒▒        ▒▒▒▒▒     Spreads    ▒▒▒▒▒        ▒▒▒▒▒            ~   non-flowing fluid
▒▒▒▒▒        ▒▒▒▒▒                ▒▒▒▒▒        ▒▒▒▒▒                ▒▒▒▒▒        ▒▒▒▒▒

when done in an u-bend example the pushing above original fluid level can be easily appreciated, although it breaks the laws of regular fluid physics:

       Start                             Step 1                            Step 2     
▒ ▒ ▒ ▒      ▒ ▒ ▒ ▒              ▒ ▒ ▒ ▒      ▒ ▒ ▒ ▒              ▒ ▒ ▒ ▒      ▒ ▒ ▒ ▒
▒ | ▒ ▒      ▒ | ▒ ▒              ▒   ▒ ▒      ▒   ▒ ▒              ▒   ▒ ▒      ▒   ▒ ▒
▒ ▒ ▒ ▒      ▒ ▒ ▒ ▒   Collapse   ▒ 7 ▒ ▒      ▒ ≈ ▒ ▒    Fluid     ▒   ▒ ▒      ▒   ▒ ▒
▒ ▒ ▒ ▒      ▒ ▒ ▒ ▒ -----------> ▒ 7 ▒ ▒      ▒ ≈ ▒ ▒ -----------> ▒464▒ ▒      ▒~~~▒ ▒
▒▒7▒▒7▒      ▒▒~▒▒~▒   Support    ▒▒▒▒▒7▒      ▒▒▒▒▒~▒   Spreads    ▒▒▒▒▒7▒      ▒▒▒▒▒~▒
▒▒7777▒      ▒▒~~~~▒              ▒▒▒777▒      ▒▒▒~~~▒              ▒▒▒777▒      ▒▒▒~~~▒
▒▒▒▒▒▒▒      ▒▒▒▒▒▒▒              ▒▒▒▒▒▒▒      ▒▒▒▒▒▒▒              ▒▒▒▒▒▒▒      ▒▒▒▒▒▒▒

this is the basic principle that the magma piston exploit, if you want to prevent a future fix or simply want to simulate regular physics fluid behaviour, you can do something like this:

z-level   Start                  Step 1                 Step 2
  z+0   ▒ ▒   ▒ ▒              ▒ ▒   ▒ ▒              ▒ ▒   ▒ ▒
  z-1   ▒ |   ▒ ▒              ▒     ▒ ▒              ▒     ▒ ▒
  z-2   ▒ ▒ ▒ ▒ ▒   Collapse   ▒ 7 7 ▒ ▒    Fluid     ▒     ▒ ▒
  z-3   ▒ ▒ ▒ ▒?▒ -----------> ▒ 7 7 ▒?▒ -----------> ▒44544▒?▒
  z-4   ▒▒777▒▒7▒   Support    ▒▒▒7▒▒▒7▒   Spreads    ▒▒▒7▒▒▒7▒
  z-5   ▒▒777777▒              ▒▒▒7▒777▒              ▒▒▒7▒777▒
  z-6   ▒▒▒▒▒▒▒▒▒              ▒▒▒▒▒▒▒▒▒              ▒▒▒▒▒▒▒▒▒
      z-3 Top View           z-4 Top View           z-3 Top View (Step 1) z-3 Top View (Step 2)
        ▒▒▒▒▒▒▒                ▒▒▒▒▒▒▒                ▒▒▒▒▒▒▒                 ▒▒▒▒▒▒▒
        ▒     ▒                ▒▒▒▒▒▒▒                ▒     ▒                 ▒44444▒
        ▒ ▒▒▒ ▒▒▒              ▒▒777▒▒▒▒              ▒ 777 ▒▒▒               ▒45554▒▒▒
 Axis   ▒ ▒ ▒ ▒?▒              ▒▒777▒▒7▒              ▒ 7 7 ▒?▒               ▒55555▒?▒   Axis   
--------▒ ▒▒▒ ▒▒▒--------------▒▒777▒▒▒▒--------------▒ 777 ▒▒▒---------------▒45554▒▒▒--------
 Cut    ▒     ▒                ▒▒▒▒▒▒▒                ▒     ▒                 ▒44544▒      Cut    
        ▒▒▒▒▒▒▒                ▒▒▒▒▒▒▒                ▒▒▒▒▒▒▒                 ▒▒▒▒▒▒▒

basically it involves dropping a giant (minimum size 3x3x1) donut/cylinder/tube of natural walls onto the fluid pool, given that it will teleport a donut/cylinder/tube of fluid in the same way (step 1) but after it spreads (step 2) it'll seem that the fluid actually went through the opening in the middle of the donut/cylinder/tube like a real fluid should behave, of course one exception it won't be pushed through the right tube like it should, you'll probably want to close the tile marked with a question mark "?" so it can give the impression of real fluid mechanics.

Natural Flow[edit]

Many water sources such as rivers and brooks are constantly flowing with natural flow. This is different from other flow effects in that it is always considered to be flowing water. This remains true even when the water flows into a complete dead end channel or even when blocked off with a floodgate. Any channels that link up to a naturally flowing source will soon become naturally flowing water as long as they remain on the same z-level. Diagonal steps have no effect on natural flow although they can be used to change pressure.

Trying to move natural flow up or down to a different z-level may have unpredictable results but in most cases this will break the natural flow effect resulting in still water that can only be made to flow by artificial means.

Fluid Depth[edit]

Fluids can have a depth anywhere from 1 to 7. To see the depth of a tile of fluid you can look at it with k which will reveal the depth in the text at the right. Alternatively you can enable SHOW_FLOW_AMOUNTS which will replace the and ~ tiles with a numerical representation of the depth at all times. Turning on SHOW_FLOW_AMOUNTS does come with the drawback that you will no longer be able to see if a tile is flowing or not.

Obstructions[edit]

Water can be stopped by most solid tiles. These include walls and buildings as well as closed floodgates, doors, and hatches. Exceptions are vertical grates, vertical bars, and fortifications, which will allow fluids to pass freely.

Evaporation[edit]

Fluids that remain at a depth of 1/7 for long enough will evaporate. Evaporated fluids are simply removed from the game. In hot or scorching environments, murky pools can evaporate at greater depths.

Bugs[edit]

  • Flows may cause items to disappear Bug:895
  • Smears and blood will multiply when in the presence of flows Bug:296