Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles

Evolution

Create creatures and let them evolve to see how they master various tasks. · By Keiwan

Question about the learning

A topic by chrissikek created 73 days ago Views: 224 Replies: 4
Viewing posts 1 to 3

First of all, hats off,  real awesome game. 

I have a question about how the learning is done, because i felt like i had difficulties training a slightly larger NN even over extended amounts of time. Is there maybe a learning rate decay or some other enforced convergence? If so would be nice if you could change it to make slow and more complex learning easier.

Thanks!

Chris

Developer

Thanks! No, there is no manual learning rate or enforced convergence that I have control over. All algorithms are exactly the same no matter the size and complexity of the network. I have seen a few impressive results with networks that were significantly larger than the default setting, but I haven't found a clear guideline to consistently achieve that. 

Is there any way we could add to or refine the mutation algorithm ourselves? I recently tried implementing some closer to the state of the art genetic algorithms like Covariance Matrix Adaptation and pepg, and I was thinking it would be cool to be able to see the difference in learning ability in something like walk cycles. See I'm not any form of games or simulations programmer so it would be cool if I could have a way to get the populations genome strings and generate a new population from them myself, say by being able to write my own generation function, or even if I could just get a button to download the string myself.

Thanks for adding the mutation rates and such as options btw, it's made your app a useful tool for demonstrating evolution to students at my university (I'm a volunteer tutor for the computing department).

Developer

I can't really give you that option within the release version of the simulator (other than maybe implementing different ones myself and just letting you select the one you want), but if you like, you can clone the source code from my Github and play around with that yourself. There's a Mutate method in the Evolution class that takes two parent chromosome strings and returns two offspring chromosomes, so that would be the only thing you'd have to change.

The project is not open-source - I'm currently not looking for collaborators and you can't redistribute the code so essentially all the regular copyright stuff applies - but feel free to experiment and play around with the code for any kind of personal or educational use! You can also send me an e-mail if you have problems with running the project or have any other questions. It might take a little while before I can answer because I'm a little busy at the moment, but I'll try to respond as quickly as I can. As a sidenote, I used Unity 2017.4.0 for the latest released version and haven't tested to see if anything is potentially broken in Unity 2018.2, so I'd recommend getting the 2017.4.0 version from the archives in case you want to edit the project.

> if you like, you can clone the source code from my Github and play around with that yourself.

I'll give that a go, thanks a bunch.

> The project is not open-source - I'm currently not looking for collaborators and you can't redistribute the code so essentially all the regular copyright stuff applies - but feel free to experiment and play around with the code for any kind of personal or educational use!

Any changes won't really leave my computer/the projector in my classes, so I'm not too worried about copyright, thanks for the advice offers :D