Jeremy Blum
http://www.nintendoninja.com
We built an FPGA-based AI that uses video input from an NES console to automatically play the game Super Mario Bros. All of the video analysis and AI techniques are performed using Verilog-compiled hardware running on an Altera DE2 Cyclone board. The project combines NTSC decoding, VGA output, kernel-based pattern matching, real-time image manipulation, and NES controller emulation.
This project was created as a final project for ECE5760 at Cornell University in Spring 2013.
http://people.ece.cornell.edu/land/courses/ece5760/
This project was created by:
Jeremy Blum http://www.jeremyblum.com
Sima Mitra https://www.simamitra.com
Jason Wright http://www.jpwright.net
Source
Really cool project Jeremy.
Absolutely incredible. Next challenge: instruct Gordon Freeman to do a speedrun on Half-Life 2. lol
I'm sorry you didn't complete Eagle video series… I hope you gonna make some vids for FPGA?
You guys did a great job. We have a nes console with a ton of games. What made you guys pjck this a spring project?
I'm coming back to it! been soo busy w/ other stuff
NES is fun. And it gave us an excuse to play super mario in lab.
Great Im readinng the story behind your final project. Do use Raspberry Pi at all? I'm ordering one.
Did you graduate from Cornwell yet?
Yes, but I stayed an additional year to get my masters. I graduate (again) in a few weeks with my Masters degree.
Yes, I have three, that I use for all kinds of things. They are awesome.
Can it beat the game?
Jeremy, your awesome… Thanks for all the videos….. your tutorials are the best online. You have taught me to use Eagle PCB, and you are current teaching me to use my Arduino, Uno. I have only had it a week ( I am on tutorial 6), and I am already doing some really cool things with it, and have a good understanding. THANKYOU…..
100th Video…:-)
Nice, this is really an inspiring project. I have a FPGA module coming up next year, not sure if I can do something as ambitious as thing but has def sparked my interest.
Can you reveal your plans after you graduate or are they top secret 🙂
Neat. Would be nice to see more fpga videos, specially tutorials. I'm thinking of getting this board as well.
Get the PHD as well 😀
I've been following your work for some time now and this is just as neat, fun, and just plain awesome as all of your work so far. I hope you keep up the tinkering and open source approach. You are a fine teacher, thanks for the help so far!
Awesome work, Jeremy ! And it's always a pleasure to watch your videos!
I have lots of plans 🙂
I'll reveal them in a blog post in the next few weeks – all exciting stuff.
This project was fun, but I'm honestly not good enough at Verilog to make a good FPGA tutorial. I think I still need some FPGA tutorials!
We only designed the AI for world 1-1. The Kernels the identify the enemies, etc, are designed for the sprites in the "above ground" world. Since World 1-2 is underground, it doesn't work there.
Damn, I thought one day we would see a show down for "Man vs Machine" but with Super Mario Bros instead of Chess.
I suppose there is always your final project for your PHD right ;)?
Have you tried running the video signal through some other device to get it into a regular format?
I dunno if they generate a new NTSC signal or just pass the original, but you could try using a VCR or DTV converter box like:
NES RF out -> VCR antenna in -> VCR video out -> FPGA in
Nice work BTW, the pit at 0:40 looks like it would be tough to deal with.
Yes, we tried everything – we detail that on our website. Literally nothing we did, hardware or software, was able to fix the issue. VCR was the one of the first things we tried. Good ideas, though!
That's amazing. Well done!
all you did was to create a Bot. that has been done before. I was expecting some real AI.
If you tell me "but this is AI", then you have a different view of "AI" than I do. Or worse, a different view of just "I" or Intelligence overall.
I don't accept what you have created as an "AI" system.
And I'm not sorry.
you might like "Computer program that learns to play classic NES games" it really learns, makes mistakes in the process and even manages to exploit bugs you might never have known before /watch?v=xOCurBYI_gY
Rita corny Michael
what, one year for masters? Here in Germany we have to do two years for masters. 1.5 years lecture and 1 semester master project.
Read what AI is.
you confuse TRUE AL with "normal" AI. Read what AI before writing smth stupid.
Amazing!
hello Jeremy you are awesome. i watched your videos and subscribed to your channel. Can you make an introduction video of FPGA? my friend has an FPGA and he is working with his project. I want to help him in his project but i am not familiar with FPGA. Anyway, thank you in advance, cheers from philippines and Congratulation.
save FPGA for bitcoin
hii
that's an amazing video,
can I do the same thing on raspberry pi?