BiagioFesta / aimaze2

Machine Learning project in which AI plays the "T-Rex Run" (Google Chrome Dino) game.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

AIMaze2

Brief Description

AIMaze2 is a study project about machine learning techniques. In particular, a NEAT algorithm is used in order to evolve neural networks.

Game Rules

The AI plays the Google Chrome Dino Game.

ScreenShot Game

The player can perform two actions: either jumping or bowing in order to avoid the obstacles during the run. The dino will bump into different kinds of obstacles each of them has different shape and position.

AI Evolution

The evolution of the AI is performed by means of a NEAT (Neuroevolution of augmenting topologies) algorithm. It allows evolution and learning of the neural network by means of a genetic algorithm.

In the beginning, the network is entirely lacking connections. Only input and output neurons are instantiated. Subsequently, a population of several networks will start playing the game and learning with the classic selection and crossover typical of genetic algorithms. The score performed during each generation will give the value indicative of the network's goodness.

Technical Aspects

  • As this project is primarily an educative study, all methodologies and the environment are implemented and written from scratch.
  • The software is entirely written in C++. In particular, the new standard C++17.

Compilation Guide

See the Guide Here in order to compile the project.

About

Machine Learning project in which AI plays the "T-Rex Run" (Google Chrome Dino) game.

License:GNU General Public License v3.0


Languages

Language:C++ 98.4%Language:CMake 1.6%