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.

40d Talk:Computing

From Dwarf Fortress Wiki
Revision as of 12:20, 12 May 2009 by Zort (talk | contribs) (→‎Base 8?: added signature)
Jump to navigation Jump to search

I created this page because I think it's a very interesting part of the game for advanced players. I'm not at all familiar with creating wiki pages, so if someone else who was familiar with the concepts could write a section or two themselves, that would be grand. Right now I think it's been proven possible to create logical input and output gates using fluid dynamics, axles and gears, and even the movements of dwarves utilizing pressure plates.

It was on the 4th of Galena 1097 that the Fortress 'The Net of Skies' became self-aware. Panicked mechanics attempted to disengage the mechanisms, but the fortress interpreted this as an attack and designated all Dwarves as hostile... --WyldKarde 13:17, 23 November 2007 (EST)


A suggested component: The one-use lever.
ó _X_ ___ / = ramp X = door
#" ¯ /### " = bridge
#########
The lever has a Pull The Lever repeat job on it. The door only opens when access is required. Upon being pulled, the lever opens the bridge and drops the dwarf that pulled it. -- Zaratustra 14:56, 23 November 2007 (EST)
Problem detected: the lever doesn't obstruct, so the dwarf can be left hanging on the lever's tile.

I think we should strive to include an example of an NAND gate and/or a NOR gate for each style since that's the bare minimum for operation.--AlBorland 22:09, 23 November 2007 (EST)

Machine logic

The machine logic gates as they stand are incomplete. The inputs are levers, but the outputs are machine components. In order to connect a machine logic gate to another gate, the machine signal needs to be converted back into a lever signal. The only way I can see to do that is with a water tank, a pump, and a pressure plate. --Peristarkawan 12:38, 28 November 2007 (EST)

Anthills

Kudos to whoever mods ants to be trainable for borg machines... Hex anyone? :D N35t0r 20:28, 8 December 2007 (EST)

This would make that person my favoritest ever. --Geofferic 01:36, 9 December 2007 (EST)
Agreed. Madmadmadmage 15:13, 9 December 2007 (EST)
More specifically, Langton's ant...--YraelTalk19:45, 2 05 2024 (EDT)


Fluid logic gates

Link to original information is at User:Madmadmadmage/Logic_Gates. Moved to clean up page.


Have you tested these at all? I translated your multi-level NOT gate into a form I could understand better after designing some gates myself, and looked at it. It doesn't look to me like it would work at all - First, water flows diagonally, so the water would just flow around the floodgate. Second, if water didn't flow diagonally, and you opened the floodgate because of an input signal, water from the reservoir would then hold the floodgate open by covering the pressure plate even if you shut off the input signal. You'd also need to do something other than just have the drain always open or you might not even trigger the pressure plate because it's draining too fast. --SL 19:17, 23 December 2007 (EST)

No, I did not test any of these. I forgot that water flows around corners; I usually work with straight passages and put my gates in places where it doesn't matter. I'll fix that. As for draining water, you're correct on one point: the water would drain off too fast to trigger the plates. It would drain out to one, so the part about it not draining out isn't a problem. The draining-too-fast problem can also be solved: set the plate to activate on any depth-two water. That would mean it would take a tiny bit longer to drain (although not much), but it would also make it open if any water at all were coming to the input. Additionally, minimizing delays would be very, very useful. Remember, these don't have to be all separated like I have them. You could design these with everything compressed into three-long channels (the minimum length of a NAND gate plus an input), which would greatly optimize performance. Maybe using something like an aquifer for the water source would also help. I'll have to build a fortress specifically to test fluid gates (translate as: dig through aquifer). Give me a few weeks. Madmadmadmage 02:14, 27 December 2007 (EST)

I've finished my own logic gates now - designed, built, and tested them all. They transfer signals between gates using mechanisms rather than water flow, but use water internally for processing logic. In addition to the standard gates (NOT, AND, OR, XOR, NAND, NOR), I've also made repeaters (repeatedly toggle two output signals) and memory gates (one input signal sets the gate's output to ON, the other input signal resets it to OFF - this is useful to replace one-use pressure plates with resettable versions). They only need to be built on top of a murky pool (with water in it), or an aquifer, brook, stream, river, dwarf-made cistern, whatever, and require power for one or two pumps each. I've posted them here User:SL/Logic_Gates for now, with all the information needed to build and use them, and advice on doing so. --SL 13:30, 4 January 2008 (EST)

These look really good to me. Since I rarely use screw pumps, I never even thought of using using them. They're slower to build than simple channels, but they're faster, more efficient, and far more predictable. Good idea. Secondarily, I'm moving my stuff to another page to make everything neater. Links to User:Madmadmadmage/Logic_Gates here and at the top of the section. Madmadmadmage 20:19, 4 January 2008 (EST)

Practical applications

One-way door

Hi! I'm new here and I am not sure where to put this, but I thought that it may be helpful, and it could use some refinement, and I couldn't find it anywhere else...

I noticed when trying to stop my civilians from having fun that if I locked the door whenever a dwarf was about to escape that they would find something else to do and give up on clearing that trap... While the dwarves outside generally just mill about waiting for the doors to open on account of having nothing else to do...

So I made a door which closes whenever a dwarf walks up to it from one side, and has a lever to keep it open regardless...

The one-way door:
#  - wall
D  - door
R  - bottom of ramp
-> - screw pump (west to east)
<- - east to west
_  - open space
o  - vertical axle
W  - unlimited water supply
1 - door connected to plate 1
2 - lever connected to door 2
3 - pressure plates connected to door 3, triggered by friendly dwarves(weight6)
---------------------------
################
2 D3333333331  D
  D3333333331  D
################
This is my current mechanism(lowest ground to highest ground):
1 - pressure plate connected to doors 1, triggered by water depth 0-2
2 - door connected to lever 2
3 - door connected to pressure plates 3
---------------------------
#######
# R####
# #####
#     #
#######
---------------------------
#######___
## 123<-__
###D###___ ####
## <-_#     <-_W
###D###    ####
---------------------------
#######
###  o#
#######
##_->
#######
---------------------------

:it could probably be compressed into something more like this:
---------------------------
############
# 132<-_<-_W
############
---------------------------
############
#_-> o _o  #
############
I have two requests, firstly, could this please be formatted and moved to somewhere good. And also, would someone please calculate how far a dwarven acrobat can travel before this will trigger, I have plates about 10 deep and some still get through...
Be advised that if anything is in the door when it is triggered it will remain open, to reset it the water must be removed from plate 1, this can be done by toggling lever 2 or persuading the dwarves to get off the plates 3...

RAM 04:33, 1 March 2009 (EST)

I'm not too keen on attempting to read your diagram, so here's what I would do to create a door which closes when a dwarf steps near it but stays constantly open when a lever is set.
Onewaydoor.PNG
Basically, the pressure plate is linked to the door through a NOT gate, and the lever is linked to the door through a repeater. I believe this is necessary, because the lever page implies that the KEEPITOPEN lever will have to keep asserting itself if you want to keep the door open. Do tell me if you build it or need more details, optionally through #bay12games!
Er, sorry, made a mistake: The cyan pressure plate in the repeater should be set to 0-0, not 1-7 or 2-7 or 4-7. --Zort 21:24, 11 May 2009 (UTC)

Base 8?

It says in Fluid Logic, "Fluid logic allows for computing in up to base 8." How does this work? Pressure plates cannot be made to distinguish between the 8 different water levels... Of course, you could use many counters in such a way as to simulate base 8, but base 2 would be more natural. --Zort 20:04, 11 May 2009 (UTC)

Pressure plates can distinguish between different levels, and can be set to go off at a range between any two numbers. They can also determine the difference between water and magma. It is at the bottom of the trigger menu. i2amroy 22:48, 11 May 2009
Exactly. They can detect a range between two given numbers, but, if a plate is set to 0-4, it cannot distinguish between 5, 6, or 7, levels of water. --Zort 12:20, 12 May 2009 (UTC)