View Issue Details

IDProjectCategoryView StatusLast Update
0002286Dwarf FortressPathfindingpublic2021-11-11 18:16
ReporterQuil Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
PlatformAMD Athlon 64 X2 Dual Core 6000+OSWindows XPOS Version2002
Product Version0.31.06 
Summary0002286: Creatures with [FLIER] have problems pathing to jobs that require them to fly.
DescriptionThis bug mainly seems to occur with playable flying civs in fortress mode. Obviously, there are none of these in vanilla DF.

This is something of a tricky bug which crops up when a flying creature attempts to path to an inaccessible job, although it is most obvious when the job involves hauling an item of some description.

Essentially, this bug crops up when the ONLY path to a job involves flying. The creature will accept the job, attempt to complete it, and will correctly path the job, but when it encounters a point where it must begin flying it will cancel the job: dangerous terrain. However, if there is ANY path between the start and end point that can be followed WITHOUT having to fly, the flying creature will happily fly to the job by the shortest route.

A similar but more understandable issue is the inability to construct things in areas with no ground access even if the builder can fly, since the game complains about a lack of access to construction materials.
Steps To Reproduce1: Give your dwarves wings and the FLIER tag.

2: Generate a world and start a fortress, ideally somewhere flat to make things easier. Bring a miner and something to haul.

3: Just north of your wagon, dig a pit with the channel command. Remove the slopes from around the edges. Note that the miner will probably fly out of the pit once he's done to get back to the wagon.

4: Designate a stockpile for whatever stuff you brought along. Your minions will grab stuff and start taking it to the stockpiles, but will hit the edge of the pit and start spamming job cancellations due to dangerous terrain.

5: Dig a ramp or stairway at the northern end of the pit, i.e. the far side from where all the hauling is going on, in order to make the pit accessible to non-flying creatures.

6: Observe as the haulers start moving everything by happily flying down into the pit. They won't use the ramp/stairs you just built.
TagsFlying, modding, pathfinding, pathing, z-levels

Relationships

related to 0002285 new Traders from civs with [FLIER] cannot trade 
related to 0004776 new Tame flying animals won't fly. 
parent of 0009362 confirmedLoci Flying visitors hovering near map edge and not pathing to tavern 
has duplicate 0010019 resolvedLoci Gander stuck in mid-air 
Not all the children of this issue are yet resolved or closed.

Activities

commondragon

2010-06-12 07:51

reporter   ~0008196

I would think that its more of a bug that they do anything BUT spam cancellations due to dangerous terrain.

Quil

2010-06-12 10:30

reporter   ~0008201

Okay, correction to the above: The miner won't fly out of the hole and everyone will just stand around like lemons until there's a walkable path to the target, and then they'll just fly there, completely ignoring the walkable path.

PencilinHand

2010-06-12 11:08

reporter   ~0008202

Last edited: 2010-06-12 11:08

This sounds just like a very old bug related to the pathing implementation that has been in DF since the addition of the z-axis.


The short explanation is DF sorts interconnected pathable tiles into bins with each other and if the source and destination tiles of a pathing request aren't in the same bin then the target is considered inaccessible(and usually a job is canceled as a result). This is actually a good way to both eliminate impossible path requests and limit the node space(basically, how big an area needs to be pathed through). The problem is this binning assumes all creatures are created equally and thus the ability of flying creatures to fly up, over, or around obstructions is ignored unless there is a valid ground path in the first place.

Toady can give a better explanation, but there are a lot of threads on pathing in DF on the forums if you care to look.

Quil

2010-06-12 15:21

reporter   ~0008219

I suspected that might be the case, PencilinHand. It's mostly just annoying, and stops you from building truly impenetrable fortresses that have no external access except by flying.

The main issue, as I have just discovered, is if the fliers end up in a location where they no longer have a path and then do something silly like starve to death. For example, I just had a bunch of people taking some remains to a rubbish pile, and they all pathed into an empty murky pool, where they promptly discovered that they couldn't get anywhere anymore and cancelled due to dangerous terrain (which is why I thought that it occured in the example above: I actually had a slightly more elaborate setup which caused the creatures to fly out of the pit to reach another part of the pit, where they then cancelled).

Anyway, I'm happy enough being able to use flying units at all, and this is a relatively minor issue. Ah well.

Kogut

2011-04-09 09:50

reporter   ~0017238

Save with modded and prepared game may help

Kogut

2012-04-05 00:38

reporter   ~0022096

related to 0004776: Tame flying animals won't fly.

Loci

2016-12-29 17:05

viewer   ~0036115

v0.42.06: AlBravo posted a save with wren people invaders hovering at map edge in 0003015:

http://dffd.bay12games.com/file.php?id=12628

a52

2018-05-07 18:32

reporter   ~0038284

Occurs (to some degree) with a giant raven mutilated corpse in the save below. The corpse will move if you get dwarves close enough, but it does not move by itself, and certainly doesn't path down into my fortress like I'd like it to. Also occurred earlier with a gander corpse.

http://dffd.bay12games.com/file.php?id=13734

Appw

2021-11-11 18:16

reporter   ~0041173

I think this is still an issue in 0.47.05.
Here is a save with some flying dwarves:

https://dffd.bay12games.com/file.php?id=15739

Add Note

Note

Issue History

Date Modified Username Field Change
2010-06-12 06:13 Quil New Issue
2010-06-12 07:51 commondragon Note Added: 0008196
2010-06-12 10:27 user6 Relationship added related to 0002285
2010-06-12 10:30 Quil Note Added: 0008201
2010-06-12 11:08 PencilinHand Note Added: 0008202
2010-06-12 11:08 PencilinHand Note Edited: 0008202
2010-06-12 15:03 Quil Tag Attached: Flying
2010-06-12 15:03 Quil Tag Attached: modding
2010-06-12 15:03 Quil Tag Attached: pathing
2010-06-12 15:21 Quil Note Added: 0008219
2011-04-09 09:50 Kogut Note Added: 0017238
2012-04-05 00:38 Kogut Note Added: 0022096
2016-09-27 07:55 Loci Relationship added has duplicate 0010019
2016-09-27 07:57 Loci Relationship added related to 0004776
2016-12-29 16:58 Loci Relationship added parent of 0009362
2016-12-29 17:05 Loci Note Added: 0036115
2018-05-07 18:32 a52 Note Added: 0038284
2018-05-07 18:34 a52 Tag Attached: pathfinding
2018-05-07 18:34 a52 Tag Attached: z-levels
2021-11-11 18:16 Appw Note Added: 0041173