geon at October 14th, 2009 13:18 — #1
I'm working on the AI for my racing game. Does anyone have any suggestions or advice? Google doesn't turn up much.
So far, I have a basic waypoint system set up, so the AI caes follow the track. I also implemented a system of raycast "whiskers", so the cars can do some simple obsacle avoidance.
The proble is, they get stuck in corners way too easily, and generally look stupid.
Any ideas, hints or links would be appriciated.
alphadog at October 14th, 2009 14:09 — #2
There's some old stuff here:
There's Craig Reynold's stuff online on flocking/swarming.
This should give you more than enough keywords to help make Google your b**ch...
geon at October 15th, 2009 09:05 — #3
Thanks for the links!
And I should mention that the game is for the iPhone, so it needs to be light-weight.
geon at October 19th, 2009 11:59 — #4
I have the pathfinding working great now. I implemented this: http://www.red3d.com/cwr/steer/PathFollow.html pretty much verbatim.
I want to combine it with some kind of obstacle avoidance. This:
http://www.red3d.com/cwr/steer/Obstacle.html or preferably this:
http://www.red3d.com/cwr/steer/Containment.html would be great.
However, I don't have access to the same data. I can raycast into the scene or selections of it, and read the normal, position, object etc. from the hit, but that's pretty much it.
The "Obstacle" algorithm in the links use the center of the objects, which I guess would work fine for circles, but I use mostly boxes. The "Containment" algorithm use a general interface where it query the wall for the nearest-point-on-surface. I don't have that available in my engine (Unity), and I don't think it's feasible to implement it as a script. It also seems to work best with rounded corners.
Any other ideas?
monjardin at October 26th, 2009 12:47 — #5
I recall reading an interesting interview with the developer of a rally car racing game that used neural networks. I believe this is it.
geon at October 26th, 2009 21:45 — #6
Thanks, monjardin. An interestng artcle. I had some thoughts about neural nets or whatnot, but I think that's out of my league for now. The actual path following works great as it is, while the obstacle avoidance could use some work.
I've implemented an epic hack to solve the problem of cars getting stuck. When they are off screen, i simply move them back on track if they have been too far frm the center of the path for too long. It works pretty well!
hyper at November 1st, 2009 23:49 — #7
i simply move them back on track if they have been too far frm the center of the path for too long. It works pretty well!
I remember a few games that did that bullshit, it annoyed me... 'Cause I knew they couldn't pop back on the track that fast.