Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2

Author Topic: Dwarfputing advice - for bathhouse waterwerks  (Read 3821 times)

emodwarf

  • Bay Watcher
    • View Profile
Dwarfputing advice - for bathhouse waterwerks
« on: September 06, 2017, 02:53:25 pm »

I've constructed a wonderful bathhouse for my dorfs to be amazed and also clean themselves if they like. It is comprised of an 11x11 recessed pool of water and has a circulating shower entrance and 5-point circulating waterfall over the pool. Initially, I have attempted to use fluid logic to maintain 2-level water in the pool. This is working OK, but it's slow to respond and the logic systems assigned to the pressure sensors get confused from time-to-time. I've occasionally checked in on it only to discover the pool being drained despite the logic systems being in a state not to.

My thought is to redesign the waterwerks logic to utilize machines instead of fluids. I have an advanced system I'd like to implement, but I think building it using a full adder/subtracter (which I can technically accomplish) is a bit more complicated than I'd like. I suspect there's a much easier method of designing this system than full-bore logic gates.

The Design
- Each corner of the bath pool contains an inner and outer sensor.
- Inner sensors trigger on water levels 0-1 (for adding water)
- Outer sensors trigger on water levels 3-7 (for draining water)
- Add up each inner sensor, then subtract each outer sensor
- The resulting "sum" determines whether water will be added or drained
   - If the sum >=2 then add water
   - If the sum <=-2 then drain water

I was hoping to make some sort of accumulator that didn't necessarily rely directly on logic, such as firing minecarts onto a track to act as the "sum" and somehow removing them when subtracted, but I'm not seeing it yet. I would like it to be fast, so fluid logic is out.

Does anyone have any ingenious ideas on how to make this?
Logged

bloop_bleep

  • Bay Watcher
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #1 on: September 06, 2017, 04:57:28 pm »

You could do this sort of thing:
Code: [Select]
╔/╚/╝/╗/╠/╣ -- track
- -- power supply
D -- door
^ -- north-pushing roller
v -- south-pushing roller
█ -- wall

████
█╔╗█
-^╣█
█DD█
█╠v-
-^╣█
█DD█
█╠v-
█╚╝█
████
You can chain the above as many times as necessary. Each "chamber" of the design corresponds to a number. By toggling the doors you allow the minecart to pass between the chambers, allowing it to repeatedly trigger the pressure plate inside. Try to make the minecart go slow so that it doesn't fly through multiple chambers at once.
Logged
Quote from: KittyTac
The closest thing Bay12 has to a flamewar is an argument over philosophy that slowly transitioned to an argument about quantum mechanics.
Quote from: thefriendlyhacker
The trick is to only make predictions semi-seriously.  That way, I don't have a 98% failure rate. I have a 98% sarcasm rate.

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #2 on: September 06, 2017, 08:06:25 pm »

Why not just maintain constant 2/7 fluid amount by recycling the fluid? RP value?

Minecart track positions can be used as accumulator indeed; done it for repeaters. Just got to have a way to reset to starting position.
« Last Edit: September 06, 2017, 08:08:54 pm by Fleeting Frames »
Logged

bloop_bleep

  • Bay Watcher
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #3 on: September 06, 2017, 10:20:18 pm »

Why not just maintain constant 2/7 fluid amount by recycling the fluid? RP value?

Minecart track positions can be used as accumulator indeed; done it for repeaters. Just got to have a way to reset to starting position.

In my design, you could just hold open the doors on the left until the the minecart finds its way into the very bottom chamber.
« Last Edit: September 06, 2017, 10:26:13 pm by bloop_bleep »
Logged
Quote from: KittyTac
The closest thing Bay12 has to a flamewar is an argument over philosophy that slowly transitioned to an argument about quantum mechanics.
Quote from: thefriendlyhacker
The trick is to only make predictions semi-seriously.  That way, I don't have a 98% failure rate. I have a 98% sarcasm rate.

emodwarf

  • Bay Watcher
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #4 on: September 07, 2017, 09:09:02 am »

Thanks! I'll test this concept out with !!SCIENCE!! and report back!  :)
Logged

emodwarf

  • Bay Watcher
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #5 on: September 07, 2017, 11:33:52 am »

Hmmm... this is tricky. The issue I have is that bath water pressure sensors can trigger in a random way, so there's no procedural method of directing the cart appropriately to the next lower/upper chamber in a sequential order. There would have to be something additional to control the doors correctly. It's this additional something I'm trying to design. The minecart chambers do have some merits, however, such as a method to advance and return the cart - some good ideas there. I'll have to think on it some more and see if I can build something that works.
Logged

Skullsploder

  • Bay Watcher
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #6 on: September 16, 2017, 05:58:34 pm »

Figured out a pretty good system I'd say, using only mechanical stuff, no fluids involved. But you will need access to a very steady source of power (I suspect you have this because you have a mist generator). You will need two almost identical circuits of this pattern:
Code: [Select]
  P
  |
=IGO
=IGO
=IGO
=IGO
  |
  S
Where I, G, and O are all gear assemblies, each I is linked to one and only one of the inner plates, O's are similarly linked to the outer plates and G not linked to anything.
= is a horizontal which inputs exactly 10 net power into the system
| is a vertical axle
P is a power source that provides the exact amount of power consumed by all the G gears and vertical axles, but, IMPORTANTLY, NOT that consumed by the other gears, or by S.
S is a pump feeding water into the pool.

All the I and O gear assemblies are linked up to a lever and that lever is pulled, such that their default state is OFF.
Note that the system will be exactly 10 power short of activating the pump. When an inner plate is triggered, one of the I gears will switch to the ON state and introduce 10 power into the system, 5 of which is drained by the newly activated assembly for a net gain of 5. Conversely, each outer plate triggered turns on one of the superfluous O gear assemblies and drains 5 power from the system. Thus you need 2 more triggered inner plates than outer plates to activate the pump, and only under this condition can the pump input water into the pool.

Conversely, to remove water from the pool, you make the exact same circuit but flip the positions of the I and O gears, and have the pump pumping out of the pool.

Also note that the vertical axles are just a way of representing power transfer to and from S and P, the power can follow whatever (linear!) route you want, you just need to ensure that P provides exactly the amount of power that this route consumes.

EDIT: Also very important to note that you need a separate source of power for every input into the system, and it needs to be isolated from your main power source too. And you need to make absolutely sure that there is no linkage between the draining and filling circuits whatsoever.
« Last Edit: September 16, 2017, 06:07:13 pm by Skullsploder »
Logged
"is it harmful for my dwarves ? I bet it is"
Always a safe default assumption in this game 

emodwarf

  • Bay Watcher
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #7 on: September 18, 2017, 03:57:59 pm »

Wow - I'm stunned by this! You absolutely understand the machine logic utilized in the game. I've had some time to study this design, and I can make use of it. It will take some days to actually build it in-game and test it out. I'll post my final design (or failure).

Thanks!  :)
Logged

Skullsploder

  • Bay Watcher
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #8 on: September 18, 2017, 05:06:35 pm »

Wow - I'm stunned by this! You absolutely understand the machine logic utilized in the game. I've had some time to study this design, and I can make use of it. It will take some days to actually build it in-game and test it out. I'll post my final design (or failure).

Thanks!  :)

My pleasure! I'm very keen to see your results, and I hope it works :D I don't think I've seen anyone else use this sort of adding system before, and it may potentially be quite a bit quicker for dwarfputing in general than conventional adding systems.
Logged
"is it harmful for my dwarves ? I bet it is"
Always a safe default assumption in this game 

Quarque

  • Bay Watcher
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #9 on: September 18, 2017, 06:37:57 pm »

Instead of draining excess water with a pump, you might want to dig a channel that ends in fortifications at the edge of the map. Draining water into the channel will clean the water of contaminants like blood. You can use a grate to prevent dwarves from being sucked into the channel and a floodgate linked to a pressure plate to regulate the waterlevel.
Logged

Skullsploder

  • Bay Watcher
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #10 on: September 19, 2017, 01:57:56 am »

How will it clean the water of blood? As far as I've been able to tell, water flow duplicates contaminants rather than moving them. Besides, if the pool has one main entry point and the fort consistently has some idlers then the dwarves should keep it relatively clean on their own.
Logged
"is it harmful for my dwarves ? I bet it is"
Always a safe default assumption in this game 

Quarque

  • Bay Watcher
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #11 on: September 19, 2017, 03:03:02 am »

Well I didn't try it myself, but I read about it. Needs testing, then.

Here is my source:
reddit.com/r/dwarffortress/comments/o7i6b/behold_the_dwarven_shower/
Logged

Fleeting Frames

  • Bay Watcher
  • Spooky cart at distance
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #12 on: September 19, 2017, 06:22:57 am »

Water flow - including permaflow with otherwise still 3/7 water - can not only multiply, but also carry off contaminants. For quick-to-test example, when fish go over the waterfall their blood will splatter at bottom, and be carried off(typically into walls, since rivers aren't straight, but otherwise into map edge).

Skullsploder

  • Bay Watcher
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #13 on: September 19, 2017, 10:11:28 am »

Water flow - including permaflow with otherwise still 3/7 water - can not only multiply, but also carry off contaminants. For quick-to-test example, when fish go over the waterfall their blood will splatter at bottom, and be carried off(typically into walls, since rivers aren't straight, but otherwise into map edge).

Huh. Last time I'd done any reading about it, there was a bug where contaminants would propagate infinitely without being carried off their home tile when subjected to water flow, but now that I think about it it's been a while since I've seen a riverbed remain contaminated. Although in a situation like emodwarf's, one probably wants clean walls so I'd say carrying off contaminants with fluid flow is a moot point, since you'll need dwarves to clean it anyway whenever contaminants get on the walls.

Also just had a thought about the system I gave: it might be a good way to have a drowning (or magma) trap trigger automatically and only when appropriate damage would be done, e.g. in a corridor, have a ton of plates linked up to a similar system so that when at least, say, 10 plates are active, it starts pumping water into said corridor, and have an inverted system start pumping out as soon as none of the plates are triggered. Perhaps with a plate directly in front of the pump input set to detect fluids and seal off the corridor whenever there is at least 2/7 fluid on the plate. Could also work for freezing traps, or even obsidianizing traps.
Logged
"is it harmful for my dwarves ? I bet it is"
Always a safe default assumption in this game 

emodwarf

  • Bay Watcher
    • View Profile
Re: Dwarfputing advice - for bathhouse waterwerks
« Reply #14 on: September 19, 2017, 11:02:22 am »

Here's my initial design:

Code: [Select]
          P=r
          | *
 *==W====r| 
 **      || 
         || 
*===W==r I*O
**     r=I*O
      r==I*O
*===W=r  I*O
**       ||#
         |rRr
 *==W====r ^r
 **        Rr
           #

I are input gears
O are output gears
* are gears
W are gears under windmills that provide 40 power
P is also a gear under a windmill
| and = are axles
r are rollers
R are rollers on a N/S minecart track
^ is a pressure plate on the minecart track
# are walls, terminating the N/S track


I'm using the minecart track, located between the # symbols, to provide a power-to-signal conversion. Water is added to the bathhouse via a floodgate that is connected to the pressure plate.

Obviously, there are many superfluous axles and gears to provide the proper load to the machine circuits.

Now on to !!SCIENCE!! to actually build and test this monstrosity!
Logged
Pages: [1] 2