Pathfinding

It looks like although it provides handy collision detection, Panda3D has no built in function for pathfinding. i.e. Given an arbitrary, static 3D environment and the bounding box and position and movement properties of some sort of game character, a function is needed that will compute a path, a sequence of lerp intervals in Panda3D I guess, from the characters current position to any other reachable position in the environment.

This is needed to allow the creation of a simulated environment with computer-controlled characters moving around it.

Dealing with moving objects like the player or other moving characters is an additional task.

Is there anything available to help with this in Panda3D, or is it something I should program myself?

As far as I know, no one has (yet) written this and contributed it to Panda3D. You’re welcome to be the first!

David

Path finding can be a whole lot of things, dependíng on the game at hand.
There is A*, bread crumbs, path following, wall tracing, way point navigation just to mention some.
These all differ a lot in nature and habitats.

However, I do not wish to state that implementing AIs is not feasible.
Panda already has FSM implemented.

Fortunately Panda3D is an open source engine, so please do make a path finding package and share :slight_smile:

Thank you for the confirmation.

I have gotten the go ahead from my academic supervisor to commit my time to developing a free software pathfinding tool for Panda3D, my supervisor agrees with me that although it is something of a detour from my research it would be a worthwhile contribution.

At this point that is most likely what I will be working on in a week or two from now.

I implemented a pathfinding system for a 3D game as part of my undergraduate dissertation, so I have an idea of what the problem is and how to solve it, and I understand that there are different approaches to pathfinding and completely different systems are required for different kinds of game etc.

The kind of pathfinding I will be implementing is meant for a game that involves some static 3D environment like a house, a town, a castle, etc., and contains characters that move like humanoids by walking and running around, turning on the spot if necessary, going up and down hills up to a certain steepness and stairs, navigating doorways and corridors, avoiding falling off cliffs and ledges. There will have to be some basic avoidance of dynamic obstacles to prevent the characters from bumping into each other and the player, but at a minimum this might just consist of disabling collisions between Actors so that they move through each other.

Wow, that’s great news! I’m very much looking forward to your contribution!