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 40d:One-way

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 "40d"). Please make sure you intend to do this.

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|Fine|01:17, 18 August 2012 (UTC)}}{{av}}
+
{{av}}
 
<!--Thanks and credit to VengefulDonut for this, at least for making it better known!
 
<!--Thanks and credit to VengefulDonut for this, at least for making it better known!
 
             http://mkv25.net/dfma/movie-1422-one-waypassageexample
 
             http://mkv25.net/dfma/movie-1422-one-waypassageexample
 
-->
 
-->
  
Due to a minor bug rather than a feature, it's not only possible but quite easy to create '''one-way gates''' with [[ramp]]s - and with those, one-way halls, [[stair]]s, and any other restricted [[path]] you can create from one controlled access point to another. Note that this bug has subsequently been fixed so this idea is not feasible in more recent versions.
+
Currently{{version|0.28.181.40d}}, due to what seems to be a minor bug rather than a feature, it's not only possible but quite easy to create '''one-way gates''' with {{L|ramp}}s - and with those, one-way halls, {{L|stair}}s, and any other restricted {{L|path}} you can create from one controlled access point to another.
  
 
The set-up has only a few requirements:
 
The set-up has only a few requirements:
 
*1) A closed route, with no "normal" entrances or exits.
 
*1) A closed route, with no "normal" entrances or exits.
*2) ''(At least)'' 2 [[z-level]]s over 3 tiles in a line, enough for an up-ramp, a supporting wall-top, and a down-ramp on the other side, forming a one-way gate.
+
*2) ''(At least)'' 2 {{L|z-level}}s over 3 tiles in a line, enough for an up-ramp, a supporting wall-top, and a down-ramp on the other side, forming a one-way gate.
 
*3) Two such gates, one at each end of the enclosed route to ensure the restricted one-way traffic flow.
 
*3) Two such gates, one at each end of the enclosed route to ensure the restricted one-way traffic flow.
* (For newer players, make ''sure'' you understand how '''[[ramp]]s''' work in DF - they're ''not'' purely intuitive!)
+
* (For newer players, make ''sure'' you understand how '''{{L|ramp}}s''' work in DF - they're ''not'' purely intuitive!)
  
 
Lack of the first would allow any dwarf to wander in and go where they want from the "leak".  Having only 1 gate at one end would, again, allow a counter-directional leak at the far end.  
 
Lack of the first would allow any dwarf to wander in and go where they want from the "leak".  Having only 1 gate at one end would, again, allow a counter-directional leak at the far end.  
:'' (If the route has nothing to cause dwarves to seek a [[job]] or [[path]] there, such as a long empty hallway from one area to another, that last may not be a problem since they cannot exit the far end and so have no (good) reason to ever enter. You could still send military in if you had reason to, but tantruming dwarves or other creatures could as well.  Your own tame animals could also wander as they please in such a setup, unless restricted by pet-locked [[door]]s or [[hatch]]es.)''
+
:'' (If the route has nothing to cause dwarves to seek a {{L|job}} or {{L|path}} there, such as a long empty hallway from one area to another, that last may not be a problem since they cannot exit the far end and so have no (good) reason to ever enter. You could still send military in if you had reason to, but tantruming dwarfs or other creatures could as well.  Your own tame animals could also wander as they please in such a setup, unless restricted by pet-locked {{L|door}}s or {{L|hatch}}es.)''
  
  
Basically, the trick is that when you build a ramp under a constructed floor ''(not a natural floor!)'', and then remove that floor, the game fails to recognize that as a ''down''-ramp but still sees it as an ''up''-ramp, and so only the "up" half of its path is recognized.  Since neither the game nor your dwarves can see or find a down-path, they only have one way off the upper level - ''one way.''
+
Basically, the trick is that when you build a ramp under a constructed floor ''(not a natural floor!)'', and then remove that floor, the game fails to recognize that as a ''down''-ramp but still sees it as an ''up''-ramp, and so only the "up" half of its path is recognized.  Since neither the game nor your dwarfs can see or find a down-path, they only have one way off the upper level - ''one way.''
  
  
Line 28: Line 28:
 
*1) Build a wall ({{k|b}}, {{k|C}}, {{k|w}}).  This can be 1 tile or many more than 1, but the gain in z-levels is necessary.
 
*1) Build a wall ({{k|b}}, {{k|C}}, {{k|w}}).  This can be 1 tile or many more than 1, but the gain in z-levels is necessary.
  
   side view:  ___█___<br />
+
   side view:  ___■___<br />
     top view: ...'''O'''... (single wall)<br />
+
     top view:     '''O'''   (single wall)<br />
         z+1:    +   (single wall-top)
+
         z+1:    +   (single wall-top)
  
  
Line 36: Line 36:
  
 
         <--'' traffic flow'' <--<br />
 
         <--'' traffic flow'' <--<br />
   side view:  __/█___<br />
+
   side view:  __/■___<br />
     top view: ..▲'''O'''... (up slope & single wall)<br />
+
     top view:   ▲'''O'''   (up slope & single wall)<br />
         z+1:    ▼+   (down slope & single wall-top)  
+
         z+1:    ▼+   (down slope & single wall-top)  
  
  
Line 45: Line 45:
 
         <-- ''traffic flow'' <--<br />
 
         <-- ''traffic flow'' <--<br />
 
                   _
 
                   _
   side view:  __/█___<br />
+
   side view:  __/■___<br />
     top view: ..▲'''O'''... (up slope & single wall)<br />
+
     top view:   ▲'''O'''   (up slope & single wall)<br />
         z+1:    ▼++   (down slope, single wall-top and constructed floor)  
+
         z+1:    ▼++ (down slope, single wall-top and constructed floor)  
  
  
Line 54: Line 54:
 
         <-- ''traffic flow'' <--<br />
 
         <-- ''traffic flow'' <--<br />
 
                   _
 
                   _
   side view:  __/\__<br />
+
   side view:  __/\__<br />
     top view: ..▲'''O'''▲.. (up slope, single wall, 2nd up slope)<br />
+
     top view:   ▲'''O'''▲ (up slope, single wall, 2nd up slope)<br />
         z+1:    ▼++   (down slope, single wall-top and constructed floor)  
+
         z+1:    ▼++ (down slope, single wall-top and constructed floor)  
  
  
Line 63: Line 63:
 
         <-- ''traffic flow'' <--<br />  
 
         <-- ''traffic flow'' <--<br />  
 
                   ..
 
                   ..
   side view:  __/\__<br />
+
   side view:  __/\__<br />
     top view: ..▲'''O'''▲.. (up slope, single wall, 2nd up slope)<br />
+
     top view:   ▲'''O'''▲ (up slope, single wall, 2nd up slope)<br />
         z+1:    ▼+   (down slope, single wall-top...and ''no'' down slope!)  
+
         z+1:    ▼+   (down slope, single wall-top...and ''no'' down slope!)  
  
 
''Success!''
 
''Success!''
Line 74: Line 74:
  
  
It's recommended you play with this just a bit first in a sandbox mode, to understand both the concept and how it works in practice.  By adding this "one-way entrance" before a set of stairs or normal ramps, you can create one-way traffic flows for any situation - excluding [[wagon|caravan wagons]]. The initial down-ramps do not have to be connected (or even present!) - it's the "not-a-down-ramp" that's the key, so using stairs in place of the fully-functional ramp would be fine.  So long as there is at least one in-gate and one out-gate, more complex configurations can be created, forming Y's, T's or X's, whatever traffic flow you need.   
+
It's recommended you play with this just a bit first in a sandbox mode, to understand both the concept and how it works in practice.  By adding this "one-way entrance" before a set of stairs or normal ramps, you can create one-way traffic flows for any situation - excluding {{L|wagon|caravan wagons}}. The initial down-ramps do not have to be connected (or even present!) - it's the "not-a-down-ramp" that's the key, so using stairs in place of the fully-functional ramp would be fine.  So long as there is at least one in-gate and one out-gate, more complex configurations can be created, forming Y's, T's or X's, whatever traffic flow you need.   
  
  
Line 85: Line 85:
 
Once the ramps are built, he designates deconstruction of the two floors and channels out the sides, creating a restricted path between the two gates.  Once the floors are deconstructed, we can loo{{k|k}} at the space above where we know the 2nd ramps are: they read as "Empty Space" from this upper level, but dropping down to ground level, there they are: "Bauxite Block Upward Slope"!  Each wall now has two up, but only one "down" ramp, and a closed path between them.
 
Once the ramps are built, he designates deconstruction of the two floors and channels out the sides, creating a restricted path between the two gates.  Once the floors are deconstructed, we can loo{{k|k}} at the space above where we know the 2nd ramps are: they read as "Empty Space" from this upper level, but dropping down to ground level, there they are: "Bauxite Block Upward Slope"!  Each wall now has two up, but only one "down" ramp, and a closed path between them.
  
In order to illustrate that the path is indeed one-way and that the dwarves have no choice but to travel through it, a "Restricted" [[traffic]] zone is placed at one end. He then designates a [[Zone#Garbage_Dump|garbage dump]] ( {{k|i}}, ''designate area'', {{k|g}} ), remembers to turn on "Dwarves Gather Refuse From Outside" ( {{k|o}}, {{k|r}}, {{k|o}} ), and marks all items for dumping ( {{k|d}}, {{k|b}}, {{k|d}}, ''designate area'' ).
+
In order to illustrate that the path is indeed one-way and that the dwarves have no choice but to travel through it, a "Restricted" {{L|traffic}} zone is placed at one end. He then designates a {{L|Zone#Garbage_Dump|garbage dump}} ( {{k|i}}, ''designate area'', {{k|g}} ), remembers to turn on "Dwarves Gather Refuse From Outside" ( {{k|o}}, {{k|r}}, {{k|o}} ), and marks all items for dumping ( {{k|d}}, {{k|b}}, {{k|d}}, ''designate area'' ).
  
And ''(after a tense moment as the [[dwarf|dwarves]] think about it)''... the show begins.*
+
And ''(after a tense moment as the {{L|dwarf|dwarves}} think about it)''... the show begins.*
  
 
:<sup>''(* Complete with a couple headfakes by true dwarves who take the long way around, just because.)''</sup>
 
:<sup>''(* Complete with a couple headfakes by true dwarves who take the long way around, just because.)''</sup>
Line 97: Line 97:
 
The video demonstrates that one-way passage breaks are considered connected (at least some of the time). This means if you are not careful building these, it could be dangerous for your processing speed. Dwarves repeatedly trying to path to an unreachable area could be a huge setback!
 
The video demonstrates that one-way passage breaks are considered connected (at least some of the time). This means if you are not careful building these, it could be dangerous for your processing speed. Dwarves repeatedly trying to path to an unreachable area could be a huge setback!
  
 +
Having used two of these in one fort (one going in each direction) and locking down one of them I did discover how Dwarf Fortress reacts:
 +
 +
Quite calmly.  A dwarf needing to travel in the opposite direction ''will'' go "against the flow" after a minute of hesitation.  There was no apparent game slowdown due to pathing lag, but it did take the dwarf a minute to figure out that he could, indeed, travel the "wrong" way.  Possible reason why it doesn't cause lag is because there was a longer, valid path still available. --[[User:Draco18s|Draco18s]] 20:28, 18 March 2010 (UTC)
  
 
----
 
----
  
 
See also:  
 
See also:  
:* [[tower|Mega-project]]
+
:* {{L|tower|Mega-project}}
:* [[path]]
+
:* {{L|path}}

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)

This page is a member of 1 hidden category: