Game Development Community

Realistic Vehicle Pathfinding

by Wex · in Torque Game Engine · 09/25/2006 (10:13 am) · 5 replies

www.thewexionweb.com/posts/vehicle_movement.png
The vehicle (blue) can only move on the roads (grey) and shouldn't go on the grass (green). Just to make things really hard... vehicles, roads, and grass can be any size, shape, position, or orientation. Vehicles should obey road rules where possible (e.g: drive on the left) but clearly in this diagram the vehicle has to disobey the road-rules and drive on the wrong side of the road in order to squeeze into the narrow road.

The question is: How do I calculate a path from A to B to C if one exists? Here a path from A to B is there, but not from B to C. Thus the vehicle should get stuck at that point.

I'm all open to suggestions and speculation. I'm more after the theory to the solution; I don't really need code on how to get it into torque. That'll be the easier part ;), though if you feel like explaining through code, I don't mind.

So, hit me with your ideas...

\me braces self for confused silence

#1
09/25/2006 (1:58 pm)
Get a college robotics textbook, they solve this problem (well, most of them do).

"Path planning" or "configuration space" might give you some hits on Google, too (but there are many pages to wade through to get to the useful stuff).
#2
09/25/2006 (2:08 pm)
Look up A*. There is actually a few resources here on the GG website that you can just plug in. It will allow you to find the quickest non-obstructed route to a destination. How you get the vehicle to follow the route is another issue.
#3
09/25/2006 (6:04 pm)
Quote:Look up A*.

That's not quite sufficient, because most A* explanations assume that orientation isn't part of the deal, only passability. You really need to go to the robotics sources, because they've had to deal with (and solve) this problem.
#4
09/26/2006 (2:57 am)
Yer, I've already implemented an A* system for pathfinding accross terrain based on incline.

Hmm, Path planning. I'll give it a shot, cheers.
#5
09/26/2006 (4:57 am)
[edit] : oops, double post.