Welcome to the Evolutionary Reinforcement Learning for Dino Game project! In this repository, I have implemented a genetic algorithm combined with reinforcement learning to teach an AI agent how to play the popular Dino Game from Google Chrome.
I created a YouTube video explaining the underlying techniques and concepts utilized in the project, and showcasing the evolution of the AI agent as it learns to play the Dino Game. This video has gained significant attention, accumulating over a million views. You can watch the video here (it's in spanish).
To run the simulations yourself, you will need to have Processing installed. Processing is a flexible software sketchbook and a programming language designed for visual arts and creative coding. Processing provides a simplified environment for writing code and creating interactive graphics, making it an ideal choice for implementing the Dino Game AI agent.
To get started, simply download Processing from their official website https://processing.org/
Once installed, open the folder containing the Dino Game project and click on the "run" button within Processing. This will initiate the program and allow you to observe the AI's learning process as it strives to master the game.
You may wonder why I chose to develop this project entirely from scratch using Processing, instead of using Python and imoprting TensorFlow or other machine learning libraries. The decision was driven by my desire to deeply understand all the princples and details of the AI model. By coding every sigle aspect of the project myself, I had to immerse myself into the smallest features of the algorithms and understand the underlying mathematical concepts behind them. So yes, I could've implemented this way faster and easier using Python and it's advanced libraries, but I believe that coding everything from scratch has provided a lot more of valuable insights and knowledge.