Hi,
I consider myself a fairly experienced game programmer but for some reason I have never had the pleasure of working closely with AI (besides fixing some nav mesh generation problems at work). Now I have this hobby project that involves physics driven vehicles driving on a heightmap terrain and I would like to add AI to it.
As a first task I would like to spawn a vehicle, be able to click on the ground and have the vehicle drive to that position, avoiding steep cliffs and other obstacles. To facilitate this I have integrated Recast and Detour into my codebase and I can already draw the path from the start position to the end position. That's the easy part (I assume).
Now, my vehicles are completely driven by the (Bullet) physics engine, ie. I apply torque to the wheels to accelerate/brake, rotate them to steer etc. In other words I would like my AI to analyze the current state of the vehicle and determine how much of each value to apply to each input to get the vehicle to go where I want it to go. Do you have any tips on how this is usually done? The driving AI is not supposed to race against the player, it is supposed to be more alike to the AI driving the Halo vehicles. But at this point I am really only aiming to get one vehicle move to a position set by the player, not dynamic obstacle avoidance or such.
I started looking into PID controllers since they seem to be the way to go. Any other similar techniques I should look into? Good articles? Even books?
Cheers!