Neural nets control snakes and evolve

Check out my project. The idea is that there are snakes like in the game Snake. Each is controlled by a neural network. They can reproduce. And thus eventually evolve. It's on my Github. github.com/indjev99/Evolving-Snakes

Runs on Windows. On Linux it is fine with WINE.

Other urls found in this thread:

youtu.be/eQoa-uFyXFw
reddit.com/r/programming/comments/70lxap/snakes_controlled_by_neural_networks_learnevolve/
twitter.com/NSFWRedditVideo

did you give them a sense of hunger?

Nice work user
From what I understand, you do not modify your networks using backpropagation though, but by modifying them randomly ?

Not OP, but backpropagation is a spook. It's just a fancy word for regression.

Yeah, they lose energy as time goes on. Once they reach zero, they lose 1 block/square and the energy resets to the initial amount.

Yeah, I don't.

There are many ways to do a regression, and backpropagation is a more direct approach than randomly mutating the network
Although I'm not sure how it could be applied in OP's case

The main idea of the project was to have them learn trough evolution. It isn't really about the most efficient algorithm to train NNs.

>winshit

no thanks

now make me a robotfu that can love me

Well, the code is platform neutral. It is just that the version of GLFW in the project folder is for Windows. You can easily change it for the one for Linux.

>wants people to try his work
>won't even port it to AutismOS

you Veeky Forumsentists need to take business 101

The fact that it's winshit specific makes it instantly clear that the code isn't worth looking at.

make a webm

As an example, I had a project that won a competition, honestly, just because mine was easier to test.While all the others you had to go to a hassle, what I did was setup a simple server on my PC to host instances of the program and cast the data (the rendering was up to the person's device) to the user on my project's website.Even though my work was far from the most technically complex on the competition, I ended up winning just because the normies who were voting could test mine through their smartphones.

This, make a webmeme

Project is in C++. Can I do this without rewriting the whole thing. Am willing to rewrite the UI/graphics only.

holy shit man, record the program running using any screen recorder and covert it to webm

Lol. Don't know what happened in my head there. For some reason ?I assumed that this is something like a web application.

Anyway, sure I will do that when I wake up. I am going to bed now. If this thread is alive in 8-10 hours I will post here. Otherwise just in Veeky Forums. Also will link it on the GitHub page.

good night user, see you later and don't worry, your thread will be here

looking forward to that webm user

Welp, slept a bit longer than expected. Will record it and post it within the hour.

any questions that google can't help with just post in here user

everything's alright user?

Bump + want to see webm also

Be careful OP, if real snakes got ahold of this technology they'd certainly become the dominant lifeforms on Earth

Yeah. I am just a fucking autist and took about 2 hours to figure out how to record video. :D I am editing it not (cutting out me failing to speak English).

editing it now*

Decided to upload it to YouTube. This is the link: youtu.be/eQoa-uFyXFw

It is currently being processed, will be ready shortly.

Published now.

pretty cool

My fucking god, you want to summon satan or some shit?

REPORTING IIIIN

What? :D

OP here. Posted this on reddit too. reddit.com/r/programming/comments/70lxap/snakes_controlled_by_neural_networks_learnevolve/

>It's just a fancy word for the chain rule.
ftfy brainlet

I'd have more fun writing the same code myself than porting it to Linux. Write your software cross-platform like a big boy next time.

Told you the code is cross-platform. The only thing making it for Windows is the version of the library. You can literally download the version for Linux build it and replace one file. I'm just not sure how to have two versions of the project on GitHub.

You can use snakes in other senses to do learning which is much more versatile than deep neural nets. But it does not matter much since the whole world is having mass hysteria about deep neural nets for the moment.

cant you just fork it

I could be wrong because I don't do a lot of C/C++ but wouldn't you have the libraries installed outside of the repo and just link to them, in your makefile or something?

>what are branches
Please kill yourself.

Newfag.

I know what branches are. But they are usually used for developing some feature(s) and then merging to the master branch. I haven't seen them used for versions for different platforms.

That's because sober non-brainlets know how to use make files or make their code cross platform, but there is no rule that says "you're only allowed to do what you've seen others do with git".