A personal research project for college. I wanted to dive into neural networks and see if it'd be viable for game development in this case. I ended up with a neural network that can learn to race on different tracks.
Steering: Left & Right arrow
Acceleration: Up & Down arrow
R: Restart Scene
P: Go back to the main menu
9: Slowdown time (can bug the Neural Network when trained at a different speed)
0: Speed up time (can bug the Neural Network when trained at a different speed)
This is an open (research) assignment for college where I chose to study how to create a neural network from scratch to use in game development. I had about 3 weeks for this assignment.
I wanted to create an AI opponent which was based of the data of an evolutionary neural network. I'd run the network multiple times, write the data to CSV and import it when a player wants to play. The AI will always play as good as it can get, which is sometimes quite unfair as it can become nearly perfect at times. So I'd run it to perfection and then run it again while giving extra fitness for taking large turns, slowing down while turning and such.
This idea proved to be a bit too much to handle in such a short time-frame while having no prior experience with coding a neural network and training it, so I brought the scope down to just a working Racing Car that can complete 3 laps on the tracks I made. I made the player, normal bot and general race logic in the first week and a half. Leaving ample time to learn and work on the neural network, but it somehow came together when I asked a class mate to pair program it. Cas is the best vocal rubber duck.
UI & Race Pack Graphics by KennyNL
Additional Support: Cas Jansen