Degree: BSc Computing (Games Development)
Project title: Investigating the effectiveness of a supervised learning algorithm for AI car control in racing games
This project aimed to investigate the effectiveness of supervised learning algorithms when used in the context of racing game AI. The project undertook a review of literature and developed an AI car controller using a supervised learning algorithm, the naïve Bayes classifier. The classifier was first prototyped in a Microsoft excel spreadsheet before being implemented within the Unity game engine as a C# script attached to a virtual car. The classifier was trained using driving data collected from the user as they drove through checkpoints placed at intervals along the track. The algorithm’s effectiveness and the overall implementation were evaluated by viewing its ability to navigate the track.
The naïve Bayes algorithm was found to output the correct decisions at the correct locations on the track using the training data collected. The car controller implementation would often steer the car off the track during straight sections due to the interval distance between checkpoints, requiring adjustments to be made to the steering angle when entering straight sections to enable the car to reach the following corner. Further work would include fine tuning of steering amounts and checkpoint distances, collecting more training data, and implementing other supervised learning algorithms to compare their performance.
Click/tap on image to view as PDF