Videos

Hardware-Based FPGA AI for Super Mario Bros.



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

Similar Posts

35 thoughts on “Hardware-Based FPGA AI for Super Mario Bros.
  1. 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…..

  2. 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 🙂

  3. 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!

  4. 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!

  5. 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.

  6. 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 ;)?

  7. 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.

  8. 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!

  9. 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.

  10. 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

  11. 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.

  12. 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.

Comments are closed.

WP2Social Auto Publish Powered By : XYZScripts.com