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.
Editing v0.34:Repeater
Jump to navigation
Jump to search
Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.
You are editing a page for an older version of Dwarf Fortress ("Main" is the current version, not "v0.34"). Please make sure you intend to do this. If you are here by mistake, see the current page instead.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
− | {{quality|Exceptional|11:18, 8 March 2011 (UTC)}} | + | {{quality|Exceptional|11:18, 8 March 2011 (UTC)}}{{av}} |
− | {{av}} | ||
− | + | A '''repeater''' is a device which creates a never-ending cyclic on/off signal-- more technically known as an oscillator. The simplest repeater design is simply a [[dwarf]] pulling a [[lever]] on [[repeat]]-- [[vampire]]s don't even need to take breaks from such a task. However, several automated designs are possible, and they can be made to operate at varying rates. They (usually) use fluid or creatures to trigger [[pressure plate]]s cyclically. | |
As a general warning, always have a way to turn off the repeater, and/or allow your dwarves later access for repairs or modifications. | As a general warning, always have a way to turn off the repeater, and/or allow your dwarves later access for repairs or modifications. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===Wave repeater=== | ===Wave repeater=== | ||
− | + | The simplest (non-borg) repeater is simply a wave traveling through a channel, as described in this [http://www.bay12forums.com/smf/index.php?topic=68659.0 forum] post. | |
{{diagram|spaces=yes|\ | {{diagram|spaces=yes|\ | ||
╔══════╗ ╔══════╗ | ╔══════╗ ╔══════╗ | ||
Line 24: | Line 15: | ||
A single 6/7 water tile flows through the channel, occasionally triggering a pressure plate set to trigger on 0-6/7 water. To get the right amount of water in it, it's simplest to fill it all the way, then designate it as a [[Activity_zone#Water_source|water source]] (and perhaps another location as a [[Activity_zone#Pit/pond|pond]]) until a dwarf takes away a single [[bucket]] full of water. | A single 6/7 water tile flows through the channel, occasionally triggering a pressure plate set to trigger on 0-6/7 water. To get the right amount of water in it, it's simplest to fill it all the way, then designate it as a [[Activity_zone#Water_source|water source]] (and perhaps another location as a [[Activity_zone#Pit/pond|pond]]) until a dwarf takes away a single [[bucket]] full of water. | ||
− | As designed (5 tiles of non-triggering water, 1 tile of triggering water), this setup triggers rapidly, on par with the repeaters described below. Counter-intuitively, making it smaller or removing more water slows the action of the repeater because the pressure plate never gets a chance to recover from triggering, which | + | As designed (5 tiles of non-triggering water, 1 tile of triggering water), this setup triggers rapidly, on par with the repeaters described below. Counter-intuitively, making it smaller, or removing more water, slows the action of the repeater. This is because the pressure plate never gets a chance to recover from its triggering, for which it needs 100 ticks. |
It's possible to make a design that can be easily started and stopped, even one that conserves water, but such systems are complex, when the beauty of this design is its simplicity. If it needs to be stopped for maintenance, one is probably best off simply dropping another bucket of water in it. | It's possible to make a design that can be easily started and stopped, even one that conserves water, but such systems are complex, when the beauty of this design is its simplicity. If it needs to be stopped for maintenance, one is probably best off simply dropping another bucket of water in it. | ||
Line 31: | Line 22: | ||
The traditional repeater design is probably this [[fluid logic|fluid]]-based one, described on the [http://www.bay12games.com/forum/index.php?topic=33563.msg495183#msg495183 forum] by [http://www.bay12games.com/forum/index.php?action=profile;u=16168 AncientEnemy]): | The traditional repeater design is probably this [[fluid logic|fluid]]-based one, described on the [http://www.bay12games.com/forum/index.php?topic=33563.msg495183#msg495183 forum] by [http://www.bay12games.com/forum/index.php?action=profile;u=16168 AncientEnemy]): | ||
− | + | ≈≈≈≈≈ - infinite source of water | |
− | + | ═╗≈╔═ - wall to channel out after construction | |
− | + | ╠F╣ - shutoff floodgate ''(linked to exterior lever)'' | |
− | ║#║ | + | ║#║ - 1-tile drawbridge (linked to pressure plate) |
− | + | ║p┼ - pressure plate (set to 7-7 water), and access door | |
− | + | ╠F╣ - floodgate (linked to pressure plate) | |
╚═╝ | ╚═╝ | ||
− | |||
So long as the shutoff [[floodgate]] isn't closed, [[water]] from an infinite source flows on to the pressure plate, causing the raising [[bridge]] to block access to the water source and destroy water in the circuit, while the opening of the southern floodgate compensates for the space taken up by this bridge. This water destruction mechanic means that, unlike many fluid logic circuits, this repeater needs no drainage. The single pressure plate works both to regulate the repeater, and as output. | So long as the shutoff [[floodgate]] isn't closed, [[water]] from an infinite source flows on to the pressure plate, causing the raising [[bridge]] to block access to the water source and destroy water in the circuit, while the opening of the southern floodgate compensates for the space taken up by this bridge. This water destruction mechanic means that, unlike many fluid logic circuits, this repeater needs no drainage. The single pressure plate works both to regulate the repeater, and as output. | ||
Line 49: | Line 39: | ||
Designs based on [[creature logic]] are also possible. The following example is compact, reliable, and fairly predictable. | Designs based on [[creature logic]] are also possible. The following example is compact, reliable, and fairly predictable. | ||
− | + | {{diagram|spaces=yes|\ | |
╔═╗ | ╔═╗ | ||
− | ═══╝[#FF0] | + | ═══╝[#FF0]¢╚══ |
− | [#F00]p[#FF0]¢^¢[#00F]¢[#F0F][ | + | [#F00]p[#FF0]¢[#FF0]^[#FF0]¢[#00F]¢[#F0F][#00F]^[#00F]¢[#F00]p |
− | ══╗[#00F] | + | ══╗[#00F]¢╔═══ |
− | ╚═╝ | + | ╚═╝ }} |
− | |||
A captured goblin placed between the two pressure plates drives this system in his attempts to reach map edge through paths {{Raw Tile|¢p|#F00|#000}}. {{Raw Tile|^|#FF0|#000}} is linked to all {{Raw Tile|¢|#FF0|#000}}, and {{Raw Tile|^|#F0F|#00F}} is linked to all {{Raw Tile|¢|#00F|#000}}, as well as to output. This gives the goblin a path away from his constrained tile every 100 ticks. Delays in picking up path tend to make it run a cycle every 250 ticks. with on and off signals separated by about 120 ticks. Its rate of repetition can be doubled by hooking both {{Raw Tile|^|#FFF|#000}} to output, although this leads to close placement of on and off signals. | A captured goblin placed between the two pressure plates drives this system in his attempts to reach map edge through paths {{Raw Tile|¢p|#F00|#000}}. {{Raw Tile|^|#FF0|#000}} is linked to all {{Raw Tile|¢|#FF0|#000}}, and {{Raw Tile|^|#F0F|#00F}} is linked to all {{Raw Tile|¢|#00F|#000}}, as well as to output. This gives the goblin a path away from his constrained tile every 100 ticks. Delays in picking up path tend to make it run a cycle every 250 ticks. with on and off signals separated by about 120 ticks. Its rate of repetition can be doubled by hooking both {{Raw Tile|^|#FFF|#000}} to output, although this leads to close placement of on and off signals. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Clock Generation== | ==Clock Generation== | ||
− | Although the law of big numbers means that, over large enough intervals, the | + | Although the law of big numbers means that, over large enough intervals, the preceding irregular repeaters can be used to run a clock, designs that generate perfect clock signals are also possible. |
− | This [[mechanical logic|mechanical]]-fluid hybrid repeater | + | This [[mechanical logic|mechanical]]-fluid hybrid repeater will send regular signals at a frequency determined by the speed of pressure plate recovery. The basic design consists of 4 [[screw pump]]s and 4 pressure plates but other versions are possible, depending on the number of separate steps you need. |
Line 121: | Line 96: | ||
===Delay=== | ===Delay=== | ||
− | Clock generation is closely related to the concept of delay: making a signal reach a target a certain amount of time after it is created. Any non-mechanical circuit introduces delay in a signal-- the simplest form of delay is an identity gate. The clock signal generator described above is | + | Clock generation is closely related to the concept of delay: making a signal reach a target a certain amount of time after it is created. Any non-mechanical circuit introduces delay in a signal-- the simplest form of delay is an identity gate. The clock signal generator described above is unique in that it introduces a consistent delay. Any consistent delay can be used for clock generation. There are three known consistent intervals in Dwarf Fortress with which to fashion a clock signal generator: the reset delay associated with a pressure plate sending a ''close'' signal; the rate with which a creature [[gravity|falls]]; and the amount of time that a screw pump will continue to pump after losing power. Any (or all) of these delays can be involved in a clock signal generator. |
{{Category|Constructions}} | {{Category|Constructions}} | ||
{{Category|Computing}} | {{Category|Computing}} |