Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Using Water To Knock Creatures Off Tiles  (Read 1698 times)

Corsec

  • Escaped Lunatic
    • View Profile
Using Water To Knock Creatures Off Tiles
« on: November 23, 2009, 01:19:37 am »

How much water is necessary (in both cases of downward vertical and horizontal) to push an invader off of a single tile in the direction of the flowing water?

I'm asking because I'm planning on dropping invaders into a drowning chamber below my entrance, using a pressure plate/s at chokepoints to retract bridges. I want to set up something to also knock the triggering creature off the pressure plate and into the empty space opened under the bridges. In this way my dwarves will never be able to path to invaders, or need to clean bodies. Iron can be recovered by temporarily draining the drowning chamber.

I'm planning on a reservoir above my entrance to drop the water and knock invaders off the pressure plate tiles, and/or to horizontally open the pressure plate tile to a river flowing through my fortress. Plate/s will be high-up in a corner of the approx 20x20x10 drowning chamber, supported by adjacent walls, with the single-tile-width bridges between plate/s and entrance/exit with the drop below it all to the water.

Would one reservoir drainage tile above each pressure plate be enough to wash a creature away with the water flow, assuming sufficient water? Would larger size creatures like megabeasts be more difficult to wash away?

In the horizontal flow scenario, how much would be necessary to push a creature off a tile? In this case, the water source is a 4-width brook rerouted beside the entrance.

Edit: Currently carrying out prototype tests and shall report on results at completion.
« Last Edit: November 23, 2009, 04:14:10 am by Corsec »
Logged

hitto

  • Bay Watcher
    • View Profile
Re: Using Water To Knock Creatures Off Tiles
« Reply #1 on: November 23, 2009, 04:41:49 am »

I have tried it, and find it just simpler to let water flow in slowly. Captives will flee from 6/7 water and go to the next emptier tile until they have to fall, while a flood of 7/7 water rarely moves anything instead of drowning them on the spot.
Logged

martinuzz

  • Bay Watcher
  • High dwarf
    • View Profile
Re: Using Water To Knock Creatures Off Tiles
« Reply #2 on: November 23, 2009, 08:26:27 am »

I think you can best ask Kenbocalrissian, author of this thread:
http://www.bay12games.com/forum/index.php?topic=43395.148
He has made a splendid noble-flusher, viewable by clicking the movie link in the page I just linked to (it is almost at the bottom of the page, post #148)
Logged
Friendly and polite reminder for optimists: Hope is a finite resource

We can ­disagree and still love each other, ­unless your disagreement is rooted in my oppression and denial of my humanity and right to exist - James Baldwin

http://www.bay12forums.com/smf/index.php?topic=73719.msg1830479#msg1830479

Samyotix

  • Bay Watcher
    • View Profile
Re: Using Water To Knock Creatures Off Tiles
« Reply #3 on: November 23, 2009, 10:21:58 am »

I watched dwarves fight valiantly against the floods repeatedly.
(I have a well which takes water from a corner of a waterfall ... dwarves used to get stuck in there, almost directly underneath a 7/7 stack of water being pumped out one level above. (This went on until I designated the Well as a low-traffic zone; that stopped people from falling in so far).

From watching Champions, Champions' babies and the occasional woodcutter trying to escape the water a) try to path through any tile that's 3/7 or lower b) get tossed around like dry leaves and wind up underwater and winded unless you drain the pool ... sorry I can't provide a more coherent answer :)
Logged

KenboCalrissian

  • Bay Watcher
    • View Profile
Re: Using Water To Knock Creatures Off Tiles
« Reply #4 on: November 23, 2009, 05:47:59 pm »

Everything I learned about fluid dynamics, I learned from Kanddak.

My Dwarven Baptism Chamber - or as martinuzz puts it, the Noble Flusher - works by filling a pond that is 2 z-levels deep with 7/7 water (mine actually operates with a bit less, but get it to 7 to be safe) and dumping it on top of a noble suspended precariously in the middle of a bottomless pit.  The second z-level for the pond is key!

Quote
3. 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, it will spread out to adjacent tiles (including diagonally) which have a lower level of water in them. This may move creatures and objects. (I don't know exact rules for where it will go if there are multiple tiles to spread into, though observation of partly-full reservoirs suggests there is some pattern. I also don't know whether objects' masses affects whether they will move.)

So, to look at it from a side view, you have this:

Side view:
Code: [Select]
|~|2
|~|1
|c|
...
.@.
._.
...
...
...
...
...
...
...

~= Water
|= Wall
c= Floor hatch, controlled by whatever you like
.= Open Space
_= Floor
@= Urist McPurplepants

The water from level 1 falls on Urist McPurplepants.  It's not guaranteed that Urist McPurplepants is submerged in 7/7, but that's not necessary.

Next step, the water from level 2 attempts to enter the square currently occupied by the water from level 1 and Urist McPurplepants.  When the tile is filled to 7/7, the remaining water needs to go somewhere, so it goes any other direction it can - this fulfills the bolded condition in the quote above, and causes Urist McPurplepants to get shifted 1 tile aside where there is no longer any floor and a long plummet ahead for him to think about what he's done (likely, absolutely nothing to deserve this).

Here's a direct link to the movie martinuzz is talking about.  This is an active demonstration of what you're looking for.  For an actual view of the construction, check out this point of interest.  You'll be looking at the very top of the construction where the water is; move down about 10 z-levels and you'll see the platform that the water is meant for.
« Last Edit: November 23, 2009, 05:55:39 pm by KenboCalrissian »
Logged
I've never tried it and there's a good chance it could make them freak out.
Do it.
Severedcoils - the Baron Consort accumulation challenge
Severedcoils II: The Reckoning - a DnD 5e Adventure set in the world of Severedcoils

Corsec

  • Escaped Lunatic
    • View Profile
Re: Using Water To Knock Creatures Off Tiles
« Reply #5 on: November 24, 2009, 05:14:45 am »

Thanks for all the helpful replies. Kanddak's Rules, in particular, are very useful. I have some conditions I want to meet before I'm ready to carry out testing, but I'll report results when completed.

Kenbocalrissian, just so I'm clear, are you saying that it's the horizontal motion of the water in the tile of Urist McCuckold which moves him under Rule 3, and the water above him just refills his tile to prolong the pushing? Because that's how I'd apply the rules from my understanding of them.

My confusion about your meaning is from your use of the phrase 'remaining water', ie if you mean the water remaining in the tile above Urist after it fills his tile to 7/7.

I'm not sure if you're actually trying to say that it's actually the movement of the water above him that moves him, because as I understand Kanddak's Rules that water would just refill Urist's tile, and when not doing so would either-

A) teleport diagonally down to the tile beside Urist under Rule 2 'pressure' before falling and thus cannot be the cause of him moving (since Rule 3 isn't used),

 OR

B) move horizontally under Rule 3 and then fall, in which case it'd never enter Urist's tile and so can never move him.

However, I've also read that 7/7 tiles cannot move objects, so I'm not sure how that figures in.
Logged

Kanddak

  • Bay Watcher
    • View Profile
Re: Using Water To Knock Creatures Off Tiles
« Reply #6 on: November 24, 2009, 07:24:43 pm »

You are correct Corsec, further water falling onto the noble once his tile was full of water would just teleport through him.
The reason the noble falls into the pit is that the water in his tile is sitting on a floor, and therefore follows Rule 3 on its turn to move and pushes him off the edge.

Quote
However, I've also read that 7/7 tiles cannot move objects, so I'm not sure how that figures in.
That isn't quite true. 7/7 tiles can move objects when the water diffuses horizontally into adjacent tiles and becomes less than 7/7. The "7/7 water doesn't move things" simplification comes from the facts that water pressure-pathfinding through 7/7 tiles doesn't move objects when you might intuitively expect it to due to your experience with real-world water flows, and 7/7 water surrounded by other 7/7 water never has a chance to spread out and use Rule 3.
Logged
Hydrodynamics Education - read this before being confused about fluid behaviors

The wiki is notoriously inaccurate on subjects at the cutting edge, frequently reflecting passing memes, folklore, or the word on the street instead of true dwarven science.

Corsec

  • Escaped Lunatic
    • View Profile
Re: Using Water To Knock Creatures Off Tiles
« Reply #7 on: November 27, 2009, 11:45:20 am »

Complete success!

Testing horizontal water flow, I found that when opened to a 7/7 water source a dwarf will be knocked off the target tile in the few seconds it takes for the tile he occupies to reach only 3-4/7.

Here's the design I used. It can be extended to each side for as long a distance as required. In my design invaders will have to cross 20-30 tiles of linked reclining bridges on either side of the plate to ensure that they can't outrun the trap, and also that large numbers of invaders can be drowned at once.

Code: [Select]
->SSSSSSSSSSS->
->SSSSSSSSSSS->
->SSSSSSSSSSS->
->SSSSGGGSSSS->
WWWWWWWFWWWWWWW
WWWWWWWCWWWWWWW
WWWWWWWPWWWWWWW
RRRRRRR.RRRRRRR

S=Water source (7/7) flowing left to right
W=Wall
R=Retracting Bridge
P=Pressure Plate
C=Channel (to stop the floodgate from being destroyed by invaders)
F=Floodgate
G=wall Grate
.=Empty Space

I found that the anything passing over the pressure plate tile will not remain there for long enough to act as a reliable trigger. Therefore the pressure plate should be linked to a Permanent Effect Pressure Plate System as below to ensure that once something walks over the plate the trap will reliably activate regardles of how long they remain on it.

http://dwarffortresswiki.net/index.php/Pressure_plate#Permanent_Effect_Pressure_Plate_System

This device is linked to the floodgate and all retracting bridges. When something crosses the pressure plate the trap activates, drops everything standing on the bridges onto a lower level filled with water and uses the floodgate to knock anything standing on the pressure plate down as well (otherwise the pressure plate would be a 'safe' spot).
 
For further refinement the lower level is just more retracting bridges, which can be drained of the water they hold to recover wanted items, then retracted to drop unwanted items and corpses into lava. Or kept open to drop invaders straight to the lava. Naturally, this makes a good obsidian factory.

Hopefully, this should kill off all invaders without requiring any actions on my part except to reset the trap. I wanted something as automated, dwarf-safe and foolproof as possible.
« Last Edit: November 27, 2009, 11:57:56 am by Corsec »
Logged

KenboCalrissian

  • Bay Watcher
    • View Profile
Re: Using Water To Knock Creatures Off Tiles
« Reply #8 on: November 27, 2009, 01:31:29 pm »

Just don't let an injured dwarf or animal fall unconscious on the pressure plate ;)
Logged
I've never tried it and there's a good chance it could make them freak out.
Do it.
Severedcoils - the Baron Consort accumulation challenge
Severedcoils II: The Reckoning - a DnD 5e Adventure set in the world of Severedcoils