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 User:Jyppa/Clock

Jump to navigation Jump to search

Warning: You are not logged in.
Your IP address will be recorded in this page's edit history.


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:
 +
=Work in progress, needs illustration and proper crediting=
 +
 
==An accurate water clock==
 
==An accurate water clock==
  
Line 7: Line 9:
 
The repeater is a series of pumps pushing a single tile of water in circles. At each step along the way, a pressure plate is depressed, and the next pump in sequence is disconnected, leading to a 100 step delay between jumps, the exact reset time of a pressure plate. By extending the cycle to cover 1200 steps, one dwarf day, and synchronizing it with the game calendar, you will have created the foundation for a fully accurate, robust and compact clock, that can be designed to trigger certain fortress function at set intervals. For details on how to construct the basic repeater, refer to [[User:MrFake/NStepCyclicRepeater|the original design by MrFake]] or [[User:Hussell/ClockRepeater|Hussell's version]]. Each repeater needs to be powered separately.
 
The repeater is a series of pumps pushing a single tile of water in circles. At each step along the way, a pressure plate is depressed, and the next pump in sequence is disconnected, leading to a 100 step delay between jumps, the exact reset time of a pressure plate. By extending the cycle to cover 1200 steps, one dwarf day, and synchronizing it with the game calendar, you will have created the foundation for a fully accurate, robust and compact clock, that can be designed to trigger certain fortress function at set intervals. For details on how to construct the basic repeater, refer to [[User:MrFake/NStepCyclicRepeater|the original design by MrFake]] or [[User:Hussell/ClockRepeater|Hussell's version]]. Each repeater needs to be powered separately.
  
To create the clockwork for the simplest possible year cycle, you will need four repeaters, of 14, 14, 8 and 6 steps respectively, corresponding to hours, months, days and weeks in that order. The excess steps are necessary for holding the trigger plate that activates another repeater at the end of the cycle, thus allowing 12*100 steps to increase a single step on the "days" counter, etc. If you wish to build a clock on these specifications, you should start by constructing you basic timekeeping cycle, the 12-step repeater that cycles each day. Remember to add the two extra pumps to allow for the trigger mechanism.
+
To create the clockwork for the simplest possible year cycle, you will need four repeaters, of 14, 14, 8 and 6 steps respectively, corresponding to hours, years, days and weeks in that order. The excess steps are necessary for holding the trigger plate that activates another repeater at the end of the cycle, thus allowing 12*100 steps to increase a single step on the "days" counter, etc. If you wish to build a clock on these specifications, you should start by constructing you basic timekeeping cycle, the 12-step repeater that cycles each day. Remember to add the two extra pumps to allow for the trigger mechanism.
  
 
[Illustrate and explain in more detail how the trigger is set up]
 
[Illustrate and explain in more detail how the trigger is set up]
Line 25: Line 27:
 
===Expanding the system===
 
===Expanding the system===
  
The clock function is actually a very specific use of repeater-based "dwarfputing". Since you now know the principles of triggered increments, you can create new repeater cycles counting anything from a few hours to millennia without too much effort. Suppose, for example, that you wish to open the inner sanctum of your grand temple of Armok only for one week every 77 years, say week 3 of Galena. What you would do is find the ''lowest prime factors'' of 77, being 7 and 11. Then you would build two new cycles counting those numbers (feel free to use them for other things as well, they serve just as well as 7 and 11 year cycles once built), remembering to make place for a trigger plate in each cycle, thus making them effectively 8 and 12 steps long. Next connect the year increase trigger to both resistor chambers, making both increase by one each year.  
+
The clock function is actually a very specific use of repeater-based "dwarfputing". Since you now know the principles of triggered increments, you can create new repeater cycles counting anything from a few hours to millennia without too much effort. Suppose, for example, that you wish to open the inner sanctum of your grand temple of Armok only for one week every 77 years, say week 3 of Galena. What you would do is find the ''lowest prime factors'' of 77, being 7 and 11. Then you would build two new cycles counting those numbers (feel free to use them for other things as well, they serve just as well as 7 and 11 year cycles once build), remembering to make place for a trigger plate in each cycle, thus making them effectively 8 and 12 steps long. Next connect the year increase trigger to both resistor chambers, making both increase by one each year.
 +
 
 +
Next, design your temple entrance. Exactly how you wish to have it open/close/sacrifice children is up to you, but if it's very complex, you might have to be innovative with the triggering mechanism. Lastly, connect the plate representing the third week of the month, the plate representing the month of Galena and both end points of the 7 and 11 year cycles to a logic equivalent of week AND month AND year AND year. You can use regular AND gates for this (see [[computing]]), or use something like the simplified logic system described below. In the original thread, Kidiri drew up a basic schematic for a similar system, which illustrates the basic concept.  
  
Next, design your temple entrance. Exactly how you wish to have it open/close/sacrifice children is up to you, but if it's very complex, you might have to be innovative with the triggering mechanism. Lastly, connect the plate representing the third week of the month, the plate representing the month of Galena and both end points of the 7 and 11 year cycles to a logic equivalent of week AND month AND year AND year. You can use regular AND gates for this (see [[computing]]), or use something like the simplified logic system described below. In the original thread, Kidiri drew up a basic schematic for a similar system, which illustrates the basic concept.
+
===Some examples of Fun things to do with your new toys===
  
Another way to link everything up, is by linking the year increase trigger to only one resistor chamber, say that one of the 11-year cycle. If you then link the 11 year trigger to the resistor chamber of the other cycle (in this case, the 7-cycle), that will only trigger after it's been triggered 7 times. For this, the 11 cycle needs to go round 7 times. For this, the year cycle needs to go around 11 times for one 11 cycle or 11 times 7, 77 times. Which corresponds to 77 years. Instead of linking both the 7 and the 11 cycles, in combination with the week and month cycle, only link the trigger of the last cycle (in this case, the 7 cycle) with your entrance. In the given example, you want it to happen in week 3 of Galena, every 77 years. So, it should be in week 3 AND in month 6 (Galena) AND when the plate of the 7 cycle has been trigged. From there on, it's a 'simple' use of logic gates.
+
[Put best ideas from suggestion thread here.]
  
 
==Simplified mechanical logic==
 
==Simplified mechanical logic==

Please note that all contributions to Dwarf Fortress Wiki are considered to be released under the GFDL & MIT (see Dwarf Fortress Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)