Original Post
I am developing A* pathfinding to run on a fairly large map. I am using a quad-tree to partition the space. The map is not tile based so an array implementation would not work as well as a Quad-Tree as far as I know (anyone do testing on this?). Anyway, I am having trouble with this quad-tree solver. The quad-tree works fine, the A* works fine, and together they work just as I programmed it... fine. Unfortunatly the paths are not optimal. Here is my problem:
To calculate the distance between blocks I calculate the distance from the two blocks centers. What if the optimal path should pass through the very corner of a large block? The distance would be completely wrong, much higher in most cases. This causes some pretty ugly paths. I can post some screenshots of a 2D test bed I made if my description was not clear enough.
-Greg