namreeb / namigator

An intelligent navigation API for World of Warcraft Alpha, Vanilla, TBC and WotLK
MIT License
46 stars 31 forks source link

Path finding context #18

Open namreeb opened 4 years ago

namreeb commented 4 years ago

The user must be able to create a path find context to configure certain behaviors, such as:

Not all of these features need necessarily be implemented for the initial release, but a forward-compatible context structure should be created that can support them when they are introduced.

namreeb commented 4 years ago

Another possible context option:

oiramario commented 2 years ago
namreeb commented 2 years ago

why dont you reduce size of mmtile by detect angle > 60, then we can load whole instance map into memory. (all of navmaps of cmangos about 1.2G, and kalimdor of namigator > 4.3G)

Server-controlled movement does not honor ADT slope. The files are large because they contain not only the mesh data, but also the height field. This is to support temporary obstacles. It very well could be that temporary obstacles don't need to be enabled for large continents, so that data may end up being excluded by default.

The path generated by cmangos is usually in the middle of the road, and most of path of namigator are the edge of triangles, which will lead to easy falling to the next layer in some cases.

Can you provide a concrete example of where corners are cut to the extent that an agent will fall off a ledge? I don't believe that units in WoW have width, so they should be able to stand right on the edge and be fine. This also is important for successful pathfinding across the rope in the Blade's Edge Arena.

reference https://gamedevelopment.tutsplus.com/series/understanding-steering-behaviors--gamedev-12732. I think seek and collision avoidance behaviors are suitable for application scenarios. Shall we try to throw away CTM and use forward start / stop instead? The face of character is the driving force. Shortcuts you said that I think dont for namigator. We can set some connection points at the edge between area, so that cross region movement can move to these points first.

I don't understand the rest of your comment.

oiramario commented 2 years ago

Karazahn when agent move from A to B will fall off to conner. map id 532(Karazahn). forget my rest comment

namreeb commented 2 years ago

Okay, I opened issue #30 for this.