Long ago, now over eight years ago in fact, a couple books; Speed Secrets and A Twist of the Wrist got me thinking about approaching artificial intelligence in a completely different way. I had not much experience writing artificial intelligence, a tiny bit of pathfinding, decision trees, and a few other basic things that were class assignments or the such. Wouldn’t it be cool if the artificial driver had to work with the same knowledge and inputs as the player? You know, instead of directly moving the vehicle to the new location, the accelerator, brake and steering inputs would be used. The books also mentioned how important reference points are, so the driver should also use these!
I started a fairly epic thread on LFSForum that has evolved into my project log, but in the early days there were some difficulties explaining exactly what I wanted from the project, perhaps at the time I didn’t fully know or understand that myself. But over the years it has become more clear; this is a learning project, a brute force method to learning how to write and artificial driver. Is it the fastest driver, oh no- but getting faster. Is it optimized, ho ahahah – not at all. But it has presented me with numerous challenges that I’ve overcome and most of them with little to no research and just good old “thinking”. Which is what keeps this project going.
It has not been 8 years of constant work, there will be months of off time and then an idea pops in my head “what about …. “? and I build it out in my mind, get super excited and start working on a way to test out that idea. In the beginning it was a challenge just to collect the pertinent data. That evolved into a challenge to control the car in the LiveForSpeed racing simulator. The first time I got a car to move and aim at a cone (in a car park with nothing near) I threw my hands in the air with excitement. Unfortunately I don’t have footage or data available from these early days. The replays I had became corrupt over time.
I believe it would be a great exercise to go through the old history, pick out the most difficult challenges and victorious moments and bring them to life here in this blog. It is likely looking back upon this project could inspire new changes, make me reconsider old ideas, or at the very least bring the information to anyone interested. The trick is keeping it cohesive, as I want to write about current challenges as well as those in the past and that could get messy.
If you have ideas on how I should approach this, please let me know on @timbeaudet on twitter, or any other way you have to contact me.