View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000448 | Dwarf Fortress | Dwarf Mode -- Jobs, Constructions (walls etc) | public | 2010-04-04 22:59 | 2012-03-17 23:49 |
Reporter | Shurhaian | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | sometimes |
Status | resolved | Resolution | no change required | ||
Product Version | 0.31.01 | ||||
Summary | 0000448: Dwarves wall themselves in, can't be prevented | ||||
Description | 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. | ||||
Steps To Reproduce | 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. | ||||
Tags | AI | ||||
related to | 0003902 | resolved | Dwarf teleports into cavern |
|
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. |
|
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. |
|
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. |
|
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. |
|
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... |
|
did you follow my steps carefully for forcing them to the side you wanted? I've never seen that fail. |
|
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 |
|
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. |
|
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. |
|
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. |
|
"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 |
|
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. |
|
Placing a suspended wall never failed for me in DF 0.31.XX . |
|
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) |
Date Modified | Username | Field | Change |
---|---|---|---|
2010-04-04 22:59 | Shurhaian | New Issue | |
2010-04-04 23:00 | Shurhaian | Note Added: 0001005 | |
2010-04-04 23:11 | Shurhaian | Note Edited: 0001005 | |
2010-04-04 23:35 | DoctorZuber | Note Added: 0001012 | |
2010-04-04 23:38 | DoctorZuber | Note Edited: 0001012 | |
2010-04-04 23:58 | GauHelldragon | Note Added: 0001016 | |
2010-04-05 00:05 | DoctorZuber | Note Added: 0001019 | |
2010-04-05 00:28 | Qloos | Tag Attached: AI | |
2010-04-05 06:17 | Shurhaian | Note Added: 0001061 | |
2010-04-06 18:40 | DoctorZuber | Note Added: 0001641 | |
2010-04-20 23:20 | derigo | Note Added: 0004419 | |
2010-04-20 23:21 | derigo | Note Edited: 0004419 | |
2010-04-21 16:31 | Ghede | Note Added: 0004521 | |
2010-04-21 16:32 | Ghede | Note Edited: 0004521 | |
2010-04-21 16:32 | Ghede | Note Edited: 0004521 | |
2011-08-12 16:44 | malvado | Note Added: 0018493 | |
2011-08-16 06:30 | krazykatboy | Note Added: 0018531 | |
2011-10-25 13:59 | Kogut | Note Added: 0018906 | |
2011-10-25 14:01 | Kogut | Note Edited: 0018906 | |
2011-10-26 19:16 | ellindsey | Note Added: 0018914 | |
2011-10-26 21:51 | Rafal99 | Note Added: 0018915 | |
2011-10-27 00:57 | Kogut | Note Added: 0018917 | |
2012-01-08 11:31 |
|
Relationship added | related to 0003902 |
2012-03-05 08:59 |
|
Status | new => resolved |
2012-03-05 08:59 |
|
Resolution | open => unable to reproduce |
2012-03-05 08:59 |
|
Assigned To | => user6 |
2012-03-05 08:59 |
|
Resolution | unable to reproduce => no change required |