Ok, here’s the deal: I saw Siwoo Kim’s neural network (a long time after it was uploaded… wasn’t on LOWRES for a while) and I was instantly inspired. Immediately after seeing it I started programming this neural network on a 2D plane instead of his 1D one, and being on a long road trip for my holidays I decided there was nothing better to do. Don’t ask me how I did it in only a few hours straight, I can only say it was easier than I expected.
Anyway, you can change some minimal settings at the top of the code, like the allowed time the “animal” has to reach the food and whether the play area has walls or if it loops. Playing the program, you can tap the screen to pause/unpause evolution if you see a funny or actually functional neural network. I didn’t add a neural network modifier because firstly, I can’t be bothered, and secondly, I feel it wouldn’t be an “Evolution simulation” anymore as much as just telling it what to do… it’d ruin the whole experience!
The network is actually pretty darn awful at getting to the food… its best strategy is sitting in one spot and waiting for the food to bounce towards it. I think I overcomplicated it; imagine when the program realises all it needs to do is make its velocities the X and Y distances to the food. But, I wanted to give it a hard time and instead give it data on the food’s relative position and its momentum, just to confuse it!
Alright, enough with the rambling… I think I had too much coffee today… I give lots of credit to Siwoo Kim and enjoy!
Get LowRes Coder to use this program.