Mucky Creature is a company run by one person and sometimes it's difficult to find the time to work on these projects. Unfortunately November has been one of those times. Lots of other things crop up that demand your attention and, when you do find a bit of time, you're a bit too frazzled to be able to focus on code. So, it' been pretty slow going this month...
That said, the work I have managed to do has been focussed on how AI cars recover after leaving the track. The AI does make mistakes and, most of the time, this just means they go a bit wide in a corner but sometimes they do end up off the track. Also, when going wheel to wheel with anther driver the "aggression" factor of the AI driver can mean that a more placid driver won't turn in on a competitor and can then run out of room to make it through the corner. The other situation is where a car has been bumped by another car and has ended up off the track.
In simple situations the AI car can work out where it's meant to be going even if this is not the waypoint it was originally aiming for. This process of skipping a missed waypoint is often enough to allow the car to recover and carry on racing.
However, in some extreme cases the AI car may end up in the gravel or in such a position that it can't drive its way out. In these situations we have to "break the spell" somewhat. I could implement a solution that allows cars to execute a series of back and forth movements to return to the track. This would be a lot of work and it's not something that I think is a wise use of my time at present as it doesn't significantly improve the game. So, currently my solution is to allow the car time to recover on its own but, if that doesn't happen, it is moved to the next waypoint, correctly rotated and released.
This seems like a reasonable compromise between the work needed to achieve something and the actual impact it has on the game. I'm hoping this is one of those situations where a shortcut is acceptable.