Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0010261Dwarf FortressPathfindingpublic2017-07-04 07:382017-07-05 01:46
ReporterSoadreqm 
Assigned To 
PrioritynormalSeverityminorReproducibilitysometimes
StatusnewResolutionopen 
PlatformOSWindowsOS Version7
Product Version0.43.05 
Target VersionFixed in Version 
Summary0010261: Dwarves become stuck trying to go around each other in one-tile corridors
DescriptionSometimes, two dwarves can become stuck trying to pass each other in a one-tile passageway. They collide, and both turn around to take an alternate route. Then, because the alternate route is also a one-tile passageway, they inevitably collide again once they get there. This often continues until more traffic comes along, so that both available passages are blocked with dwarves, and they begin to crawl past each other.
Additional InformationDwarves seem to always prefer an open route to crawling, even if it's much longer than the one they're on and takes more time. This works well in open areas where dwarves can pass each other, and when there is exactly one route to the dwarf's destination (forcing them to just crawl all the time), but not so much when there are multiple one-tile corridors a dwarf can take.

Also, when looking for the way around, they first go to the tile behind where the obstacle was, and resume their original course, instead of trying to find a new shortest path to their actual destination. This results in backtracking, and exacerbates the dwarf jams, since they're backtracking through one-tile corridors where they're likely to collide with dwarves.

There's an obvious workaround to all this, making corridors wider, but it would still be nice if dwarves were a bit more sensible about narrow passages.
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
(0036649)
PatrikLundell (reporter)
2017-07-05 01:46

It's definitely a problem that re-pathing takes the dorf(s) back to the collision point to continue from there (by turning around 180 degrees) to the destination, rather than re-path to the destination, or, at the least, to the junction the re-pathing joins up with the original path in the reverse direction.

- Issue History
Date Modified Username Field Change
2017-07-04 07:38 Soadreqm New Issue
2017-07-05 01:46 PatrikLundell Note Added: 0036649


Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker