23a:Path

From Dwarf Fortress Wiki
Jump to navigation Jump to search
This article is about an older version of DF.

The term Path, or Pathing, is used in Fortress Mode to refer to the game process of determining how and where dwarves and other creatures will get from one place to another, to fulfill their various personal tasks and priorities. The game code attempts to send them on the shortest, quickest route possible, their "path". This may change with every step, and in fact the game checks and rechecks each creature's path many, many times as they proceed. If a dwarf needs to move down a hall, they "path" down that hall. If some other dwarves are coming the other way, each one paths to avoid the other if possible. If the hall is too crowded, a dwarf might decide it's faster (at that moment) to path down a different hall, and take a longer way around. If a large hall is very crowded, each creature in that hall constantly changes their pathing as the others do as well.

Pathing has a serious affect on framerate, or "frames per second" (fps), the speed at which the game advances. The more creatures on the map, the more units that need to figure out how to they'll move around, the slower the framerate goes (though this may not be noticeable or a concern on more powerful computers).

Both floods and anti-floods (triggered when opening or closing floodgates next to filled channels) perform their own simple pathfinding, and while it is simpler, it is much more resource-intensive as it will recalculate pathfinding for the entire map every time the liquids move, causing significant lag until they settle.

If a dwarf refuses to fulfill a job, simply standing in place, often a lack of path is the problem. Forbidden doors, cave-ins, or orders to construct bridges that are designated to operate from the far side of the chasm are all common pathing deal-breakers.

Determining the "nearest object" doesn't use the same path finding logic, but simply counts how many steps the dwarf would need to take if there we no walls present. Since creatures do not move diagonally, a stone 3 tiles to the west and 4 tiles to the north would be considered to be 7 blocks away.