OK. Question about the flying creatures. How do they move exactly? If they can move all their (x,y,z) coordinates by 1 at every move, there are 3*3*3=27 potential moves (including the case where the creature actually does not move). Is that correct? Or is it the case that when z changes, x and y cannot change (vertical take-off and landing). If this is the case, I believe the JP method can easily be extended. If not, then I fear there will be too many successors and it will be hard to reduce them to only one.
I believe they move in true 3D. At least, I know of no special rules for moving up and down. Quietust might know for sure. Ramps are also weird and I think they allow diagonal movement across z-levels. At least, that's what I remember reading on the wiki. So Quietust probably knows, because he tries to verify all the stuff that people write on the wiki.
Do I understand well that these designations are only used for the dwarves pathfinding algo, but that practically, the creatures are unaffected? Anyway, we started investigating weighted grids and the type of maps you describe should not be a problem.
Yes. Actually, I guess there may be an energy cost for diagonal movement, according to some half-remembered comment in some thread by the Toady One, but it was based on some integer approximation of sqrt(2) or something like that. I don't know that the pathfinding algorithm cares about that, though, I think it only affects movement speed. Diagonal movement is still faster than moving through two tiles, so I don't think that part really matters.
czolus, the approach you propose looks like the "visibility points" approach. It can be pretty efficient, but the problem is that, in certain environment, the set of successors of a node can be quite large, for instance in a forest-like environment. The problem is that you have to store these pairs of points, and this can lead to a prohibitive overhead.
Interesting, because we do have forests (though players tend to clear-cut them... and then get invaded by elves). There are also caverns and the like. Actually, DF maps tend to have a lot of dead space where no one needs to go along with an active core in the fortress where there are lots of different destinations.
And that reminds me of some other things. For example, Dwarves seem to cache their path and, when the terrain changes, they walk all the way up to the drawbridge (or whatever) and then get confused and find a new path (if they can... they will cancel whatever job they were assigned if it's impossible). So they only recalculate their path when they actually hit an obstacle, even if the environment changed a long time before they got there.
There are also special rules for doors. You can make them so that dwarves can pass (but pets cannot) and also lock them so that nobody can pass (though certain enemies can *destroy* them...). They also stay open for a short time after someone goes through. So animals, especially fast ones, may slip through while a slow dwarf carrying something walks through the door. Creatures can path through each other, but it slows them down and they prefer not to. You will see dwarves tend to walk around each other. Sometimes, one dwarf will even walk backwards a bit to let another dwarf through. It's anyone's guess how Toady manages some of this.
There's even talk of adding digging units someday. That ought to be interesting. I guess they'd have to assume that they can path through unknown areas... only to find out that maybe they can't, because there could be underground caverns, magma, underground rivers and whatever else in their way. And maybe the diggers will be able to swim or survive magma... so who knows? If not, someone would add one like that, I'm sure.
There are also traps. These are harmless to the dwarves that build them. Not so much to hostiles. Except that enemies who discover them spread the word so that future ambushes will *avoid* the traps they know about... if they can. If there's no other route to your fortress, they'll brave even known traps. So maybe there's some invisible path weighting going on in there.