An implementation of Kenneth O. Stanley's NEAT Algorithm for the Godot game engine, written in gdscript. This code is intended to be easily applicable to godot projects where the programmer wants to use neural networks to control agents.
Tested for godot 3.2.2
I have created a wiki with lot's of information on how NEAT works, and details about this implementation. If you want to dive straight into implementing this yourself, refer to the first page of the wiki.
If you are not already using godot, I strongly recommend giving it a try, the download page is here. The binary is tiny (~61 mb) and a portable install. It includes everything needed to run/edit the demos, or even making your own games. Just import the project.godot file, and it should work.
However I have compiled binaries (the windows one is currently bugged, will fix this soon), which you can find here, though I sincerely recommend running it in the editor for the reasons listed in the release.
The NEAT algorithm was originally conceived by Kenneth O. Stanley.
Matt Buckland's AI Techniques for Game Programming inspired me to undertake this project, and the c++ snippets included in the NEAT chapter were a great resource for starting off.
The font used in this project is google's roboto
And of course special thanks to the godot project and all it's contributors.
-
Car sprites were made by the user unlucky studio on opengameart - link
-
The explosion spritesheet used in the car and lander demo was made by JRob774 on opengameart - link
-
The moon texture was made by Murilo's Game Art - link
-
The brain used in the projects logo was made by an unknown user on pixelartmaker - link
- The car script is based off Ivan Skodje's 2d vehicle controller project - link