View Issue Details

IDProjectCategoryView StatusLast Update
0010261Dwarf FortressPathfindingpublic2017-07-05 01:46
ReporterSoadreqm Assigned To 
PrioritynormalSeverityminorReproducibilitysometimes
Status newResolutionopen 
OSWindowsOS Version7 
Product Version0.43.05 
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.

Activities

PatrikLundell

2017-07-05 01:46

reporter   ~0036649

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.

Add Note

Note

Issue History

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