Skip to content

Evolutionary Reinforcement Learning for Dino Game: Train an AI agent to master Google Chrome's Dino Game using a genetic algorithm and reinforcement learning.

Notifications You must be signed in to change notification settings

santifiorino/dino-reinforcement-learning

Repository files navigation

Evolutionary Reinforcement Learning for Dino Game

Introduction

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.

Watch it on YouTube

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).

How to use

Processing

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.

Why Processing?

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.

About

Evolutionary Reinforcement Learning for Dino Game: Train an AI agent to master Google Chrome's Dino Game using a genetic algorithm and reinforcement learning.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published