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.31:Computing

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.31"). 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 5: Line 5:
 
=== Binary information ===
 
=== Binary information ===
 
Binary information can have one of two possible states: true or false, respectively 1 or 0. In dwarf fortress they can be represented by different entities:
 
Binary information can have one of two possible states: true or false, respectively 1 or 0. In dwarf fortress they can be represented by different entities:
* on/off state or signal of a [[trigger]] (pressure plate, lever)
+
* on/off state or signal of a {{l|trigger|trigger}} (pressure plate, lever)
* power or connection state of a [[machine component]]
+
* power or connection state of a {{l|machine component|machine component}}
* open or closed state of a [[door]] or similar buildings
+
* open or closed state of a {{l|door|door}} or similar buildings
* [[pressure plate|low/high]] or [[flow|flowing/standing]] [[water|fluid]]
+
* {{l|pressure plate|low/high}} or {{l|flow|flowing/standing}} {{l|water|fluid}}
* present [[creature]]s and [[dwarf|borgs]]
+
* present {{l|creature|creature}}s and {{l|dwarf|borgs}}
  
 
Electronic devices and computers base on this elementary form of information, and if you want to go into computing, you’ll have to familiarize yourself with it. [http://en.wikipedia.org/wiki/Propositional_calculus propositional calculus]
 
Electronic devices and computers base on this elementary form of information, and if you want to go into computing, you’ll have to familiarize yourself with it. [http://en.wikipedia.org/wiki/Propositional_calculus propositional calculus]
 
=== Input/Output ===
 
=== Input/Output ===
Input can be any device which can be linked to another device with mechanisms, such as [[lever|levers]] or [[pressure plate|pressure plates]]. Pressure plates can measure water, magma, or creature weight, and can be set to react to your own dwarves if measuring creature weight. If measuring water or magma you specify the minimum and maximum levels at which it should output 'on', and at all other levels it will output an 'off' signal. Regardless of the actual amount of water, magma, or creature weight on your pressure plate, the plate can only output an 'on' or 'off' signal (1 or 0) to whatever devices it is linked to. So everything you build will have a binary base.
+
Input can be any device which can be linked to another device with mechanisms, such as {{l|lever|levers}} or {{l|pressure plate|pressure plates}}. Pressure plates can measure water, magma, or creature weight, and can be set to react to your own dwarves if measuring creature weight. If measuring water or magma you specify the minimum and maximum levels at which it should output 'on', and at all other levels it will output an 'off' signal. Regardless of the actual amount of water, magma, or creature weight on your pressure plate, the plate can only output an 'on' or 'off' signal (1 or 0) to whatever devices it is linked to. So everything you build will have a binary base.
  
 
====Input elements====
 
====Input elements====
* manual: [[lever]] -> binary on/off signal
+
* manual: {{l|lever|lever}} -> binary on/off signal
* triggered: [[pressure plate]] -> binary on/off signal
+
* triggered: {{l|pressure plate|pressure plate}} -> binary on/off signal
  
According to input, output can be anything that is able to react to an on/off signal. This can be doors, bridges, floodgates allowing or stopping flow, gears controlling pumps and much more. In some special configurations - when [[mechanical logic]] is involved - output may not be a on/off signal but power, thus running or not running a machine component.
+
According to input, output can be anything that is able to react to an on/off signal. This can be doors, bridges, floodgates allowing or stopping flow, gears controlling pumps and much more. In some special configurations - when {{l|mechanical logic|mechanical logic}} is involved - output may not be a on/off signal but power, thus running or not running a machine component.
  
Currently to convert from power to an on/off signal, the only way is to use a kind of [[Mechanical_logic#Power_to_signal_converter|power to signal converter]], a screw pump connected to that power source, and a pressure plate to measure whether water is being pumped.
+
Currently to convert from power to an on/off signal, the only way is to use a kind of {{l|Mechanical_logic#Power_to_signal_converter|power to signal converter}}, a screw pump connected to that power source, and a pressure plate to measure whether water is being pumped.
 
<!-- ...screw pump connected to that power source <s>with an unlimited amount of water and drainage at the output</s>, and a pressure plate to measure whether water is being pumped<s> out by the pump</s>. -->
 
<!-- ...screw pump connected to that power source <s>with an unlimited amount of water and drainage at the output</s>, and a pressure plate to measure whether water is being pumped<s> out by the pump</s>. -->
  
 
====Output elements====
 
====Output elements====
* signal: [[pressure plate]] -> binary on/off signal -> linkable Object(s)
+
* signal: {{l|pressure plate|pressure plate}} -> binary on/off signal -> linkable Object(s)
* power: [[gear assembly]] -> binary power on/power off -> machine
+
* power: {{l|gear assembly|gear assembly}} -> binary power on/power off -> machine
  
 
=== Binary logic ===
 
=== Binary logic ===
Line 103: Line 103:
  
 
=== Complex gates ===
 
=== Complex gates ===
* [[Latch]] - storing and reading a single binary value
+
* {{l|Latch|Latch}} - storing and reading a single binary value
* [[Repeater]] - sending a repeating signal
+
* {{l|Repeater|Repeater}} - sending a repeating signal
* [[Counter]]/[[Adder]] - binary calculation
+
* {{l|Counter|Counter}}/{{l|Adder|Adder}} - binary calculation
  
 
== Disciplines ==
 
== Disciplines ==
Line 112: Line 112:
 
The three disciplines are:
 
The three disciplines are:
 
=== Fluid logic ===
 
=== Fluid logic ===
[[Fluid logic]] is controlling the ''flow of fluid'' over different pressure plates. Fluid logic can be easily constructed and every known logic gate in dwarf fortress has already been built with it. On the other hand this discipline depends on a somehow unlimited source of the used fluid to deal with its [[evaporation]] and [[Water#Water in Fortress Mode|destruction]].
+
{{l|Fluid logic|Fluid logic}} is controlling the ''flow of fluid'' over different pressure plates. Fluid logic can be easily constructed and every known logic gate in dwarf fortress has already been built with it. On the other hand this discipline depends on a somehow unlimited source of the used fluid to deal with its {{l|evaporation|evaporation}} and {{L|Water#Water in Fortress Mode|destruction}}.
  
 
=== Mechanical logic ===
 
=== Mechanical logic ===
[[Mechanical logic]] uses systems of axles and [[gear assembly|gear assemblies]] to build logical gates. Mechanical logic reacts very fast and can be easily constructed, except for the need for a fluid-pump-based power->signal converter in every gate. Since every gear can itself be linked to a trigger (or multiple triggers), and automatically connect to adjacent gears for transferring either power or load, mechanical logic gates are very flexible and don't require anywhere near the number of different devices that tend to be used in fluid logic gates (except, again, for the requirement for a fluid-pump-based power->signal converter in every gate, unless you intend to use it to control a pump). On the other hand this discipline uses a LOT of mechanical power, and due to the lack of a power->signal converter, also referred to as a "rotation sensor" (a device to convert from power to on/off link signals), you need to build one using fluid logic components if you want to connect multiple mechanical logic gates together or connect a mechanical logic gate to any output other than a pump.  There is, however, now a fully functional fluid preserving rotation sensor design.  So, in truth, current mechanical logic is more correctly termed mechanical-fluid hybrid logic, as you need some source of fluid to "prime" the rotation sensors your design will need.  Along with new techniques to construct logic gates by "pre-toggling" a gear assembly (see [[Pre-Toggled Mechanical Logic]]), any logical circuit can be built, given enough space in the game to do it.
+
{{l|Mechanical logic|Mechanical logic}} uses systems of axles and {{l|gear assembly|gear assemblies}} to build logical gates. Mechanical logic reacts very fast and can be easily constructed, except for the need for a fluid-pump-based power->signal converter in every gate. Since every gear can itself be linked to a trigger (or multiple triggers), and automatically connect to adjacent gears for transferring either power or load, mechanical logic gates are very flexible and don't require anywhere near the number of different devices that tend to be used in fluid logic gates (except, again, for the requirement for a fluid-pump-based power->signal converter in every gate, unless you intend to use it to control a pump). On the other hand this discipline uses a LOT of mechanical power, and due to the lack of a power->signal converter, also referred to as a "rotation sensor" (a device to convert from power to on/off link signals), you need to build one using fluid logic components if you want to connect multiple mechanical logic gates together or connect a mechanical logic gate to any output other than a pump.  There is, however, now a fully functional fluid preserving rotation sensor design.  So, in truth, current mechanical logic is more correctly termed mechanical-fluid hybrid logic, as you need some source of fluid to "prime" the rotation sensors your design will need.  Along with new techniques to construct logic gates by "pre-toggling" a gear assembly (see {{l|Pre-Toggled Mechanical Logic|Pre-Toggled Mechanical Logic}}), any logical circuit can be built, given enough space in the game to do it.
  
 
=== Animal logic ===
 
=== Animal logic ===
[[Animal logic]] places animals in an enclosed room, with a door blocking the path to where they desire to go, and a pressure plate below a hatch, with obstacles which are controlled by triggers. The animal thinks it can walk through the door, and if it has a path to the door will walk up to it and stand on the hatch. When the hatch is opened by a trigger, it falls onto the pressure plate. As long as the hatch is open, or other obstacles block its path to the door it remains on the pressure plate and the output is 'on'. Once it sees a path to the door it will leave the pressure plate. Generally this is made possibly by the fact that animals try to go to their parent while they're children, or to the meeting area. There are also be designs which use captured hostiles.
+
{{l|Animal logic|Animal logic}} places animals in an enclosed room, with a door blocking the path to where they desire to go, and a pressure plate below a hatch, with obstacles which are controlled by triggers. The animal thinks it can walk through the door, and if it has a path to the door will walk up to it and stand on the hatch. When the hatch is opened by a trigger, it falls onto the pressure plate. As long as the hatch is open, or other obstacles block its path to the door it remains on the pressure plate and the output is 'on'. Once it sees a path to the door it will leave the pressure plate. Generally this is made possibly by the fact that animals try to go to their parent while they're children, or to the meeting area. There are also be designs which use captured hostiles.
  
 
There was a fourth, theoretical, discipline, Borg Logic, but there was never any reported success inventing any functioning and useful borg logic systems.
 
There was a fourth, theoretical, discipline, Borg Logic, but there was never any reported success inventing any functioning and useful borg logic systems.

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)

Templates used on this page: