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
(cleanup)
Line 9: Line 9:
 
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|≈|1:0:1}} and {{Tile|~|1:0:1}} 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.
 
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|≈|1:0:1}} and {{Tile|~|1:0:1}} 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.
  
==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 '''{{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}}.
  
 
Fluids move 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: 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.
  
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.
+
            ▒7▒      ▒7▒      ▒
 +
  '''Before'''  ▒ ▒      ▒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.
+
            ▒ ▒      ▒2▒      ▒
 +
  '''After'''    ▒7▒      ▒7▒      ▒43
 +
            ▒▒▒      ▒▒▒      ▒▒▒▒▒
  
*Fluids move down
+
 
*Fluids move to the sides
+
This is a clear example of the first two rules of water movement.
*Pressurized fluids may move up
+
*1. Fluids move down  
 +
*2. Fluids spread out to the sides
 +
 
 +
There is however a third rule which greatly complicates everything. And that is fluids moving under {{l|pressure}}. Fluids moving under pressure can both teleport, and be pushed back up to fill tiles above as well as below and to the sides. Also fluids that are teleporting under pressure still only generates flow in the source and destination tiles which counter-intuitively leaves all the tiles it pushed through untouched and not flowing.
  
 
==Fluid Teleportation==
 
==Fluid Teleportation==

Revision as of 17:42, 6 July 2010

This article is about an older version of DF.

Reading from the raw files you will find that all water and magma/lava in the game are called flows. This however adds a certain amount of confusion since when you trying to Template:L a Template:L you also need to know if your flow of water is flowing. For the purpose of clarity water and magma will instead be referred to as fluids, and flow will be saved for a fluid that is in motion.

Flow is a game mechanic used to simulate the motion of fluids. The two fluids that exist in dwarf fortress currently are Template:L and Template:L. 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. [Verify]

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 which will reveal the depth in the text at the right. Alternatively you can enable Template:L which will replace the and ~ tiles with a numerical representation of the depth at all times. Turning on Template:L does come with the drawback that you will no longer be able to see if a tile is flowing or not.

Basic Fluid Motion

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

Fluids move 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 Template:L, 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.

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.

           ▒7▒       ▒7▒       ▒
  Before   ▒ ▒       ▒2▒       ▒7
           ▒▒▒       ▒▒▒       ▒▒▒▒▒
           ▒ ▒       ▒2▒       ▒
  After    ▒7▒       ▒7▒       ▒43
           ▒▒▒       ▒▒▒       ▒▒▒▒▒


This is a clear example of the first two rules of water movement.

  • 1. Fluids move down
  • 2. Fluids spread out to the sides

There is however a third rule which greatly complicates everything. And that is fluids moving under Template:L. Fluids moving under pressure can both teleport, and be pushed back up to fill tiles above as well as below and to the sides. Also fluids that are teleporting under pressure still only generates flow in the source and destination tiles which counter-intuitively leaves all the tiles it pushed through untouched and not flowing.

Fluid Teleportation

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.

Natural Flow

Many water sources such as Template:Ls and Template:Ls 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 Template:L.

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.

Obstructions

Water can be stopped by most solid tiles. These include Template:Ls and Template:Ls as well as closed Template:Ls, Template:Ls, and Template:Les. Exceptions are vertical Template:Ls, vertical Template:L, and Template:Ls, 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, Template:Ls can evaporate at greater depths.