Computer program that learns to play classic NES games

Поделиться
HTML-код
  • Опубликовано: 31 мар 2013
  • This is an explanation and demo of software I wrote that learns how to play a Nintendo Entertainment System game and then automatically plays it. This is real.
    Research paper published in SIGBOVIK 2013: "The first level of Super Mario Bros. is easy with lexicographic ordering a and time travel ...after that it gets a little tricky."
    tom7.org/mario/mario.pdf
    Follow-up video with more games: • NES AI Learnfun & Play...
    And episode 3: • NES AI Learnfun & Play...
    For more info and source code, see: tom7.org/mario/
  • НаукаНаука

Комментарии • 2,9 тыс.

  • @moksha8473
    @moksha8473 9 лет назад +3930

    The part where the computer pauses the game so it won't lose is pretty creepy. I can't put my finger on it...

    • @What-Hapen
      @What-Hapen 9 лет назад +270

      Moksha This is some SCP-079 shit right here.

    • @dumbasffff
      @dumbasffff 9 лет назад +87

      Moksha thats because thats the way he projects his voice in the end

    • @nameguy101
      @nameguy101 8 лет назад +120

      Moksha I tried to put my finger on it but he paused

    • @yitzhak177
      @yitzhak177 8 лет назад +142

      Moksha Probably a suicidal rage quit. It's like if a human put itself into a stasis.

    • @Cha0sLord93
      @Cha0sLord93 8 лет назад +327

      +Moksha If the computer is programmed to win, it will not allow itself to lose, if the game is paused, it can't lose, however if it's programmed to win, then the game can't continue because it's paused, but the computer knows this so it thinks it won because it hasn't lost.

  • @vinifranchelli8566
    @vinifranchelli8566 8 лет назад +1989

    for us tetris is just a game. but for this computer, it was its lifes purpose. and the only way to keep its life going, is staying in the same place forever

  • @MrSonny6155
    @MrSonny6155 7 лет назад +1085

    "The only winning move is not to play."
    How about a nice game of chess?

    • @fishermedders
      @fishermedders 7 лет назад +16

      I was waiting for someone to mention wargames

    • @EDFHLFLFF
      @EDFHLFLFF 7 лет назад +3

      MrSonny6155 what about some tic tac toe

    • @MrSonny6155
      @MrSonny6155 7 лет назад

      N O W Y O U A R E T H I N K I N G L I K E M E

    • @handsombae
      @handsombae 7 лет назад +8

      *W H Y A R E W E S C R E A M I N G ?!*

    • @MrSonny6155
      @MrSonny6155 7 лет назад +5

      *Y E A H, C H E S S, C O M E O N !* - That one guy in the background in the ending.

  • @EebstertheGreat
    @EebstertheGreat 7 лет назад +389

    The walljump you see Mario performing works when his foot is actually on top of a solid block. Essentially, bad collision-detection allows Mario's foot to get pushed into a wall for a frame before being pushed out if he is moving towards it with enough momentum. So that walljumping is not easy, the coders added an additional check that Mario's foot's y-position be a multiple of 16 pixels (1 tile) in order for him to be able to jump. The walljump is therefore pixel-perfect and frame-perfect, but that's no problem for a machine.

    • @SuperNickid
      @SuperNickid 3 года назад +5

      EebstertheGreat: that glitch comes from an actual mechanic in the game, the old version of the wall kick, the old version of the wall kick his a slide up the wall and it his easier to do then the wall kick glitch, you will need to used this techic more if you play Super mario bros. the lost levels with Mario does not matter if it his the Family computer disk system version, or the All-stars version, in world 2-2 in lost level the only way to progress is to found 2 invisible block, the first one is too high for mario to jump on if you scroll the screen to mush, so you can do the technic mention on the left boarder to get on the first invisible block, from their you can just trigger the 2nd invisible block. Also you may have accidently do that technic in Super mario bros. 3 world 4 2nd mini fortress since one of the donut platform are too high, the jump that he should not be able to make he make it anyway, that his not random.

    • @EebstertheGreat
      @EebstertheGreat 3 года назад +35

      @@SuperNickid It's a "mechanic," but it's not a mechanic they put in on purpose. It's a bug. The wall jump is literally just a normal jump--on that frame, Mario is standing on a block, so you press A and he jumps. The devs did not intend for Mario to be standing on a block in a wall while briefly inside of it. I've never heard of someone call it a "wall kick" before; that's usually a different move (that involves kicking a wall) which doesn't exist in SMB1.
      And no, the technique is not necessary to beat SMB2J.

    • @SuperNickid
      @SuperNickid 3 года назад

      @@EebstertheGreat Truth the wall kick does not exist in the original Super mario bros. and SMB2J, that his why it his a glitch when it happen, but their his a mechanic that look close to a wall kick but it his not a wall kick that people are not aware of this his proof pay attention notice that mario slide up the block, if it did not happen he would never made it to the first block, and it works the same way on Super mario bros. 2J. ruclips.net/video/-gE9uJP-A2g/видео.html

    • @EebstertheGreat
      @EebstertheGreat 3 года назад +6

      @@SuperNickid What am I supposed to look at in that link? Mario simply climbs the invisible blocks. There is no walljump or anything similar to it at that timestamp.

    • @SuperNickid
      @SuperNickid 3 года назад

      @@EebstertheGreat Notice how he slide-up the block, if I did not slide up the block, I would have to used the pipe on the left to have a better running speed to make it up their without rubbing against the block.

  • @Nougatocity6
    @Nougatocity6 9 лет назад +497

    The fact that this was published on April 1st concerns me.

    • @tom7
      @tom7  9 лет назад +163

      It should, but I assure you it's real. You can download the source, and there are even several other videos on youtube of other people running it!

    • @Nougatocity6
      @Nougatocity6 9 лет назад +11

      The idea is believable enough but I guess I'm just a little too used to internet shenanigans. If other people are using the program though, you don't really need any more proof than that.

    • @slipangle3027
      @slipangle3027 9 лет назад +5

      He has the program for download on his website so you can try it yourself.

    • @VariantAEC
      @VariantAEC 9 лет назад +1

      suckerpinch
      How long have you been working on this AI?

    • @zalphero618
      @zalphero618 9 лет назад +1

      This video is already almost 2 years old.

  • @DrShaym
    @DrShaym 7 лет назад +355

    "He jumps into the pit and I don't know why."
    Maybe he's a little _too_ self aware and is trying to end the nightmare of his existence like the prototypes in _RoboCop 2_.

    • @michasengotta2295
      @michasengotta2295 3 года назад +3

      again: "The only winning move is not to play."

  • @potenvandebizon
    @potenvandebizon 9 лет назад +308

    The program pausing the Tetris game is pure science fiction come true... It could fit right into an Asimov story. Brilliant!

    • @smileyp4535
      @smileyp4535 Год назад +3

      Omg, right? Like imagine if it was an AI that was running a missile defense system and it's designed not to be able to be hacked, it gets a reading that missiles are coming towards it so it primes the missiles for defense and the missiles for counter attack, then the person working at the system realizes that it's a glitch and the system won't let him override because for mutually assured destruction purposes the retaliation strike can't be overwritten (incase it gets hacked to prevent the return strike) so the system basically locks itself from override and launches the missiles thus ending the world all because of a false alarm and "overly cautious" "safety systems" lol 😂🥲😬

    • @drosewilkerson5007
      @drosewilkerson5007 Год назад

      ​@@smileyp4535 funny refrenc+1!!1!!!!1!1!!

    • @madams4606
      @madams4606 Год назад

      star trek tng season 2 episode 21

  • @GabCampbell
    @GabCampbell 8 лет назад +821

    dat philosophical ending

  • @n8style
    @n8style 8 лет назад +1420

    wait so you made a program that learned how to rage-quit?! :D

    • @TheRealToaster2
      @TheRealToaster2 7 лет назад +38

      n think of it like you were playing nazi zombies and pausing the game right before the last player dies. is it rage quiting? you didnt quit, you just paused.

    • @sunstarrock6336
      @sunstarrock6336 6 лет назад +8

      TheRealToaster2 i call it... *INTENSE BREATH* xD

    • @jesusgalindo8671
      @jesusgalindo8671 5 лет назад

      Did you learn how to copy comments!? :D

    • @JITCompilation
      @JITCompilation 5 лет назад +1

      It learned what Michael Jones mastered many years before it was born

    • @iamfuzzydolphins7792
      @iamfuzzydolphins7792 4 года назад

      @@sunstarrock6336 That's not funny and doesn't make any sense.

  • @yousorooo
    @yousorooo 9 лет назад +324

    The program actually realized the only way to win Tetris is to not play at all... clever....

    • @Redheisenberg
      @Redheisenberg 9 лет назад +37

      No, by pausing you never win, instead, you never lose.

    • @awsambdaman
      @awsambdaman 9 лет назад +17

      fat Man wonder who you got that from

    • @toastypanda6086
      @toastypanda6086 9 лет назад +4

      Sam Berges That comment was two weeks ago before that video :P

    • @ConRayArt
      @ConRayArt 9 лет назад +4

      ToastyPanda sam was talking about fat man not derek

    • @majestrixxx
      @majestrixxx 9 лет назад +2

      fat Man normal tetris is never ending you cannot win

  • @JavierChiappa
    @JavierChiappa 8 лет назад +256

    Best final comment of all history of youtube. Just perfect, sublime.

    • @tom7
      @tom7  8 лет назад +23

      +Javier Chiappa Thanks! :)

    • @bakuya99
      @bakuya99 8 лет назад +2

      +suckerpinch Out of curiosity what if i used this for a 3d game would it work?

    • @bart5557
      @bart5557 8 лет назад +3

      +bakuya99 It'd be hard to implement the mouse look

    • @bakuya99
      @bakuya99 8 лет назад +1

      Nightcore Negotiator True...

  • @Kj16V
    @Kj16V 8 лет назад +583

    As a non-programmer, you could have said just said "Hi, I'm a mighty wizard and I wrote a magic spell that plays NES games." I totally would have believed you!

    • @daniscool5092
      @daniscool5092 6 лет назад +26

      Kj16V you have to remember that this is the video of a paper he wrote, if he just said I'm a magical wizard it would indeed be hilarious but really wouldn't help his papers stance much

    • @DrazharLn
      @DrazharLn 4 года назад +20

      @@daniscool5092 OTOH, it's a paper for SIGBOVIK (look it up), so they might not mind much ;)

    • @taeyeonlover
      @taeyeonlover 4 года назад +25

      "Any sufficiently advanced technology is indistinguishable from magic."

    • @felixmoore6781
      @felixmoore6781 2 года назад +1

      He's a non-programmer?? How did he code all that stuff, then?

    • @gdst17
      @gdst17 2 года назад +6

      @@felixmoore6781 The developer of the software is a programmer, but the person making this comment is a non-programmer.

  • @bloison
    @bloison 9 лет назад +266

    Vsause has sent me here, i heard there was great treasure here

  • @KittysDawn
    @KittysDawn 10 лет назад +152

    Let me get this right.
    You made an AI that ragequits Tetris? That's the best thing I've ever heard of.

    • @amateuredutorr5481
      @amateuredutorr5481 Год назад +3

      it'd be better if it had quitted. But it didn't. Imagine a enemy someone like this against humanity

    • @pierreo33
      @pierreo33 Год назад

      @@amateuredutorr5481 dog brain

  • @TheDeqiro
    @TheDeqiro 9 лет назад +161

    That's the greatest thing ever. Its like a child who won't accept that they lost.

    • @Bretislavka
      @Bretislavka 9 лет назад +47

      Degirro Maybe it is becouse for us (humans) it is still just a game but for this program the winning or not losing is actually its "life´s" purpose

    • @NoConsequenc3
      @NoConsequenc3 8 лет назад +13

      Bretislavka Don't make me feel these feels

    • @pyonchan1804
      @pyonchan1804 8 лет назад +3

      +TheEndiPL well we play to receive a reward of pleasure chemicals, so ya the computer and human are playing two different games

    • @NuevoVR
      @NuevoVR 8 лет назад +3

      very crazy, it's soul purpose and existence is to complete that game and if it fails it knows it will die, so it manages to prolong his life by pausing the game

  • @Vizimech
    @Vizimech 8 месяцев назад +11

    Can't believe this was 10 years ago already....this was my first introduction to neural nets back when I was in high school! Now I have back pain and a full time job as an engineer. Thanks Tom

    • @kargaroc386
      @kargaroc386 6 месяцев назад +1

      The funny part is this isn't even a neural net.

  • @Alienous
    @Alienous 9 лет назад +370

    Bloody hell.
    Dude.
    Dude, you're brilliant. Nicely done.

    • @tom7
      @tom7  9 лет назад +10

      Aw thanks. :)

    • @tom7
      @tom7  9 лет назад +23

      ***** Good thing you can download it for free and donate $10,000 to a worthy charity! :)

    • @tenybeny
      @tenybeny 9 лет назад

      suckerpinch where can i download it?
      WHERE GIVE ME A LINk RIGHT MOAW

    • @Sparkette
      @Sparkette 9 лет назад

      tenybeny
      It's at the bottom of the description, but the link is broken. Here's a working one: sourceforge.net/p/tom7misc/svn/HEAD/tree/trunk/tasbot/

    • @tom7
      @tom7  9 лет назад +5

      flarn2006 I'm sorry, there was some badly-timed maintenance last night. Links should be working now. :)

  • @flipidy94
    @flipidy94 9 лет назад +220

    I really wish you continued to make these. I would watch them weekly.

    • @tom7
      @tom7  9 лет назад +99

      Thanks! They take too much work to make weekly, but I am playing around with some new stuff. :)

    • @flipidy94
      @flipidy94 9 лет назад +7

      Glad to hear that. Cheers bud.

    • @rekh127
      @rekh127 9 лет назад +1

      suckerpinch
      I'm super excited!

    • @theluckduck548
      @theluckduck548 6 лет назад

      Trust me... depending on your specs frames can take minutes

  • @bgildersleeve
    @bgildersleeve 8 лет назад +322

    Awesome idea. Great job on the implementation. Judging from the comments, not many people actually read the paper. Not all that surprising... this is RUclips, after all. I must say, that was the most entertaining Ph. D -level research paper I've ever read. You also win the prize for best paper name!

    • @tom7
      @tom7  8 лет назад +49

      +Brett Gildersleeve (: Thank you and thanks for reading!

    • @vengefulenigma
      @vengefulenigma 8 лет назад +3

      +suckerpinch I haven't read the paper yet but i promise i will!
      That said, a gamer called sethbling (here on youtube) made a similar thing, just that he randomized moves at first and put in a cost function to tell the program which combination came the farthest.

    • @vengefulenigma
      @vengefulenigma 8 лет назад +6

      +vengefulenigma correction, he used neural network (which at first tried random moves) and then trained it for several hours to make it better.

    • @nano7586
      @nano7586 7 лет назад +15

      Wow man, you earn a price for reading the paper. Congrats. You deserve senpai noticing you.

    • @StressHaze
      @StressHaze Год назад

      Bastard.

  • @TheDogn
    @TheDogn 8 лет назад +569

    The only wining move is not to play XD

    • @luisemiliocastilloncaracas8447
      @luisemiliocastilloncaracas8447 8 лет назад +34

      +Tyler Toole that's some deep shit

    • @rawen127
      @rawen127 7 лет назад +27

      someone shouldve told me before i started playing league

    • @alejandroesquer4945
      @alejandroesquer4945 7 лет назад +9

      actually you just don't loose, not playing isn't a wining move, i think you come from vsauce

    • @StarLink149
      @StarLink149 7 лет назад +10

      That was a reference to War Games, for those who might not know, lol.

    • @MegaYoteStuff
      @MegaYoteStuff 6 лет назад +1

      you've been trolled, you've been trolled, you have probably been told
      dont reply to this guy he is just getting a rise out of you
      yes its true you respond and thats his cue
      XD thats all i can remember of the song lol

  • @zerocks88
    @zerocks88 8 лет назад +376

    so it did learn tetris, where the only winning move is not to play!

    • @user-cr8kb3qy3l
      @user-cr8kb3qy3l 8 лет назад +2

      but that is not to win,
      avoiding from 'losing'.

    • @zerocks88
      @zerocks88 8 лет назад +22

      +이현준 it's a reference to a movie :P

    • @georgerosebush9754
      @georgerosebush9754 8 лет назад +9

      That reminds me of when I said that and the guy responded, "When you're making references, you should always cite your sources"

    • @vojtechstrnad1
      @vojtechstrnad1 8 лет назад +52

      +이현준 Tetris can't be won, so the best thing you can hope for is to make sure you'll never lose. Which is exactly what this program did, and I call that a brilliant idea.

    • @tomgroot9290
      @tomgroot9290 7 лет назад +12

      That tactic also works great on Candy Crush!

  • @escape093
    @escape093 9 лет назад +148

    A program so intelligent it knows how to rage quit XD 15:56

  • @elModo7
    @elModo7 8 лет назад +52

    ROBOT: Better keep the game paused or I loose...
    HUMAN: But I want to play!
    ROBOT: YES! we are playing, just don't press START again, we are not loosing this way!

  • @spacepheonix
    @spacepheonix 7 лет назад +133

    why did this just start trending now and not earlier? also, that ending was deep af

    • @stevoridesagain
      @stevoridesagain 7 лет назад +26

      It's a quote from the movie "Wargames" (1983) starring Matthew Broderick. He basically has a supercomputer play Tic-Tac-Toe against itself. The computer quickly learns the futility of it, as it always ends in stalemate (everyone loses). It then applies this behavior to "Thermonuclear War" which is a program that simulates all possible Nuclear War strategies and outcomes (the supercomputer, at the time, incorrectly believed a Nuclear attack was taking place by the Soviet Union and was about to launch our nukes, IRL).
      After cycling through countless scenarios and the resultant mutually assured destruction, the computer arrives at one conclusion: "Strange game. The only winning move is not to play."

    • @minorcomet282
      @minorcomet282 2 года назад

      @@stevoridesagain it would rather play a nice game of chess

  • @youtubasoarus
    @youtubasoarus 9 лет назад +1344

    OMG The program rage quit at the end! LOL!

    • @jgostling
      @jgostling 9 лет назад +197

      So, this program may have intelligence, but not maturity...

    • @zeevyehuda2501
      @zeevyehuda2501 9 лет назад +50

      So if we were all as rational as computers, the final answer is eternal cryosleep?

    • @TheGreatslyfer
      @TheGreatslyfer 9 лет назад +12

      Ze'ev Yehuda Nope, if we were rational as computers, we would look on to improve the quality of our lives, not resort to a desperate eternal cryospleep that literally does not make us live or die, just stay in a coma state. We would identify our goals in our lives, and find the best route to that. Remember, it said rational, so what we find rational is improving our lives by achieving a goal or dream or just making our lives more comfortable.
      Now, the final answer would be eternal cryosleep ONLY IF the goal of the human was the result of eternal cryosleep, which is not.

    • @zeevyehuda2501
      @zeevyehuda2501 9 лет назад +27

      TheGreatslyfer Life does not have a win condition. From a completely rational standpoint, the way to "lose the least" is to never die. Cryosleep.

    • @TheGreatslyfer
      @TheGreatslyfer 9 лет назад +3

      Ze'ev Yehuda True, from that point, the "tetris" point of view, there is no absolute "win" condition, as every human literally keeps on going till they lose, not until they reach something or do something in life that satisfies a win condition.
      I'm just saying that also if we had the same rational prowess of computer, we would use that to improve our way of living in the best best possible way.
      But yea your point still stands, I thought that from your first post when you said if we were rational as computers, that we'd STILL have our own made up goals that are in the end superficial in relation to the end game which is cryosleep. I thought it was an assumption you made, thats all

  • @DeathByFail
    @DeathByFail 9 лет назад +10

    the fact that it pauses the game to prevent itself from losing is completely fascinating, and makes me wonder how much the program actually understands as a completely reactive, thoughtless process.

    • @paulgoogol2652
      @paulgoogol2652 9 лет назад

      yea it's strange. as far as I understand it is just greedy for getting fast points so stopping the game would only make sense if losing it would cost you points and the computer knows this.

  • @rickguy6081
    @rickguy6081 7 лет назад +46

    "The only winning move is not to play" How much more philosophical can you get than that? 😏

  • @JonTheGeek
    @JonTheGeek 8 лет назад +229

    That program when it played tetris was creepy, imagine if you put it in a game and explained what death was somehow.... A game like, doom, or even Mario... What would it do if it was about to die? just pause? panic? fight for its life? run? Its a bit eerie... I know its not alive, but its creepy to see it respond like it is, in a way...

    • @romand271
      @romand271 7 лет назад +35

      like a human?

    • @TomHarrisP
      @TomHarrisP 7 лет назад +22

      Severe anxiety

    • @peterhobo
      @peterhobo 7 лет назад +48

      Teenage Gamer the thing that is so creepy is that it is so close to real life. I mean this algorithm can't evolve... but it does learn. It learned to fear death. Now death in this case means losing but... still

    • @Dhruv1223
      @Dhruv1223 7 лет назад

      they recently did something like that. made an AI system to learn doom and play it.

    • @cmendoza1094
      @cmendoza1094 7 лет назад +5

      You sense of self is what lends to the fear of non existence. Death or injury isn't what we fear.

  • @PsychoticNinja
    @PsychoticNinja 9 лет назад +31

    We had Twitch plays Pokemon, now we need Computer program plays Pokemon.

    • @CaptainMonkeyFez
      @CaptainMonkeyFez 9 лет назад +11

      www.twitch.tv/rngplayspokemon
      Close enough?

    • @joebloggs1691
      @joebloggs1691 8 лет назад

      ***** www.takohi.com/data/emul/gb/index.xhtml?audio=0&speed=10&fullscreen=0 you can also do this

    • @uhbuhbhbuhbuhbu
      @uhbuhbhbuhbuhbu 8 лет назад +1

      +Psychotic Ninja How about we let this computer program control the Twitch chat and control the game like that.

    • @hecko-yes
      @hecko-yes 8 лет назад +1

      Nah, Pokémon Plays Twitch is where it's at.

  • @NotxSplayd
    @NotxSplayd 9 лет назад +173

    Stream this program to Twitch

    • @thescrawl6594
      @thescrawl6594 9 лет назад +7

      yes! that would be fabulous, if someone has the source code working we could!

  • @liamjones8468
    @liamjones8468 9 лет назад +68

    When it paused the game... that kinda freaked me out, the way it thinks. I don't know why lol.

  • @liquidtomb
    @liquidtomb 7 лет назад +255

    Wait, so did it just rage quit?

    • @DrewJPS
      @DrewJPS 7 лет назад +61

      TwoTimes Gaming It's becoming self-aware...

    • @xcryi
      @xcryi 7 лет назад +31

      Get the shotgun!

    • @Pepe-lp6wk
      @Pepe-lp6wk 7 лет назад +1

      TommyTwoTimes Mommmmm grab the camera!

    • @namelastname4077
      @namelastname4077 6 лет назад

      the virtual keyboard got smashed to bits

    • @NoobsDudes
      @NoobsDudes 4 года назад

      Yep

  • @renato360a
    @renato360a 9 лет назад +19

    OMFG I'm an undergrad studying complex systems in a physics lab and this is the most fun research I've ever seen!! I laughed just too much, you're a very good entertainer! And nice impressive work!

    • @tom7
      @tom7  9 лет назад +10

      Thank you very much :)

  • @orktv4673
    @orktv4673 9 лет назад +20

    A computer pausing the game forever to avoid death. This creeps me out for some reason.

  • @spartanfoxie
    @spartanfoxie 7 лет назад +83

    if you play games as badly as possible will the AI think that's winning and do its best to lose at the game as quickly as possible?

    • @tom7
      @tom7  7 лет назад +40

      Yes, but only if there's something in the game's memory that fits the kind of structure it's looking for. So if there were a counter that went up when the player took damage, it would learn that increasing that counter is "winning."

    • @daggawagga
      @daggawagga 7 лет назад

      Interesting

    • @spartanfoxie
      @spartanfoxie 7 лет назад

      I wanted to test this out and some weird games like action 52 but I tried running the learnfun.exe with the config setup with
      game super
      movie superr.fm2
      Super being super mario and the movie I made.
      But it always says that the game or movie is empty even though they're in the same directory I haven't compiled the source myself I used the exes provided I'm not exactly sure on how to compile it, I installed everything in the readme so I probably have everything I need to compile it. I'm just not sure if its something I've done that's wrong or just because I haven't compiled it for my system

    • @tom7
      @tom7  7 лет назад +2

      You probably don't want to try compiling it. If it says the game is empty, you probably hid extensions and your file is accidentally called config.txt, or you don't have a newline after the last line in your config, or super.nes is not in the same directory as learnfun.exe.

    • @spartanfoxie
      @spartanfoxie 7 лет назад +1

      Fixed it was the no new line after movie and its now successfully playing super mario thank you for the help when i get used to how it works ill try out some obscure games see how it goes if i find any good ones ill make sure to post about it

  • @johnpaulkeller5450
    @johnpaulkeller5450 7 лет назад +79

    So in other words the a.i. was able to learn an exploite that wasn't really obvious to even some seasoned experts. That's both really cool and kinda scary.

    • @sokercat8906
      @sokercat8906 7 лет назад +2

      it seems pretty dumb to me.

    • @MrJjjakey
      @MrJjjakey 7 лет назад +22

      It doesn't even see the game. The program just predicts future possible RAM values and does inputs tot attempt to get to that state.

    • @MossPalone
      @MossPalone 7 лет назад +1

      John Paul Keller Just imagine giving this type of intelligence to an AI. Humanity will be wiped out soon.

    • @lincolnpepper816
      @lincolnpepper816 5 лет назад +9

      @@MossPalone it is an ai

    • @shubhampreetsingh8630
      @shubhampreetsingh8630 4 года назад +1

      @@MossPalone You just program it to not pause it, simple.

  • @LoftusWatching
    @LoftusWatching 9 лет назад +71

    This is one of the coolest things i've ever seen!! Great narration and i love some of the little tricks and discoveries that happened (mario's up jump kill or tetris just throwing the controller down in a huff) really awesome.

    • @tom7
      @tom7  9 лет назад +5

      Thanks for watching and for the nice comment! :)

    • @cicadafun
      @cicadafun 9 лет назад

      suckerpinch Webpage unavailable

    • @tom7
      @tom7  9 лет назад

      Flubbergasted CAT Sorry, some very badly timed maintenance that also apparently crashed the host. Should be working now. :)

    • @tom7
      @tom7  9 лет назад +5

      Joseph B I can't know if it would actually leave it paused forever, but it was several minutes of pausing, so I killed it. Not simply dramatic effect!

    • @cicadafun
      @cicadafun 9 лет назад

      suckerpinch​ so what can It do : 0

  • @CaryDominic123
    @CaryDominic123 9 лет назад +330

    All those sent by Vsauce, like this comment!!!! XD XD XD

    • @awsambdaman
      @awsambdaman 9 лет назад +32

      No

    • @CaryDominic123
      @CaryDominic123 9 лет назад +4

      okay.....

    • @blehbeeboo
      @blehbeeboo 9 лет назад +9

      Compilation Guy I will die before I like this comment.

    • @blehbeeboo
      @blehbeeboo 9 лет назад

      Compilation Guy So now you'll know when i'm dead.

    • @Epirc
      @Epirc 9 лет назад +26

      no

  • @MaxLohMusic
    @MaxLohMusic 8 лет назад +94

    holy shit this video made me laugh harder than i have in a whole month. All those crazy bug exploits, the pacman ridiculous trick move, and the tetris strategy at the end. Awesome work.

  • @greenD7244
    @greenD7244 7 лет назад +91

    But first, let's talk about parallel universes

  • @seriousgameofficial
    @seriousgameofficial 9 лет назад +60

    This was fucking hilarious, I love your narration xD

    • @tom7
      @tom7  9 лет назад +29

      Thanks for watching and for the nice compliment! :)

  • @TheFlamingPike
    @TheFlamingPike 7 лет назад +17

    "Hey.. What's up." I really like the fact that just in the first 3 seconds of this video, you know, by the look of the guy's face, just with the facial expression, the wandering eyes, the shy smile, that he is a complete, authentic nerd. Respect.

    • @tom7
      @tom7  7 лет назад +4

      :)

    • @Moco26
      @Moco26 7 лет назад

      Are you still working on this project?

    • @tom7
      @tom7  7 лет назад

      Yes, but I have lots of projects and not so much time! :/

  • @lily_skye
    @lily_skye 2 года назад +4

    I come back and show this to friends every couple years. This was such a cool project. Congratulations on an awesome outcome.

  • @noxure
    @noxure 9 лет назад +148

    The agent indefinitely pausing the game of Tetris freaks me out.
    A warning to humanity, AI's are not going to play by your rules.

    • @cactusfishy1596
      @cactusfishy1596 5 лет назад +28

      He could just remove the pause function

    • @GDNachoo
      @GDNachoo 4 года назад

      @@cactusfishy1596 yeah lmao

    • @Hoch134
      @Hoch134 4 года назад +17

      That's the biggest challenge in programming AIs. Telling the AI that the rule is not to die, it will do exactly that. You have to tell the AI that it has to get the highest score possible. And if the AI is programmed well, it will eventually learn to get there.

    • @Gamer-uf1kl
      @Gamer-uf1kl 3 года назад +8

      They are going to play by your rules, exactly like what they say. But humans dont describe things perfectly or even anything close to it, that is the problem.

    • @noxure
      @noxure 3 года назад

      @@Gamer-uf1kl But predicting what we can't describe perfectly is the whole reason why AI exists in the first place.

  • @nekroneko
    @nekroneko 10 лет назад +36

    Never thought I'd see an AI rage quit

  • @velocityra
    @velocityra 7 лет назад +69

    I understand that this is mainly for a paper and the amount of work that typically goes into your videos is huge, but I'd love to see more stuff from you.
    *Love* the style! Humorous, entertaining, educational. Been working on anything lately?

    • @tom7
      @tom7  7 лет назад +18

      Thanks! There are several more videos in this vein on the channel. I have one half-done this week, but it's about a very different topic. :)

    • @velocityra
      @velocityra 7 лет назад +2

      Of course, I've watched all of your similar videos :) Currently going through your paper for this one.
      Excited for that new project!

    • @FireFoxMCServer
      @FireFoxMCServer 7 лет назад

      Vel0city n

  • @Leadbraw
    @Leadbraw 4 месяца назад

    I think I remember reading about your paper in an issue of GameInformer, presumably around the time you published it and made this video, I'm now an undergrad studying CS and have been binging your channel over the past few hours, things have come full circle. Time really flies, man.

  • @ericsarason9099
    @ericsarason9099 7 лет назад +22

    The Tetris ending was hilarious.

  • @smooothest
    @smooothest 9 лет назад +11

    That computer sure loves the jump button

    • @tom7
      @tom7  9 лет назад +28

      The BEST button!

  • @jeffmorris9893
    @jeffmorris9893 2 года назад +4

    How the heck did I miss this channel for what? 6 years? It's splendid. Heaven sent.

    • @ts4gv
      @ts4gv Год назад

      welcome to suckerpinch, one of the best on the platform

  • @nullcircuit
    @nullcircuit 7 лет назад +4

    I love this brilliantly backwards way to get a machine to play a game. Beautiful math in motion.

  • @MaDNeSS1116
    @MaDNeSS1116 9 лет назад +23

    Fact that this video was uploaded on april 1st bugs me

  • @irregularrex4004
    @irregularrex4004 9 лет назад +29

    V Sauce brought me here and your channel is awesome!

    • @tom7
      @tom7  9 лет назад +9

      thanks (:

  • @rich1051414
    @rich1051414 9 лет назад +14

    Instead of testing for the difference in the 'key' data, you could test for increasing entropy. By that I mean, how random the data appears to be getting. In theory, the more information you have, the more random that information will appear to be. So the 'compressible' data would would decrease as the game progresses(so if you were to compress that memory into a file, the file size would increase).
    As a proof of concept, you could compress each memory snapshot and then store the number of bytes of its compressed output, and see if the number of final compressed bytes increases as you progress (even though each snapshot actually is the same size initially)

  • @Deadjuice360
    @Deadjuice360 9 лет назад +16

    What we learned from Playfun:
    Robots have no fear.
    Robots exploit glitches and show no guilt. They will even find new ones.
    If a Robot isn't owning at Bubble Bobble or Pac-Man, it's just because it is fucking with you.
    Robots have serious OCD issues.
    Robots are sore losers.

    • @archive94
      @archive94 2 года назад

      You missed one very important one...
      it ragequits when it knows it lost at Tetris.

    • @kaitlyn__L
      @kaitlyn__L Год назад

      @@archive94 that was the “sore losers” part

  • @KnightMirkoYo
    @KnightMirkoYo 4 года назад +1

    Got here from 2-minute papers. What an amazing and insightful demonstration!

  • @Alexs321432
    @Alexs321432 10 лет назад +20

    "Only winning move is not to play"

  • @a1be31s8x9
    @a1be31s8x9 9 лет назад +61

    I am not even beginning to understand how this software works

    • @SpyzacFilms
      @SpyzacFilms 9 лет назад +1

      Brian R it uses sequences of prerecorded actions, then looks further ahead into the game and evaluates what sequence to enact upon said event.
      simpler terms, it is bloke that can't think of his own movements, but instead uses ones prerecorded by someone that can make their own moves and looks ahead to see which move to use.

    • @tom7
      @tom7  9 лет назад +9

      ***** It's not really "prerecorded"; the sequences are random, just drawn from a distribution that's not uniform.

    • @SpyzacFilms
      @SpyzacFilms 9 лет назад

      suckerpinch ah i must of missed that part, thanks, interesting though

    • @a1be31s8x9
      @a1be31s8x9 9 лет назад

      suckerpinch If that's the case, why did you need to 'train' it by playing the game? Is the non-uniformity taken from the fact that it's looking at a list of your input?

    • @tom7
      @tom7  9 лет назад +6

      Brian R The training is mostly to determine what, for this particular game, constitutes winning (the lexicographic orderings). Uniformly random button presses would be awful (for example, half of the time the start button is being pressed; one quarter of the time we'd be pressing the left and right buttons at the same time). I wanted a more realistic distribution on button presses but not make any assumptions (like that "right" is more common than "left"), so I learn this distribution from the training sequence as well, but it's a minor side-benefit.

  • @drcosmos137
    @drcosmos137 9 лет назад

    I never get tired of watching these videos! They're educational and funny. I don't say this often, but you and your program have chemistry.

  • @ruthpol
    @ruthpol 7 лет назад

    Very cool stuff! Especially like that it takes a general approach, not just one for a specific game.

  • @timotejbernat462
    @timotejbernat462 2 года назад +3

    6:07 "Come on, it's 2013" that physically hurt

  • @AlexDanut
    @AlexDanut 7 лет назад +61

    The ending was hilarious

  • @ndc5544p
    @ndc5544p 9 лет назад

    Really, I am amazed! It's some very simple principles that you implemented in the program but it works awesome. I am truly impressed!

  • @bluebull399
    @bluebull399 7 лет назад

    One of the best videos I've seen that explains machine learning. Whenever I've tried to talk to people about it they immediately start talking about robots taking over the world, so I usually just give up. I'll show them this video for sure. Awesome work!

  • @DrymouthCWW
    @DrymouthCWW 7 лет назад +7

    This is utterly brilliant, im very impressed

  • @mikeshaver-miller745
    @mikeshaver-miller745 7 лет назад +3

    This was... surprisingly epic. Thanks for doing this!

  • @bustaballs
    @bustaballs 7 лет назад

    Thanks for linking the paper detailing the functionality.

  • @bobDotJS
    @bobDotJS 3 года назад +1

    Video might be 8 years old but it's still some of the best content on RUclips

  • @ren3344
    @ren3344 9 лет назад +5

    found this so interesting and fun to watch. watching a "mind" learn through trial and error but.......that ending was so deep, it went from fun and games to just woah. I feel like the code/bot doesn't see this all as games but as its existence and its only goal is to "win" so when faced with losing, it does the only thing it can to not loose.

  • @Patricknotstarr
    @Patricknotstarr 9 лет назад +11

    I like how the computers just like "fuck this" and ragequits.

  • @Novastar.SaberCombat
    @Novastar.SaberCombat 5 лет назад

    LOVE the ending quote/reference.
    PERFECT.

  • @Jack6778
    @Jack6778 9 лет назад

    That's awesome. I'm glad you made the program general enough with Mario to learn other games.

  • @zakkiedude132
    @zakkiedude132 9 лет назад +19

    so you made a computer program which learned how to play badly then rage quit? its basically any 13 year old on xbox live now! awesome!

    • @yousorooo
      @yousorooo 9 лет назад +2

      lol

    • @NoConsequenc3
      @NoConsequenc3 8 лет назад

      zak.gaddie And yet, you couldn't make it either could you?

  • @XabioArts
    @XabioArts 7 лет назад +39

    that WarGames reference at the end!!!!!! 😱 😱 😱 😱 😍

  • @markscooby
    @markscooby 5 лет назад

    One of the best videos i watched recently.

  • @AnnieKateWalsh
    @AnnieKateWalsh 9 лет назад +2

    This was fascinating. The narration was hilarious and the explanation was very well done! However, watching a computer learn to evolve is unsettling. Especially so when it knows that "nope"ing is an/the best option to win.

    • @TheLaFoog
      @TheLaFoog 9 лет назад

      Annie Kate Walsh It is really interesting, but not unsettling if you have an understanding of what is going on. What the video didn't show was the hundereds of other random combinations of buttons the AI tries. It isn't sentient, it is just a program that pushes random buttons, keeps track of the results, and plays through the most effficient result.

    • @tom7
      @tom7  9 лет назад

      Annie Kate Walsh Thx Annie! :)

  • @zyriuz2
    @zyriuz2 7 лет назад +11

    just before you die in a game, pause it and live life because thats the only winning move.

  • @dagalsevidxela1
    @dagalsevidxela1 7 лет назад +84

    Did you just program a bot to rage quit? I like it

    • @trungodword17
      @trungodword17 7 лет назад +1

      no
      AI cant experience death and doesnt know what it is
      so the best decision try not to lose is pause
      his objective is to win just like every other AI

    • @dagalsevidxela1
      @dagalsevidxela1 7 лет назад +7

      Right over your head huh

    • @trungodword17
      @trungodword17 7 лет назад

      +dagalsevidxela1 yes

    • @4c6f
      @4c6f 7 лет назад

      john god of youtube this ai can experience that kind of death.

    • @dyowzhars9400
      @dyowzhars9400 4 года назад

      @@dagalsevidxela1 More like over YOUR head xD

  • @rynz_2893
    @rynz_2893 6 лет назад

    I just learned some new concepts on how computers look at data. thanks for the video.

  • @anshumankaushik6454
    @anshumankaushik6454 Месяц назад

    I want to create the same thing for Double Dragon. So, I was looking for it and found your video. Cool moves there , Love it

  • @damon5521
    @damon5521 7 лет назад +3

    That ending was marvelous.

  • @GaussFlame
    @GaussFlame 9 лет назад +5

    I'm glad VSauce brought me here. This was one of the coolest videos I've ever seen, and you add on a lot to it! Subscribed, I like your style :)

    • @tom7
      @tom7  9 лет назад +1

      Thank you and thanks for watching! :)

  • @20EsOfficial
    @20EsOfficial 9 лет назад

    What a cool program! Coolest idea I have seen in years!

  • @TerminalM193
    @TerminalM193 7 лет назад

    Holy cow.... It's crazy that the program knows what loosing even is, to the point that it will indefinitely pause the game.... Great video, I loved it!

  • @Gabriel38196
    @Gabriel38196 7 лет назад +6

    man this was cool. Also the ending was so poetic

  • @JesterWhoHelps
    @JesterWhoHelps 7 лет назад +18

    Somehow the fact that the computer pauses Tetris right before it loses is disturbing to me.
    Like.... I dont know how but I feel like that could translate into some real life "AI" problems in the future for intelligent robots....
    I don't know.

    • @jonathanjohnson6487
      @jonathanjohnson6487 7 лет назад +3

      it might help, maybe they'll catch infinite loops and be like "nah"

    • @Flush333
      @Flush333 7 лет назад +29

      AI doctor: "As soon as the patient regains consciousness he will experience pain. The only winning move is to not let him regain consciousness at all."

  • @ichigo_nyanko
    @ichigo_nyanko 2 года назад

    I can't believe it's been 9 years already. I still feel like I first watched this just a few months ago. Am I getting old?

  • @noneofyourbusiness4133
    @noneofyourbusiness4133 2 года назад +1

    What’s cool is that your second approach has advanced acceleration techniques: backwards jumps gives superior acceleration.

  • @Korntof
    @Korntof 10 лет назад +4

    The ending improved my life

  • @grandchickenlord
    @grandchickenlord 9 лет назад +43

    you fool, you created a program which will master all videogames and make humanity look like scrubs. the only way to stop this is to make it learn from DSP so it will forever be stunted.

    • @Accuaro
      @Accuaro 9 лет назад +2

      chickenlord "WHAT AM I SUPPOSED TO DO?!"

    • @rushyscoper1651
      @rushyscoper1651 9 лет назад

      ***** how about pamaj vs ai?

    • @Accuaro
      @Accuaro 9 лет назад

      Paladin Wilhelm HAHAHAA SO TRU

    • @ButtonMasherReal
      @ButtonMasherReal 9 лет назад +1

      Nah, just keep it playing Tetris. It will probably never unpause.

  • @sikor02
    @sikor02 7 лет назад

    4 years after it's still awesome

  • @JeremyMcCandlish
    @JeremyMcCandlish 9 лет назад +1

    This is absolutely fascinating...Thank you for sharing.

    • @tom7
      @tom7  9 лет назад +1

      Jeremy McCandlish Thanks and thanks for watching! :)

  • @emorr747
    @emorr747 9 лет назад +3

    Love this video! Very smart thinking man!

    • @tom7
      @tom7  9 лет назад +1

      emorr747 Thank you :)

  • @fiona9891
    @fiona9891 8 лет назад +9

    Sweet, so it's basically evolving! That's pretty cool.

    • @bingo2underscores
      @bingo2underscores 8 лет назад +17

      What? AI is evolving?!
      *evolution music*
      Congratulations! Your AI has evolved into better AI!

    • @jebe5247
      @jebe5247 8 лет назад +2

      pokmon has evolved recives +10 hp +12 sp

  • @joshualee5892
    @joshualee5892 7 лет назад

    it's good to see people actually learning about some of the electronic equipment we use , hope you use your wisdom for good.

    • @joshualee5892
      @joshualee5892 7 лет назад

      Those Mario Bros games are some of my all time favorites so simple but very fun, that program looks neat .

  • @NuclearDetractor
    @NuclearDetractor 9 лет назад

    I'm glad i stumbled upon this. This is so rad.

  • @twilight-sparkle
    @twilight-sparkle 7 лет назад +21

    I know this is really old, however: What would happen if PlayFun were able to travel backwards in time? Like tetris: it sees objective functions staying stable and doing nothing, nothing is changing, so it automatically decides to warp back? I'm not sure of how it would decide where to warp, possibly it could just go back a little but always be in "warping mode" so if it doesn't figure out a break through or a different path it just keeps going back, or it moves back to when some objective function last jumped up, etc.
    (Also, please make a BizHawk version maybe? If you let it do BizHawk it could possibly be very universal.)

    • @IgorDz
      @IgorDz 7 лет назад +5

      Yeah, but in that Tetris every level is random, as far as I remember. New level - different decisions.

    • @tom7
      @tom7  7 лет назад +5

      In fact it does do this, in an attempt to avoid getting stuck as you say -- every once in a while it backtracks some arbitrary amount and plays randomly to see if it can improve against its current best. It's a useful technique, but the hard part is knowing how much to rewind and how much to try improving it. Different games and different situations seem to warrant very different amounts. I have yet to figure out a robust way...

  • @zasfp
    @zasfp 7 лет назад +9

    This is hilarious I could watch it play games all day

  • @jonathanonfire
    @jonathanonfire 5 лет назад

    this is a fascinating study. well done.

  • @lalo102759
    @lalo102759 8 лет назад +1

    Love the final. Very interesting video!!