🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

3D Collision Avoidance using Steering Behaviors

Started by
4 comments, last by IADaveMark 5 years, 6 months ago

Hi there! I'm developing a 3D drone racing game. I'm implementing the AI movement and I've applied the Craig Reynold's Path Following Algorithm. Now I want to make the Obstacles Avoidance. My main question is how to determine the best Avoidance target to Seek it, in order to not collide with obstacles. Does anybody know a good solution for this situation?

Advertisement

Somewhere right near your link for steering is his examples for obstacle avoidance -- be it for fixed objects or dynamic ones.

Edit: Ugh... clicked over there and was reminded that his java apps don't exist anymore and so one of the best websites for n00bs looking to get into this is trashed. Sigh.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

Mmmmmm... okey. But, do you have any idea of how can I face this situation?

Thank you.

If you already use path following to "drive" you can avoid collisions with static objects by simply adjusting the path your drones follow until a drone can complete the whole race without crashing. 

You'll probably need more data than a 3D curve representing the optimal path, such as

  • velocity limits by location and facing
  • next waypoint to aim for, by location and facing

Then you only need to worry about collision with other drones; your drone must override the normal path following to slow down and avoid collisions.

It is relatively easy to compute, or to estimate conservatively, the set of objects the drone is going to collide with before a certain time increment; if it is nonempty the drone can simply brake, and it will fall behind if the obstacles are other racers. Regarding braking, since a drone doesn't have to worry about losing grip like a car, you could apply maximum thrust in the backwards direction for the shortest time necessary.

Omae Wa Mou Shindeiru

There's tons of other information out there on "steering" and "obstacle avoidance" and whatnot.

Dave Mark - President and Lead Designer of Intrinsic Algorithm LLC
Professional consultant on game AI, mathematical modeling, simulation modeling
Co-founder and 10 year advisor of the GDC AI Summit
Author of the book, Behavioral Mathematics for Game AI
Blogs I write:
IA News - What's happening at IA | IA on AI - AI news and notes | Post-Play'em - Observations on AI of games I play

"Reducing the world to mathematical equations!"

This topic is closed to new replies.

Advertisement