Courant (flow)
Le courant est une mécanique de jeu pour simuler le mouvement de fluides. Les deux fluides dans le jeu actuellement sont l'eau et le magma. Les fluides avec un courant sont symbolisés par une case qui alterne entre un ≈
et un ~
. Si vous avez l'option SHOW_FLOW_AMOUNT activée (dans le fichier d_init.txt) vous verrez la profondeur du liquide de 1
à 7
au lieu, et ce sera moins évident de savoir s'il y a un courant ou non. Il y en a quasiment à chaque fois qu'un fluide se déplace, mais quelques exceptions peuvent être trompeuses.
Notez que le magma n'a pas l'air d'avoir de courant dans cette version. Le magma suit les mêmes règles de déplacement des fluides, mais pas d'une façon qui puisse entraîner une roue à aube.
Sommaire
- 1 Déplacement simple des fluides
- 2 Fluids under pressure, aka Teleportation
- 3 Fluid Displacement by Cave-in, aka Pistons
- 4 Fluids under pressure, aka Teleportation
- 5 Fluid Displacement by Cave-in, aka Pistons
- 6 Natural Flow
- 7 Fluid Depth
- 8 Obstructions
- 9 Evaporation
- 10 Bugs
- 11 Natural Flow
- 12 Fluid Depth
- 13 Obstructions
- 14 Evaporation
- 15 Bugs
Déplacement simple des fluides
L'eau et le magma se déplacent d'une même façon, en suivant quelques règles simples. La différence entre les deux est que le magma ne réagit pas pareil avec de la pression.
Les fluides se déplacent plus ou moins de la façon dont on s'y attend: ils tombent s'ils le peuvent, ou s'étalent sur les cotés. Ils peuvent couler en diagonal sur un niveau, mais jamais vers le coté et vers le bas en même temps. En déplacement simple de fluides, ils ne remontent jamais, mais ils peuvent sembler le faire si de la pression est impliquée.
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 to being non-flowing water. Falling water does not generate flow, so only the 3rd example will result in flow (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
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 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 do not generate any flow, neither will they push objects around.
Modèle:Diagram 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 make water flow slower (they block pressure, forcing it to only spread out sideways), 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.
Fluid Displacement by Cave-in, aka Pistons
- (see also magma piston)
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.
A natural wall of any material falling onto both water or magma will teleport each tile of displaced fluid to open space directly above it, leaving 1 additional tile of open space directly above the wall itself:
Start Step 1 Step 2 ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ I ▒ Collapse ▒ ▒ Fluid ▒ ▒ ▒ ▒ ▒ -----------> ▒ 7 ▒ -----------> ▒ ▒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 to being non-flowing water. Falling water does not generate flow, so only the 3rd example will result in flow (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
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 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 do not generate any flow, neither will they push objects around.
Modèle:Diagram 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 make water flow slower (they block pressure, forcing it to only spread out sideways), 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.
Fluid Displacement by Cave-in, aka Pistons
- (see also magma piston)
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.
A natural wall of any material falling onto both water or magma will teleport each tile of displaced fluid to open space directly above it, leaving 1 additional tile of open space directly above the wall itself:
Start Step 1 Step 2 ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ I ▒ Collapse ▒ ▒ Fluid ▒ ▒ ▒ ▒ ▒ -----------> ▒ 7 ▒ -----------> ▒ ▒ ▒ ▒ Support ▒ ▒ Spreads ▒232▒ ▒▒7▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒
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 ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ I ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ 7 ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ Collapse ▒ 7 ▒ ▒ Fluid ▒ ▒ ▒ ▒ ▒ ▒ -----------> ▒ ▒ ▒ -----------> ▒545▒ ▒ ▒▒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 ▒ ▒ ▒ ▒ ▒ ▒ 7 7 ▒ ▒ ▒ ▒ ▒ z-3 ▒ ▒ ▒ ▒ ▒ Collapse ▒ 7 7 ▒ ▒ Fluid ▒ ▒ ▒ z-4 ▒ ▒?▒ -----------> ▒ ▒?▒ -----------> ▒55455▒?▒ z-5 ▒▒777▒▒7▒ Support ▒▒▒7▒▒▒7▒ Spreads ▒▒▒7▒▒▒7▒ z-6 ▒▒777777▒ ▒▒▒7▒777▒ ▒▒▒7▒777▒ z-7 ▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒
z-3 Top View z-5 Top View z-3 Top View (Step 1) z-4 Top View (Step 2) ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒ ▒ ▒▒▒▒▒▒▒ ▒ ▒ ▒44544▒ Axis ▒ ▒▒▒ ▒▒▒ ▒▒777▒▒▒▒ ▒ 777 ▒▒▒ ▒45554▒▒▒ Axis --------▒ ▒ ▒ ▒ ▒--------------▒▒777▒▒7▒--------------▒ 7 7 ▒?▒---------------▒55455▒?▒-------- Cut ▒ ▒▒▒ ▒▒▒ ▒▒777▒▒▒▒ ▒ 777 ▒▒▒ ▒45554▒▒▒ Cut ▒ ▒ ▒▒▒▒▒▒▒ ▒ ▒ ▒44544▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒
This example 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 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.
Naturally flowing water, depending on its environment, flows in a specific direction - when SHOW_FLOW_AMOUNTS is disabled, water which flows directly into a wall will flash white while other water remains blue. This flow direction is important to note, since it affects the operation of water wheels: water which flows directly north or south will not power an east/west-aligned water wheel, and the opposite is also true. Diagonally flowing water, however, works for everything.
Fluid Depth
Modèle:Main
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
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
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
- Items pushed by flowing water may disappear
Bug signalé !
{{{description}}} |
- Flowing water seems to cause contaminants to multiply
Bug signalé !
{{{description}}} |
▒ ▒ Support ▒ ▒ Spreads ▒232▒ ▒▒7▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒
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 ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ I ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ 7 ▒ ▒ ▒ ▒ ▒ ▒ ▒ ▒ Collapse ▒ 7 ▒ ▒ Fluid ▒ ▒ ▒ ▒ ▒ ▒ -----------> ▒ ▒ ▒ -----------> ▒545▒ ▒ ▒▒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 ▒ ▒ ▒ ▒ ▒ ▒ 7 7 ▒ ▒ ▒ ▒ ▒ z-3 ▒ ▒ ▒ ▒ ▒ Collapse ▒ 7 7 ▒ ▒ Fluid ▒ ▒ ▒ z-4 ▒ ▒?▒ -----------> ▒ ▒?▒ -----------> ▒55455▒?▒ z-5 ▒▒777▒▒7▒ Support ▒▒▒7▒▒▒7▒ Spreads ▒▒▒7▒▒▒7▒ z-6 ▒▒777777▒ ▒▒▒7▒777▒ ▒▒▒7▒777▒ z-7 ▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒
z-3 Top View z-5 Top View z-3 Top View (Step 1) z-4 Top View (Step 2) ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒ ▒ ▒▒▒▒▒▒▒ ▒ ▒ ▒44544▒ Axis ▒ ▒▒▒ ▒▒▒ ▒▒777▒▒▒▒ ▒ 777 ▒▒▒ ▒45554▒▒▒ Axis --------▒ ▒ ▒ ▒ ▒--------------▒▒777▒▒7▒--------------▒ 7 7 ▒?▒---------------▒55455▒?▒-------- Cut ▒ ▒▒▒ ▒▒▒ ▒▒777▒▒▒▒ ▒ 777 ▒▒▒ ▒45554▒▒▒ Cut ▒ ▒ ▒▒▒▒▒▒▒ ▒ ▒ ▒44544▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒▒▒
This example 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 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.
Naturally flowing water, depending on its environment, flows in a specific direction - when SHOW_FLOW_AMOUNTS is disabled, water which flows directly into a wall will flash white while other water remains blue. This flow direction is important to note, since it affects the operation of water wheels: water which flows directly north or south will not power an east/west-aligned water wheel, and the opposite is also true. Diagonally flowing water, however, works for everything.
Fluid Depth
Modèle:Main
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
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
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
- Items pushed by flowing water may disappear
Bug signalé !
{{{description}}} |
- Flowing water seems to cause contaminants to multiply
Bug signalé !
{{{description}}} |