Original Post
Hi all,
Learning about computer game AI, and want to achieve robust steering before I get into the motivation aspect.
The geometry is a convex-cell based portal engine. I am able to calculate the shortest path using Djikstra''s (sp) algorithm, and it seems to work well. For each portal I generate 2 points. One directly in front of the portal and one directly behind the portal, and add them to a list of navigation points, so I dont get stuck on door frames when coming at an angle.
The next phase is obstacle avoidance, and I could use some guidance from those who have been down this path. For a bipedal humanoid model traversing a set of convex portals arbitrarily shaped objects within cells, what would be a good method of navigating around objects to get from point A to point B within a portal? It would have to take into objects that you can easily walk over, such as for argument''s sake, a speedbump type object that spans the entire width of the room.
So far the idea that I am thinking of is creating a frustum from the point of view of the agent''s eyes when pointed directly at the target position, and for any objects visible, first use a sort of sweeping-ellipsoid or sweeping-box technique to see if they obstruct the path, and if so, alter the path one direction or the other based upon the distance from the obstacle, and the width/breadth of the obstacle. This would mean that an agent that is walking backwards or sideways may not see the obstacles, and may not move to avoid them, which may not necessarily be a bad thing. Then i could detect the object using my standard collision detection, and try to navigate around if desired using the same method. This would give a sort of navigate-by-feel effect.
This wouldnt be too hard to implement I think, but I think it would have a lot of shortcomings which could quickly become computationally expensive when there are multiple objects within a close proximity.
Any comments or suggestions for a more robust method would be great. Thanks
Peace