Made it render out the navigation nodes so I could see what was working and what wasn’t as a precursor to writing the actual pathing code. Found a couple of really nasty bugs that were exponentially increasing the navmap generation time, so now for a complex level it’s about 0.7 seconds — still too long for me to feel comfortable with happening each time the level is changed, but getting closer.
Here’s what it looks like now:
I’m not sure about some of the paths it’s looking at as viable candidates, most particularly the connections between the ground tiles directly underneath this platform and the edges which would require doubling back around. I don’t think those would ever be a viable connection, since any jump attempt would check out as blocked, so I should probably figure out an exception for those circumstances. Other than those, and the nodes trying to go through the solid wall of the tree, these connections look pretty good.
Tomorrow I’ll see about adding some simple blocking detection to connections — unfortunately likely to add quite a bit more time to the navmap generation, but will generate an even more usable result. I’ll also make it so it won’t make connections to the left of the platform if it’s to the connecting point’s left, and vice versa for the right. Hopefully those won’t take too long, and I can start working on the pathfinding algorithm itself.