/godot-neuroevolution

Machine learning in godot. In this example, we use an evolutionary algorithm and neural networks to teach cars to drive on a circuit

Primary LanguageGDScriptMIT LicenseMIT

Neural Network: Neuroevolution - Godot Engine

Issues Pull requests

In this example, cars are driving on a circuit. They have sensors and a neural network. At first the cars don't know how to drive. The cars that go the farthest are replicated together to create the next generation.

This is a form of evolutionary aglorithm used in machine learning which is useful when we don't have data at the beginning.

See also my projects :

How to use

When we have chosen the best cars, we reproduce them to create a child.

var child = NeuralNetwork.reproduce(mother, father)

We can also create random mutations in the neural network.

var child = NeuralNetwork.mutate(car, funcref(self, "mutate"))

Dependencies

This project require Godot Engine 3.3.

Licenses

  • The source code is available under the MIT license.
  • Art Assets are available under CC0 1.0 Universal (Racing Pack by Kenney)