View Single Post
  #6  
Old 12-31-2007, 04:01 AM
fathernitwit
Developer
 
Join Date: Jul 2004
Posts: 773
Default

Quote:
Originally Posted by Derision View Post
My thinking is that using OpenEQ as a base like this, it is easier than using the real game client to visualise
exactly where and what the problems are, e.g. paths that attempt to go under the ground, through walls etc and fix them.

I had originally thought about using OpenEQ to visualise the paths generated by Apathing and look at
the fear pathing stuff, however as Apathing uses the existing grids/waypoints to generate it's paths,
I figured we really needed to fix all the waypoints before moving on to looking at fear paths, so that
Apathing is working from known 'good' data.
This is a very good idea. I had considered this, but gave up long before I got anything useful out of it. Your conclusion about having "good" paths as input is dead on. apathing relies completely on existing spawn and pathing data (since what else do we have?). garbage in, garbage out.

One thing you might want to throw in to the pathing visualizer would be some way to detect when a path or waypoint is under the ground (even slightly) or in the sky. Waypoints are not too hard, as you saw in the zone code (just bump them up a notch and try again). The more valuable test in this sort of client would be testing if the line between two points is crossing any solid boundaries. There are many cases in hilly areas where mobs path up a hill between two distant waypoints and fall through the floor.

The other thing I wanted to point out is another concept I added to apathing. There is a whole system set up for "fear hints". This is a way to feed good data into apathing to improve its results. Right now, the algorithm considers all hint points to be golden, and will try not to reduce them out or destroy them, so you have to be careful with them, but we could add a flag to indicate how important a point is. The idea behind the golden points was to manually set up major junction points (hallway cornders, arches, doorways, etc...) to help the resulting paths come out cleaner. Another concept which might be worth adding (cant remember if I did it or not), would be the idea of a "hint grid", which would allow you to add entire paths to the data, manyally created via openEQ or whatever, to be factored into apathing's calculations.

Final though would be that as you continue, it might be a reasonable step to tie apathing in with openeq, so you could click a button and have apathing run in hte background on the latest data, and then visualize the resulting fear grid (in both the overview like apathing spits out in PNG format, as well as your 3d view) so the user can see how things look.
Reply With Quote