/evolutron

A pygame evolutional neural network toy inspired vaguely by my nanogenmo2015 project

Primary LanguagePythonMIT LicenseMIT

Novel Evolve

An evolution simulator featuring neural networks and the occasional orange.

Background

In 2015, for NaNoGenMo, I made randomly-generated characters fight to the death on a map for the sake of writing interesting diary entries. They weren't very good at either of those things.

After falling down a YouTube rabbit hole one day, I came across various evolution simulators and then one that also used neural networks for its creatures. This sounded promising! So I tapped away at my keyboard until some things appeared on the screen with the aim of plugging in or reimplementing parts of my novel generator.

Latest screenshot

Screenshot of Evolutron

Running the simulator

This is still a work in progress and this may change, but roughly:

$ pip install pygame
$ pip install cython
$ git clone https://github.com/flexo/evolutron.git
$ cd evolutron
$ python evolutron

You will need Python 3.3 or higher. Sometimes this means the pip command will be called 'pip3' and the python command will be called 'python3'.

Troubleshooting

If you make a change and get the following error, delete ~/.pyxbld:

ImportError: Building module group failed: ['ValueError: ________________ has the wrong size, try recompiling. Expected ___, got ___\n']

License

This code is licenced under the MIT license; see LICENSE for the full text.

Essentially this means you can do what you wish with the code. An attribution to http://github.com/flexo would be appreciated.

(Please note that this license does not apply to my Youtube videos or other resources external to this repository.)