Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Mechanics: Hydraulics  (Read 957 times)

Gazz

  • Bay Watcher
    • View Profile
Mechanics: Hydraulics
« on: February 26, 2010, 01:15:48 pm »

While the term "hydraulics" comes up a few times, no other thread contains anything beyond "oh yeah, and hydraulics".
There was some discussion about different kinds of pumps but no solid reason to replace the current "screw pump". High pressure pumps (the only argument for replacing them) are not really medieval.


Mind you, this here is not about steam-powered battle mechs and space ships. There are plenty of threads about that.

So just... hydraulics.

The game already knows water pressure and there are ways to regulate it so it's a small step towards making use of it.

What's not there: The ability to define a piston.
Right now, any construction inside the cylinder is firmly connected to the walls and you can build a whole fortress on it.

Since all water pipes and valves (doors, floodgates) in the game are 1 tile, it seems logical to keep any hydraulics on the same level of construction.

A piston should be assigned/built like a room. You mark an area and that is your piston.
A solid level of wall/floor.

Obviously that is more useful for vertical cylinders since you can define a horizontal area just fine but not a vertical area.
However, horizontal cylinders are probably less likely to be used for heavy lifting - the obvious application.
A horizontal cylinder could operate a sliding door (wall) and very little else.

Now vertical cylinders could be used for all kinds of crazy things. From raising / lowering a fighting platform out of melee range to having your whole fortress retract into the ground in case of emergency. Fortress? What fortress? =)

It's probably easier to define a vertical piston differently from a horizontal one. That early definition defines their freedom of movement.
For a vertical cylinder, the piston area and all mobile parts above would need to have a "piston" area assigned as well so they don't stick to the surrounding floors, either.


Now what lifting power would it have?
If we generalise and say that all silicate-based walls have a density of 2 and water has a density of 1 then the lifting power would be
( water pressure levels x piston area ) / 2
That's how many full wall tiles can be lifted.

Your gold walls (density 19) would toss a wrench in the works.
If real densities were used (a possibility with the "new materials") This would be a nightmare to plan.
The obvious solution: we say that the gold walls are in fact 1/9.5 tiles thick so the whole tile has a density of 2. =)
This should be able to be planned by a player, not just by an experienced architect with statics software.

Solid walls and constructions (like fortifications) are counted, floors / furniture / creatures ignored.
Literally counting wall tiles is manageable for a player but a mixed calculation involving every single silken sock would be silly.


Now the tricky bit is to keep the system from oscillating...

The piston moves down one level
  • if all tiles directly below it are 0/7 water

The piston moves up one level
  • if 7/7 water is present below all tiles of the piston floor
  • if the water has enough pressure to move the piston (plus everything on it) up one full floor level

When it does move up, there needs to be a delay because it will be resting on 0/7 well... air.
The water needs time to at least partially fill the space and prevent the "down" condition from becoming true.
That delay is required to prevent oscillation. Either that or magically and instantly transport 1 bucket of water into the cavity - just so it's not completely empty.
Whatever is easier.

The piston would stop it's upward movement when encountering a wall - or running out of pressure to continue.
Yep, that's perfect for a very simple squishy trap but that's only the most basic function and hardly worth the effort.

I could imagine a cargo lift from your siege engine hangar to the outside, for instance, avoiding the movement of bulky machinery through your whole fortress.

Pop-up pill boxes or "turrets" with ballista/catapult. Labyrinths, general rerouting of unwelcome visitors. A drowning trap that is generated by a large floor area sinking and forming a moat.

Crazy maybe, but not steampunkish.
It's just water. =P
Logged
totus vestri castrum es nostrum possessia

Draco18s

  • Bay Watcher
    • View Profile
Re: Mechanics: Hydraulics
« Reply #1 on: February 26, 2010, 02:33:56 pm »

So you're looking for moving walls and elevators?
Logged

flogakid

  • Escaped Lunatic
    • View Profile
Re: Mechanics: Hydraulics
« Reply #2 on: February 26, 2010, 04:47:59 pm »

Err.. I think this is a somewhat different idea seeing as it's using pressure, which is awesome.

I like this idea.
Logged

Mel_Vixen

  • Bay Watcher
  • Hobby: accidently thread derailment
    • View Profile
Re: Mechanics: Hydraulics
« Reply #3 on: February 26, 2010, 06:18:47 pm »

Heck now that i think about it hydraulic zylinders would be a nice addition for dwarf-puters. Say you have 3 different ALUs (arithmetic logic unit) or whatever Stacked you could depending on task exchange them if needed. This would cut down the number of channels etc. which a complicated dwarfputer would need.

The zylinders itself could also work as pumps themselves. A horizontal Hydraulic zylinder would be rather nice then.



Let me give you a simple example:
Step 1Step 2Step 3
         # #
         # #
         # #
 wwwwwwww# #
 #H####### #
 P       F #
 ###########
 
         # #
         # #
         # #
 wwwwwwww# #
 #w####### #
 PwwwwwwwF #
 ###########
 
         #w#
         #w#
         #w#
 wwwwwwww#w#
 #H#######w#
 PPPPPPPPPw#
 ###########
 


w = water
# = walls/floor
H = hatchcover
F = Floodgate
P = Piston


Ok this example moves water 5 tiles up in one go. Now imagine the Piston would be 3 times as wide (horizontal). It would pump 3 times as much water wich would suggest ,with a 1 tile wide outletpipe, you raise the water 15 z-levels. The only disadvantage would be that you would need a power 1 bigger then the total z levels width of the outlet behind the piston.

Reseting the piston itself could be tricky but i have already something in mind that should work. With a couple of preasure-plates this can be done constant pumping can be done - without the need of waterwheels, huge preasure-towers etc. - just powered by gravitation.
« Last Edit: February 26, 2010, 06:21:07 pm by Heph »
Logged
[sarcasm] You know what? I love grammar Nazis! They give me that warm and fuzzy feeling. I am so ashamed of my bad english and that my first language is German. [/sarcasm]

Proud to be a Furry.

Gazz

  • Bay Watcher
    • View Profile
Re: Mechanics: Hydraulics
« Reply #4 on: February 26, 2010, 07:56:21 pm »

Of course you can call it moving walls just like a firing ballista is "moving small trees". =)

Hydraulic switches that open/close several channels simultaneously are very common.
(you're probably talking about something like a sequence control valve. Oh. German engineers talking shop - run for your lives!)
Now if the working part is a perforated board (like for a very early computer) that slides up and down between 2 series of water channels, one switch that opens the main valve would run a whole "program" while series after series of "stored instructions" are executed.

Make it 8 parallel water channels and you have an 8 bit dwarven punch card computer.
1 device.
Now we just have to make it DirectX compatible and we can skip to the "full graphics support" feature.


The piston pump (mono or dual action) is also the classic device to create high pressure... in every shape or form. Usually low volume but high pressure.
Of course, that would open the door to direct control over flow and pressure but that's seriously geeky stuff and won't be appreciated by very many uhh... dwarfitects. =)
(they'd just end up with a 50 z-level pressure fountain in their dining hall. Typical hydraulics mishap...)
I'd consider that a bonus feature, though.
While it would be cool to have it work both ways, I'm not sure the application would be cool enough to warrant the extra effort.
Moving (heavy) stuff is still the main application of hydraulics.


Feature-wise, the addition of hydraulics would be far more interesting than 20 more unique devices such as a blah-trap and a bleh-trap.
It's a flexible technology that can do many different things without any additional code changes.
The players would literally create the devices in-game, using the system.
I think that personally inventing a particular "thing" is far cooler than selecting "Trap No. 13" from the list.


To be honest, I wasn't thinking of such advanced applications but the inner geek will find a way.
For the record: we're not talking steampunk here. (which would be bad hmmkay)
No engines, no steam. Just water. Honest. (and 8 bit CPUs)


« Last Edit: February 26, 2010, 08:42:03 pm by Gazz »
Logged
totus vestri castrum es nostrum possessia

Mel_Vixen

  • Bay Watcher
  • Hobby: accidently thread derailment
    • View Profile
Re: Mechanics: Hydraulics
« Reply #5 on: February 26, 2010, 10:24:21 pm »

The punch card idea is nice too. Would beat my hatchcover clusters in  terms of speed (16*16*32 segmented pipes with timer controled hatches -  works but horrible slow).

Ok that is hackish but i was thinking  on piston aided fluid logic.
 
 


I  think thats pretty much off-topic now. Anyway i second this idea.
« Last Edit: February 26, 2010, 10:38:12 pm by Heph »
Logged
[sarcasm] You know what? I love grammar Nazis! They give me that warm and fuzzy feeling. I am so ashamed of my bad english and that my first language is German. [/sarcasm]

Proud to be a Furry.

Gazz

  • Bay Watcher
    • View Profile
Re: Mechanics: Hydraulics
« Reply #6 on: February 27, 2010, 06:27:40 am »

Parrallel computing? I thought the idea of a dwarven computer was borderline insane but a multi core CPU?
All the dwarven software would have to be rewritten to make use of it!
Logged
totus vestri castrum es nostrum possessia