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.

User:Hussell/Repeater

From Dwarf Fortress Wiki
< User:Hussell
Revision as of 15:28, 26 November 2009 by Hussell (talk | contribs) (added sections)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

101 Step Repeater

Z-level +1 Z-level 0 Z-level -1
. % % ¢
*
2 % % ^
*
2

%% is an active screw pump, pumping from the bright end to the dark end. ^ is a 2-7 pressure plate which turns gear * off and opens hatch ¢. There is solid floor between the two pumps (meaning that no power is transmitted between them), but no floor between the two gears. The upper screw pump must be constructed before the lower screw pump.

That last requirement may seem a little odd. Here's what you need to know: every turn, screw pumps attempt to pump water in the order opposite to the order they were built in. If a pump stack is built from bottom to top, it will pump water one level per step. But if it's built from top to bottom, it will pump water from the bottom to the top in one step. In particular, any pressure plates on the intermediate levels will not be activated. This is how this design gets around the fact that the lower screw pump continues to pump for 50 steps after the lower gear is deactivated.

Why is the plate 2-7? I use a pond zone to put water into the Z-level -1 pit. Screw pumps ignore 1/7 water, but pump 2/7 water completely, so 2 is the minimum amount of water needed to run this machine. Up to 7 will also work, but isn't required. More than 7 may cause spillage, depending on where the accessible spaces are. I have no idea what will happen if there's more than 7 water and no place for it to flow to, but the device will almost certainly malfunction.

Testing reveals that the build order of all the components is important. If the pressure plate is built before the hatch and/or gear, there will be a one step delay between the pressure plate sending a signal and the hatch and/or gear reacting. If the gear is built before the lower screw pump, there will be a one step delay between the gear and pump gaining power and the water being pumped. You want to build things in this order: upper pump, lower pump, gear and hatch, pressure plate. If you do that, you get the following cycle:

Step 1: water in pit, lower gear inactive, hatch open
Step 2: water on plate, lower gear active, hatch closed (CLOSE signal sent)
Step 3: water in shaft, lower gear inactive, hatch open (OPEN signal sent)
Step 52: lower pump pumps nothing this step, water soon rests in pit
Step 102: water in pit, lower gear inactive, hatch open
Step 103: water on plate, lower gear active, hatch closed (CLOSE signal sent)
Step 104: water in shaft, lower gear inactive, hatch open (OPEN signal sent)

So: a 101 step cycle. During 100 of these steps, the hatch is open and the lower gear is inactive. The CLOSE signal is sent and the water is pumped onto the pressure plate at the beginning of the 101st step, and the OPEN signal is sent at the beginning of the 102nd step, which is also the first of the 100 steps during which the hatch is open. Although the lower gear is inactive for 100 steps, the lower pump continues pumping for 50 steps, but the water never touches the plate while the hatch is open if you've constructed the pumps in the correct order. If the other parts are constructed in the wrong order, you'll get a 102 or 103 step cycle.

I believe this is the fastest repeater possible with pressure plates. Best of all, it doesn't require pressurized water, so there's no danger of flooding your fortress. There may be a simpler design, though. This one requires two screw pumps (2 blocks, 2 pipe sections/tubes, and 2 enormous corkscrews), two gears, a pressure plate, and two linkages (7 mechanisms), plus at least 2 mechanisms to link the output to something. 30 power plus however much is needed by the axle is required, so it could be powered by a single windmill, possibly on the surface directly above the upper gear. In any event, at least 3 logs will also be needed (for a waterwheel), and possibly more (4 for a windmill, plus some for axles).


The Quest for a Fast Repeater

These are the designs I tried that did not work. I preserve them here in the hopes that someone may learn from my mistakes.

The goal was to invent a device that triggered a pressure plate in a regular cycle, with no time variability, and a period faster than the standard Repeater, which sends an OPEN signal once every 302 steps and a CLOSE signal on the 201st step, plus a small and variable delay caused by the time the water takes to drain away from the pressure plate.

First Design

This was my first quick design for a door-based repeater:

^ ^

Little-known fact: pressure plates react instantly when their ON condition is met, but require 100 continuous steps of OFF conditions before sending an OFF signal. So the design above doesn't work as desired, because the red plate doesn't close the red door fast enough.

Second Design

This was my second design, using a hatch, and requiring a drainage system:

¢ ^

Where turns the oscillator on and off, and ^ is linked to hatch ¢ and door . Seems to work, with a period slightly over 100 steps, but there's some variability due to the water flow, so I'm fiddling with the drainage system and pressurization.

Actually, the fastest repeater I know of (and the easiest to set up) is "Pull the lever" on infinite repeat. I get about 1 pull every 5 or 6 steps with a perfectly agile dwarf, meaning one OPEN signal every 10-12 steps. Too bad it requires a dwarf.

Third Design

Third design:

Z-level +1 Z-level 0 Z-level -1
% %
*
% % ^
*
*
7

^ is a 7-7 pressure plate which turns the green gear OFF and the red gear ON. There must be solid floor between the two pumps and the red and green gears, and open space between the other two gears. In theory, this should be a perfectly consistent 101 step repeater. The water triggers the pressure plate and instantly gets sucked away. The pressure plate then delays for 100 steps, which should be plenty of time for the water to fall down two squares. After the deactivation of the pressure plate, the pumps should move all the water in 1 tick.

Testing, however, reveals that screw pumps remain active for exactly 50 steps after they lose power. Since the water can fall two squares within 50 steps, it gets pumped onto the pressure plate again, delaying the CLOSE signal by the time it took for the water to fall, which is variable. Back to the drawing board.

Fourth Design

Fourth design:

Z-level +1 Z-level 0
. % % ¢
*
¢ ^

Where is linked to an on/off lever, and ^ is a 7/7 plate linked to hatches ¢, and the screw pump is running continuously, pumping water to the left. The screw pump takes water off the pressure plate instantly, eliminating the variability from draining water off the plate. However, I'm concerned that over-pressurized water will flow over the hatch on Z-level 0 even when it's open, but under-pressurized water won't flow over it fast enough when it's closed.

As I feared, testing showed some problems due to either overflow across the open hatch or variable time to flow across the closed hatch, depending on pressurization. The design also drains an enormous amount of water, since the hatches are open 100 out of 102 steps. But that's OK, because I finally came up with a design that works!