Hello Beorn,
Sorry for taking so long to reply, i didn't see your post until now
Intense Pathfinding is meant to give you a way to navigate around static environment, and therefore will not act on any dynamic entities blocking the path. In the industry, pathfinding is seperated into long-term and short-term, and both are used in games, with the one complementing the other. Long-term(such as Intense Pathfinding) only considers static environment, and Short-term(such as an obstacle avoidance method) will only consider dynamic environment. Both algorithms are used to navigate the Npc, with the long-term giving out the route to the destination, and the short-term to make him stray away from that route whenever a small dynamic obstacle comes in its way.
From my comments in is_POV_Pathfind.wdl
Code:
//You will effeciently make use of this mode, if you first build a collision avoidance layer in addition to your long-term pathfinding
//The Longer Term Pathfinding should only consider STATIC level blocks or MDLs
//The Obstacle Avoidance should only consider DYNAMIC models
//With the absence of an obstacle avoidance algorithm, this mode now considers all models when pathfinding
//To Have Long-Term Pathfinding ignore other dynamic entities, restore the comments in the if clause below)
and then in is_ai_subactions.wdl
Code:
//Enforce A Obstacle Avoidance Method
//Obstacle Avoidance Using c_traces and Recursion (disabled)
//AngleToWayPoint=is_SubAction_ObstacleAvoidanceCtrace(AngleToWayPoint,DistanceToWayPoint,0);
//Obstacle Avoidance Using Repulsive Vectors (disabled)
//AngleToWayPoint=is_SubAction_ObstacleAvoidanceRepulsionVecs(AngleToWayPoint);
Obstacle Avoidance has been disabled in Intense Pathfinding, so you'll have to create your own function, which will return a value to AngleToWayPoint that controls the direction of the pathfinding entity. For simple obstacle avoidance methods, look inside the AUMs, for entites avoiding things ahead of them by using c_traces.
If there's enough demand for it, I'll add an obstacle avoidance method to Intense Pathfinding and upgrade it to Lite-C, but for the time being, i'm a bit busy working on IntenseX. If you need any more help implementing your own OA algorithm, let me know and i'll try to help
Cheers,
Aris