Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0000448Dwarf FortressDwarf Mode -- Jobs, Constructions (walls etc)public2010-04-04 22:592012-03-17 23:49
Shurhaian 
Footkerchief 
normalmajorsometimes
resolvedno change required 
0.31.01 
 
0000448: Dwarves wall themselves in, can't be prevented
As in 40d, dwarves prefer to stand on a particular side of a tile when channeling it out or building a construction onto it. This often leads to them getting stuck, and due to other bugs, cancelling tasks for dwarves all over the fortress.

However, in 40d, it was possible to force dwarves not to stand on a particular tile, at least when building constructions, by ordering another one to be built on the unsafe tile and suspending that. Dwarves will no longer respect this, multiplying the complexity of e.g. pump stacks by an order of magnitude, as they must always be provided a way out on their preferred side or the entire operation will grind to a halt.

Related pathing issues also occur with channeling(also in the context of a pump stack), but are less regular - the dwarves are backing themselves into corners for no apparent reason, but aren't consistent about which side they stand on.
Dig out a north-south tunnel.
Dig out an accessway leading east and then out from the north end of this tunnel.
Channel out the second tile from the north and ensure there is no ramp.
Order walls to be built on both the northern tile of the tunnel and the tile immediately to its east, the first tile of the temporary accessway. Suspend the one in the tunnel proper.
Watch as a mason stands on the suspended wall and walls himself in.
AI
related to 0003902resolved Dwarfu Dwarf teleports into cavern 
Issue History
2010-04-04 22:59ShurhaianNew Issue
2010-04-04 23:00ShurhaianNote Added: 0001005
2010-04-04 23:11ShurhaianNote Edited: 0001005bug_revision_view_page.php?bugnote_id=0001005#r324
2010-04-04 23:35DoctorZuberNote Added: 0001012
2010-04-04 23:38DoctorZuberNote Edited: 0001012bug_revision_view_page.php?bugnote_id=0001012#r327
2010-04-04 23:58GauHelldragonNote Added: 0001016
2010-04-05 00:05DoctorZuberNote Added: 0001019
2010-04-05 00:28QloosTag Attached: AI
2010-04-05 06:17ShurhaianNote Added: 0001061
2010-04-06 10:34JusticeIssue Monitored: Justice
2010-04-06 18:40DoctorZuberNote Added: 0001641
2010-04-14 13:00lord_chaos22000Issue Monitored: lord_chaos22000
2010-04-20 23:20derigoNote Added: 0004419
2010-04-20 23:21derigoNote Edited: 0004419bug_revision_view_page.php?bugnote_id=0004419#r1499
2010-04-21 16:31GhedeNote Added: 0004521
2010-04-21 16:32GhedeNote Edited: 0004521bug_revision_view_page.php?bugnote_id=0004521#r1536
2010-04-21 16:32GhedeNote Edited: 0004521bug_revision_view_page.php?bugnote_id=0004521#r1537
2011-08-12 16:44malvadoNote Added: 0018493
2011-08-16 06:30krazykatboyNote Added: 0018531
2011-10-25 13:59KogutNote Added: 0018906
2011-10-25 14:01KogutNote Edited: 0018906bug_revision_view_page.php?bugnote_id=0018906#r7093
2011-10-26 00:07KogutIssue Monitored: Kogut
2011-10-26 19:16ellindseyNote Added: 0018914
2011-10-26 21:51Rafal99Note Added: 0018915
2011-10-27 00:57KogutNote Added: 0018917
2012-01-08 11:31DwarfuRelationship addedrelated to 0003902
2012-03-05 08:59FootkerchiefStatusnew => resolved
2012-03-05 08:59FootkerchiefResolutionopen => unable to reproduce
2012-03-05 08:59FootkerchiefAssigned To => Footkerchief
2012-03-05 08:59FootkerchiefResolutionunable to reproduce => no change required
2012-03-17 23:49KogutIssue End Monitor: Kogut

Notes
(0001005)
Shurhaian   
2010-04-04 23:00   
(edited on: 2010-04-04 23:11)
This is not guaranteed to happen, and seems to be essentially random. The workaround of building a wall on the unsafe square used to be reliable but is no longer.

No obvious correlation between whether or not it works and the order in which the walls are placed.

(0001012)
DoctorZuber   
2010-04-04 23:35   
(edited on: 2010-04-04 23:38)
Unable to reproduce. I've just tested this with eight deadends, all eight placed the wall from the correct side and were not stuck.

1. create dead end
2. place two walls, one as intended, one to block the wrong side to build from
3. suspend both walls
4. unpause and let a few frames pass.
5. unsuspend the wall you want built.

If you're skipping steps 3 and 4 it's entirely possible they're jumping on the task the instant you place it, even with the game paused.. Dwarves seem to plan their entire path in advance, so they make the decision of which side to stand on the instant they accept the task which allows the to ignore a suspended wall because the decision was already made before the suspended wall was placed. this also could occur in 40d.

(0001016)
GauHelldragon   
2010-04-04 23:58   
one workaround to this is to place a door in the spot you DON'T want them to build the wall from. once the door is in place and there's nobody standing there that could be walled in, lock it, and build the wall.
(0001019)
DoctorZuber   
2010-04-05 00:05   
I guess I should also note that my usual tactic when building pumpstacks is to spend one extra stone to build a fortification before I cut my channels to power the stack. It wastes a stone sure, but stone is plentiful, and it saves a few steps.
(0001061)
Shurhaian   
2010-04-05 06:17   
Placing a door isn't viable when the space you don't want them to build is going to be a fluid-filled destination of a pump stack.

Fortification... may work but certainly isn't pretty in terms of dwarven labour.

I noticed the behaviour even when the "actual" wall was inactive for some time, so I'm not sure it's a pathfinding thing as noted in note 2. Perhaps I've just been singularly unlucky...
(0001641)
DoctorZuber   
2010-04-06 18:40   
did you follow my steps carefully for forcing them to the side you wanted? I've never seen that fail.
(0004419)
derigo   
2010-04-20 23:20   
(edited on: 2010-04-20 23:21)
You place a fortification...where?

Like this?

###
#.#
# [
#.#X
#F#
###

###
#F#
#.#
# [X
#.#
###


Does that work?(as in, can magma be pumped into and sucked out of a fortification succesfully?) If so its brilliant. Dwarf labor isn't an issue if you have an Army Corps of Engineers. a la http://magmawiki.com/index.php/40d:Cross-training#Army_corps_of_engineers [^]

(0004521)
Ghede   
2010-04-21 16:31   
(edited on: 2010-04-21 16:32)
Another workaround. Only build on diagonal paths.

For example:
Build walls in this order.
####
#A~PUMP
  B##
####

Walls can only be built orthogonally, but dwarves can move diagonally. It takes a little extra work, but it does the job.

(0018493)
malvado   
2011-08-12 16:44   
I can confirm that while building walls some dwarves can be standing on the tile that is being built even when another tile that has no construction order is avaibable.

Dwarves also tend to get stuck a lot if you are not carefull.
(0018531)
krazykatboy   
2011-08-16 06:30   
I have this problem as well and appears to occur at random, making it difficult to predict and prevent. This will often go unnoticed by me (I have a large fortress) and the system, making them starve or dehydrate.
(0018906)
Kogut   
2011-10-25 13:59   
(edited on: 2011-10-25 14:01)
"However, in 40d, it was possible to force dwarves not to stand on a particular tile, at least when building constructions, by ordering another one to be built on the unsafe tile and suspending that. Dwarves will no longer respect this" - absolutely unable to reproduce. Can you provide savegame that demonstrates this problem?

EDIT:Anyway, dwarf should check and decide to not stay on the side of wall with area smaller than (for example) 15 tiles

(0018914)
ellindsey   
2011-10-26 19:16   
Cannot reproduce. I have never once had the method of suspending a wall where you don't want the dwarf to stand fail, and I've built many walls and complex constructions in the current version. Please demonstrate a situation that reproduces this bug or provide a save.
(0018915)
Rafal99   
2011-10-26 21:51   
Placing a suspended wall never failed for me in DF 0.31.XX .
(0018917)
Kogut   
2011-10-27 00:57   
So I suggest to change this from "Dwarves wall themselves in, can't be prevented" to "Dwarves wall themselves in" as it is king of bug (mentioned in WoW but still bug)