Well, I got the swept navigation testing working last night. I'm actually still using spheres right now, but will switch to
capsules once I integrate that code in more fully. It's not urgent, b/c the bottom of a capsule is simply a hemisphere, so
as long as the radii of the two match, they should be able to navigate the same areas, other than the sphere being able to
squeeze itself into very short holes ( which my maps don't feature at this point ).
One problem that vexed me before, and vexes me still, is that originally my code supported sweeping from a->b and then later from b->a, and storing these links separately. Unfortunately, the two were not giving the same answer, even on flat ground. I would only expect a difference on hilly terrain.
Here is an example shot. Note the strange zig-zag movement in the sw corner of the map. This is due to the yellow links being
symmetrical, and the other dimmer links being one way. All of the cardinal links in this area were considered one-way for some
But, after spending over two hours trying to track down the issue, I ran an experiment making the two symmetrical, and you know, it worked perfectly, and gave me the exact set of walkable areas & paths that I expected.
Note how there are no more dim links, and also that the tops of the walls are no longer walkable.
So for now, and unless we actually need it later, this is how I'll do it. Perhaps if we do need asymmetrical waypoint links,
I can initially treat them as symmetrical, then add code to explicitly break them later as needed.
Here is the symmetrical swept check applied to the temple level.