Pong AI

AI Training with reinforcement learning using Unity's ML-Agents plugin.



This project was made during the second semester of 2020 and is a mix between game prototyping and machine learning. I wanted to work on a project mixing thoses two fields as I am passionate about game programming and have a rising interest in machine learning. After some researches on the tools I could use I found the perfect plugin to use for this project "Ml-Agent". A plugin made by Unity making it possible to train intelligent agents in a Unity virtual environment. It is fairly new, free and easy to use. I documented the steps needed in order to install it and too use it properly in the documentation available at the top of this document.

The idea to implement it into a pong video game comes from the simplicity needed to create this type of game and its originality. Pong games AI are always hard-coded and I found it interresting to try to implement a self-learning agent into this type of game. The game was easy and fast to create, allowing me to focus more on the reinforcement learning side of the project.

The results of the different trainings are available in the results part of the github page and are just a summary. For more information, you can read the whole documentation PDF of the project.

GitHub link