This project is a demonstration of Evolutionary Machine Learning Algorithm running purely in JavaScript.
Open this live link in your browser to get to a sandbox and refer to these steps if required:
-
In this sandbox you can click anywhere on the grey area to select a starting point for your entities.
-
Once you have selected the starting point, you can click or drag from the area around it to create a path (made of square blocks) for the entities to follow.
- Once you have created a path, you can click on the start button on top left corner to spawn entities, these entities will learn from performing completely random moves to traversing the path improving slowly generation over generation.
Generation | Progress |
---|---|
First Generation | ![]() |
Generation 2-5 | ![]() |
Generation 6 | ![]() |
Stage | Randomisation |
---|---|
First Gen | ![]() |
Early Generations | ![]() |
Moderately Trained | ![]() |
Well Trained | ![]() |
No installation is required.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
p5.js was used for the demostration.
p5.js is a JavaScript library for creative coding, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else! p5.js is free and open-source because we believe software, and the tools to learn it, should be accessible to everyone.