I've always been interested in the making of video games, and even got my start programming by building simple games. In order to learn python, I decided to do a mini-project that would introduce me to various modules. I decided to remake the popular dino game on chrome that shows up when you go offline. I was also learning about some basic AI concepts at school and I wanted to apply that to this project so I then modified the game to include a neural network that would learn to play the game by itself.
My version of the Chrome Dino Game is nearly identical to the original, with an accurate physics model, infinite scroll, soundfx, and a saved high score. I then modified it with a neural network that learns to play the game over time and consistently got better.
- Python's PyGame and Math model
- Neuroevolution of augmenting topologies(NEAT) neural network for training
- This was one of my first exposures to python so I had to learn the language and the modules that came along with it
- I had to learn about Neural Networks and how they worked
- Had to understand the NEAT pattern
- I had to play around with various labels in the network to get an ideal, "smart" model
- This project was one of my favorites because I genuinely enjoyed everything that I was learning about. I got a little insight into the complexities of a player model in video games with things such as boundaries, collision detection, and physics.
- I also enjoyed learning about neural networks and the science and math behind them.
- Clone the repository
git clone https://github.com/Gautham-Raju/Dino.git
- Change the working directory
cd Dino
-
Python: Primary Coding Language
-
PyGame : Cross-platform video game module
-
NEAT : Genetic algorithm for neural networks
- I want to explore other machine learning models and compare their performances to learn which one would perform the best.
Gautham Raju