Skip to content

A genetic algorithm for playing games such as snake completely from scratch in C++

Notifications You must be signed in to change notification settings

shahanneda/EvolutionarySimulator

Repository files navigation

Evolutionary Simulator

An implementation of the NEAT (Neuroevolution of Augmenting Topologies) algorithm

image

This project implements the NEAT algorithm, which is an evolutionary approeach to training neural networks, and provides a GUI that allows visualisation of the algorithm.

The algorithm is implemented in an abstract way that allows any type of task to be plugged in. Currently, there is a Snake and XOR task.

Written in pure C++, with no external dependencies relating to the neural networks / evolution. GUI made using ImGUI/OpenGL/WebGL, can run both in the browser using web assembly, and locally. It is much faster when running natively compared to in web assembly.

Running

Run the script ./full_build.sh for a full native build, run ./emc_full_build.sh for a webassembly build (which can be tested with ./run_test_web_server.sh.

About

A genetic algorithm for playing games such as snake completely from scratch in C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages