to ensure that it could handle the over and under problem. At first it couldn't, but after a few small changes, it started
to work very well.
Here's a shot of my first tower level test :
...and the fixed version :
I'm still having a slight problem at the bottom of stairways. The navigation system often allows AIs to jump off the stairs a bit near the bottom, which is not a problem, but it too often sees this as a two-way link. Making the height tolerance tighter leads to the middle section of stairways getting counted as not walkable. To fix this I might have to take a completely different approach to navigation testing, but seeing how I've already spent way too much time on it, and it does work 99.99% of the time, I may instead be forced to rely on other means.
One option is to have the level editor create the nav map, and optionally display it, and optionally have the ability to edit it. I think an easier option would be to have the editor able to generate & display it, but not directly edit it, instead you can modify the level a bit so that it's not ambiguous.
For instance, one could add a pillar, or post, or some other object or wall to the bottom of a ramp or stair that was large enough to impede walking through. That way, one doesn't have to edit the navmesh itself, which would seem hard to manipulate manually as well as track changes to programmatically.
I've also been working on the AI, which is a bit more of a challenge than perhaps other games, since you can see the enemies all around you, which makes it more obvious than say, a FPS, if they do anything stupid.
I've made a few more fixes to the level editor, like having it track when you've made changes to the level without saving. The physics continues to be a struggle, but progress is being made.
In other news, we now have a talented modeller & animator on board, and my coding partner has signed up to handle the animation system, so we're all very excited to have real artwork in the game.
Here is a shot of the enemies properly persuing me all around the tower level :