So I wake up this morning with the thought that soon I am going to be done studying AI. Knowing that I am in the final stages of writing my pathfinding and movment systems.
Then I read this thread.
Before I lose another 3 months to AI I figure I should ask some questions. Maybe it will save me some time.
How does this system perform with large amounts of objects(thousands), vertices(millions), and triangles(millions)?
For instance, with jme3 physics alone, 1100 + physics objects loaded into the scene brings the engine to its knees. FPS of 12 at best. Usually one.
jme3 physics + recast pathfinding is identical. Very low FPS. Basically an unplayable game.
No physics and just recast for navigation and I can load thousands of objects, with millions of verts, and millions of triangles with varying degrees of success.
With 200 simultaneous
pathfinding and moving objects, I have at worst a 5-6 FPS LOSS.
With 400, I have about 15 FPS loss, etc.
At 1100 simultaneous
pathfinding and moving objects, I am down to 12 FPS. Which seems to be about as bad as it gets using this system.
This is only with 5 behaviors though.
ANTICIPATE_TURNS;
OBSTACLE_AVOIDANCE;
SEPARATION;
OPTIMIZE_VIS ;
OPTIMIZE_TOPO;
I have not written arrival, wandering, or other behaviors like course correction when chasing, which this system GDX-AI mentions, yet.
The main drawback to recast is its very complicated and I don’t like how detour-crowd does pathfinding. Crowd uses a corridor and agents can move within this corridor a lot. Not a problem for a NPC, however its to loose for using with PC navigation.
So to summarize my questions,
How does this system perform with large amounts of objects(thousands), vertices(millions), and triangles(millions) simultaneously moving and pathfinding?
How easy is it to implement and maintain?
Do you have to implement separate systems for movement for NPC and PC to get your desired results?
Edit: To clarify, I am talking about GDX-AI.