...it's "announcing". Seriously.
(c/c++ argument) ASM!
Then the path finding could just treat non-passable as inf cost if that critter cannot pass that way. Not perfect, but fairly simple.
returns bad routes if no route exists-the current problem people ha'e with "restricted" not really stopping dwarfs if it's the only way.
TASK: FETCH IRON BOOT
LOCATION: MAGMA PIPE
Urist: Hey, I found the best route at infinite cost! Let's go!
Urist has died in the heat x180
Your fortress has crumbled to its end.Not only are rectangles the most common thing people build in DF
BAHAHAHAHAHAHHAAAAA...er, sorry.
Obviously, this makes for trouble if the traffic zones are changed a lot or are badly shaped (dots spread out in the middle of rooms and so on).
I'm not the only one who Restricts or Lows saplings when wood is a problem, or Highs valuable sand tiles.
But what about larger agents like wagons, two close trees can form an impenetrable barrier. Their would need to be a TCZ for each agent size which will probably be prohibitive.
this is one of the main reasons Toady is off multi-tile critters atm, I believe. (Balance issues, nailing down tile size are others). Wagons are currently in because you need, basically, to check the Depot Access twice per wagon merchantgroup- plus when you hit shift-D, ne'er actively...well, I think. Prolly wrong- I hear dead pathfinding kills(scuttles) a wagon.
You can also, for example, precalculate map for next season because you know that tree saplings will become obstacles.
uh, trampling.
Alternatively you could assume everything above a 'top level' zone is a trivial connection to critters passing through these can move freely, which although means a special case is probably a cleaner solution overall.
That's a possibility, although it's not trivial to carry out in practice.
[/quote]There is a huge problem with this, namely, underworld layers. Certainly treating fliers as special case with 'Outside Light' as a connected zone (not necessarily trivially, terrain ridges an be problematic) should be worth something.
On to constructiveness.
==Path Changers== The GoodBuilding completions, all sorts.
Buildings destroyed.
Mining, most sorts
Door locks
Channeling
(effects may be distant pathwise from the tile it's done from Not for fliers!
The bad/moderateLever-action stuff (take note: bridges can cut off paths when down, too- for fliers, or by ramps)
Caveins- precipitated by a Good, can be quite a lot of changes.
NEW: Exploration
The uglyWater flowing. (swimmers, nonswimmers. non-waterbreathing swimmers.)
Magma flowing. (magmaswimmers, the rest): Flows are also a problem, possibly in part because they affect pathing of dwarfs..tracking them's gonna be a bitch.
Water freezing.
Obsidian forming.
creatures moving (so you can avoid running into them an dhaving to go low/high) - this one is, I hear, a nasty FPS hit if you don't ha'e sufficient traffic space, as it causes them to (seek other path) and FAIL, which is slow.
it seems relatively trivial to maintain parallel route-maps for such as aerial, aquatic, magma-surviving,
[snip]
The above possibilities means multiplication 5-fold of the map (or, rather, 5 maps if better optimisation of each map can be made),
Except these features are nonexclusive! You can perfectly well have flying amphibious fireimmunes. (We don't, yet, I think). This would be able to use a path that, in theory, existed in none of the individual maps. So, maintaining each would be 2^flags. your 5x becomes 32x, which, considering the problem looked at...is nasty. And I count 8+ (okay, really 7 and a tristate, for 384x)
Also, by using a full byte, you add support for conditional blockage at a future date(8 bits per tile).
Um, we're already past 8 options
Terrain Move Abilities (
starver got some, but not all, Fieari picked up on building destroyer)
surface swim
underswim
fireimmune/magmaswim (does this ha'e an underswim variation, or just one? Might want three variants for Future.)
air-breathe
fly
open-doors(ugly. Can slip by when something else does)
lockpicking
BUILDINGDESTROYER:1
BUILDINGDESTROYER:2
"outdoors"-the order
Buroughs
FUTURE/less definitely useful
Trapavoid?
jump(N)
climb
fall-acceptable
glide
avoid-plants(Keep off the live shrubs/saplings?)- could be more a weighting factor, but I can see it causing walls.
digger
LIGHT (if faultily stored atm)- think vampires
Knowledge (faction X)
miasma
steam
mist
magmamist
dust
Nasty Pathing OperationsFlows?/Pressure?
Building (potentially)- find closest up to 100 of eachstone/wood/metal/blocks! Remember distances!