Coding Challenge #100: Neuroevolution Flappy Bird - Part 4

preview_player
Показать описание


Other Parts of this Challenge:

References:

Videos:

Live Stream Archive:

Related Coding Challenges:

Timestamps:
0:00 Part 4 of Flappy Bird--Incorporate features suggested on Github
2:27 Add y velocity to the inputs
4:37 Fixing the algorithm that detects the closest pipe
7:09 Remove a bird when it hits the bottom
9:40 Make game harder by decreasing the spacing between the pipes
12:40 Optional feature: a bird can only jump if moving down
14:47 Conclusion and goal of the last part of this challenge

Editing by Mathieu Blanchette
Animations by Jason Heglund
Music from Epidemic Sound

#neuralnetwork #reinforcementlearning #geneticalgorithm #evolution #flappybird #javascript #p5js
Рекомендации по теме
Комментарии
Автор

that bird at 9:00 is the chosen one, second generation already beat the game :D

VanillaTukan
Автор

Honestly I'm impressed that the birds could do as well as they did when they didn't have the y-velocity information. It did occur to me that if the birds had a more complicated set of hidden nodes they could theoretically evolve to be able to calculate the y-velocity from successive y-value inputs though. This series of videos is really interesting.

Edit: given that the y-velocity is the type of input that could theoretically be anything between minus infinity and infinity, it seems to me that it could be rescaled to be between -1 and 1 by plugging into a non-linear function like tanh(y-velocity). That's something I'd like to look into when I try doing neuro-evolution.

toriknorth
Автор

@1:01 I laughed so hard on that "KAPHOOT"

MuhammadTajammulZia
Автор

WOW I actually got the idea from another comment, but It would really be amazing if you made a Rubik's cube first and its solver with a neural network if that is possible with your library !!!

CoDLuluser
Автор

Can you code a Rubik's Cube solver?

shaharmontekyo
Автор

I think the last change you made was more like flappy bird. It looked cooler too. Shouldn't have changed it back :(

vcothur
Автор

1:01 xD ... somehow made my evening ! thank you for your great content

zenmonke
Автор

A game that creates sophisticate birds! :) 2:34

luismiguelgallegogomez
Автор

Does kind of show how simple a game flappy bird is that it's possible to 'evolve' a solution with some of these versions in 8 generations or less. XD

KuraIthys
Автор

At some point I stole a without landing it or breaking it and escaped to Latvia

toastyPredicament
Автор

It's funny as a German to hear "kaputt". It means broken.

Belissimo-T
Автор

wait, when did the output change from 1 to 2? and what are they?

flodderr
Автор

Hey Dan, first of all thanks for this amazing video.
I have a specific question that I didn't find anything about on the web.
Remember how in your processing video tutorials about video capture, you were using a function in processing called captureVideo( ), with which you would be able to individually store your previous image from the camera?
I am currently on p5.js, and I need this exact functionallity. However, I haven't been able to find any information on how to do that. I just need a captureVideo( ) function for accessing the previous image. Otherwise, I would have to do it in draw, which is just too slow because of the higher framerate.
Thanks again for your amazing work! You really have helped me get more creative in coding :) Love your work, greetings from Germany

Rankhole
Автор

3:40 inputs[4] = 0.5 + this.velocity / (.5 * height);

nietschecrossout
Автор

I think Saving and Loading brains is super important.

kustomweb
Автор

can you make a neural evolution game where there exists no winning or losing or being better?

SPoot-rqvr
Автор

In the original you wouldn't die if you hit the floor. I used to go along the floor until I had to rise

JinTsen
Автор

The german word "kaputt" describes a state or is a verb, so a bird would get kaputt or gets/is made kaputt

joshinils
Автор

hey. I need help setting up a localhost. any chance you guys help? thanks

davidgolab
Автор

is it to late to start learning to code with 30 ?

TheGreen_