Since we can’t seem to get rid of the grid system, the “fix” would be:
1 - Have pathing on it’s own thread. This way pathing could continue on even if the grid was unloaded. This solves ALLLL kinds of issues
2 - Have taxis pre-load all grids that have a waypoint along the taxi path when a player chooses a destination. The taxi system needs a major rewrite anyway since currently taxis stop at all possible “stop” waypoints.
3 - Be able to specify how many grids are loaded from where a player is. This would solve lots issues (there is currently a patch that a forum member came up with to do this). This allows for things like DoT / HoT to continue when the player is no longer in visibility range.
4 - Add a conf option to keep all grids loaded at all times (blizz does this). Memory is butt ass cheap, and a server with 64gigs of ram could easily handle keeping the entire world loaded.
5 - Don’t wanna keep the whole world loaded? Add another option to only keep maps X, Y, Z loaded, and turn grid unload, or grid idle on maps A, B, C.
As much as the A* grid system sucks in it’s current form, and (most people think) using quad tree would be better, the A* grid system can be improved. As far as I know, Recast (which is used for mmaps, which is used for far superior path finding) uses the A* algorithm.
– Brian
EDIT: Here are some links to give you an idea of how things currently work, and how they could work:
http://en.wikipedia.org/wiki/Graph_traversal – Here is a nice primer on how to get from point A to point B, or how to find object B / creature B / item B from point A
http://en.wikipedia.org/wiki/A* – this is the “grid system” more accurately, this is what is used when a “grid search” is done. AKA - “The Current System”
http://en.wikipedia.org/wiki/Quad_tree – This is what everyone wants to rewrite the grid system to be. Yea, it is superior, but it would require a massive rewrite of “grid search”
You have to love Wikipedia /emoticons/default_smile.png