Computer program that learns to play classic NES games

Поділитися
Вставка
  • Опубліковано 21 лис 2024

КОМЕНТАРІ • 2,9 тис.

  • @vinifranchelli8566
    @vinifranchelli8566 9 років тому +2021

    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

    • @kamanha746
      @kamanha746 6 років тому +65

      So it decides to virtually sit on its laurels?

    • @paulabenitez5340
      @paulabenitez5340 6 років тому +128

      That is kind of sad

    • @OptimusSatanas
      @OptimusSatanas 5 років тому +75

      Schrodinger's PC.

    • @JohnSmith-ox3gy
      @JohnSmith-ox3gy 5 років тому +33

      If you die in tetris you die.

    • @rysea9855
      @rysea9855 5 років тому +20

      @@kamanha746 how did this make me cry?

  • @moksha8473
    @moksha8473 9 років тому +3964

    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 років тому +272

      Moksha This is some SCP-079 shit right here.

    • @dumbasffff
      @dumbasffff 9 років тому +88

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

    • @nameguy101
      @nameguy101 9 років тому +120

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

    • @yitzhak177
      @yitzhak177 9 років тому +145

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

    • @Cha0sLord93
      @Cha0sLord93 9 років тому +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.

  • @EebstertheGreat
    @EebstertheGreat 8 років тому +395

    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 роки тому +36

      @@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. ua-cam.com/video/-gE9uJP-A2g/v-deo.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.

  • @DrShaym
    @DrShaym 8 років тому +359

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

  • @potenvandebizon
    @potenvandebizon 9 років тому +315

    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

  • @MrSonny6155
    @MrSonny6155 8 років тому +1113

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

    • @fishermedders
      @fishermedders 8 років тому +17

      I was waiting for someone to mention wargames

    • @EDFHLFLFF
      @EDFHLFLFF 8 років тому +3

      MrSonny6155 what about some tic tac toe

    • @MrSonny6155
      @MrSonny6155 8 років тому

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

    • @MrSonny6155
      @MrSonny6155 8 років тому +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.

    • @DemetrisLeptos
      @DemetrisLeptos 6 років тому

      L O L

  • @n8style
    @n8style 8 років тому +1427

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

    • @TheRealToaster2
      @TheRealToaster2 8 років тому +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 7 років тому +8

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

    • @jesusgalindo8671
      @jesusgalindo8671 6 років тому

      Did you learn how to copy comments!? :D

    • @JITCompilation
      @JITCompilation 6 років тому +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.

  • @Nougatocity6
    @Nougatocity6 9 років тому +509

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

    • @tom7
      @tom7  9 років тому +171

      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 років тому +13

      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 років тому +6

      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.

  • @JavierChiappa
    @JavierChiappa 9 років тому +256

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

    • @tom7
      @tom7  9 років тому +23

      +Javier Chiappa Thanks! :)

    • @bakuya99
      @bakuya99 9 років тому +2

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

    • @bart5557
      @bart5557 9 років тому +3

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

    • @bakuya99
      @bakuya99 9 років тому +1

      Nightcore Negotiator True...

  • @Vizimech
    @Vizimech Рік тому +17

    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 Рік тому +3

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

  • @bgildersleeve
    @bgildersleeve 8 років тому +324

    Awesome idea. Great job on the implementation. Judging from the comments, not many people actually read the paper. Not all that surprising... this is UA-cam, 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 років тому +50

      +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 8 років тому +15

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

    • @StressHaze
      @StressHaze 2 роки тому

      Bastard.

  • @TheDeqiro
    @TheDeqiro 9 років тому +162

    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 9 років тому +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

  • @Kj16V
    @Kj16V 8 років тому +589

    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 років тому +29

      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 5 років тому +21

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

    • @taeyeonlover
      @taeyeonlover 5 років тому +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 роки тому +8

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

  • @zerocks88
    @zerocks88 8 років тому +373

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

    • @진세현-z7c
      @진세현-z7c 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 8 років тому +12

      That tactic also works great on Candy Crush!

  • @Leadbraw
    @Leadbraw 10 місяців тому +1

    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.

  • @KittysDawn
    @KittysDawn 10 років тому +153

    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

  • @bloison
    @bloison 9 років тому +268

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

  • @DeathByFail
    @DeathByFail 10 років тому +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 10 років тому

      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.

  • @liamjones8468
    @liamjones8468 9 років тому +69

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

  • @johnpaulkeller5450
    @johnpaulkeller5450 8 років тому +78

    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 8 років тому +2

      it seems pretty dumb to me.

    • @MrJjjakey
      @MrJjjakey 8 років тому +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 6 років тому +9

      @@MossPalone it is an ai

    • @shubhampreetsingh8630
      @shubhampreetsingh8630 5 років тому +1

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

  • @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!

  • @flipidy94
    @flipidy94 9 років тому +220

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

    • @tom7
      @tom7  9 років тому +100

      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 7 років тому

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

  • @yousorooo
    @yousorooo 9 років тому +329

    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

  • @TheDogn
    @TheDogn 8 років тому +566

    The only wining move is not to play XD

    • @luisemiliocastilloncaracas8447
      @luisemiliocastilloncaracas8447 8 років тому +34

      +Tyler Toole that's some deep shit

    • @rawen127
      @rawen127 8 років тому +27

      someone shouldve told me before i started playing league

    • @alejandroesquer4945
      @alejandroesquer4945 8 років тому +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 7 років тому +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

  • @JonTheGeek
    @JonTheGeek 8 років тому +228

    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 8 років тому +34

      like a human?

    • @TomHarrisP
      @TomHarrisP 8 років тому +21

      Severe anxiety

    • @peterhobo
      @peterhobo 8 років тому +47

      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 8 років тому

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

    • @cmendoza1094
      @cmendoza1094 8 років тому +5

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

  • @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

  • @Alienous
    @Alienous 9 років тому +372

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

  • @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)

  • @spacepheonix
    @spacepheonix 8 років тому +132

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

    • @stevoridesagain
      @stevoridesagain 8 років тому +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 3 роки тому

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

  • @jollytom09
    @jollytom09 8 років тому +253

    Wait, so did it just rage quit?

    • @DrewJPS
      @DrewJPS 8 років тому +61

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

    • @xcryi
      @xcryi 8 років тому +31

      Get the shotgun!

    • @Pepe-lp6wk
      @Pepe-lp6wk 8 років тому +1

      TommyTwoTimes Mommmmm grab the camera!

    • @namelastname4077
      @namelastname4077 6 років тому

      the virtual keyboard got smashed to bits

    • @NoobsDudes
      @NoobsDudes 5 років тому

      Yep

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

  • @renato360a
    @renato360a 10 років тому +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  10 років тому +10

      Thank you very much :)

  • @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

  • @XabioArts
    @XabioArts 7 років тому +38

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

  • @nullcircuit
    @nullcircuit 8 років тому +4

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

  • @youtubasoarus
    @youtubasoarus 9 років тому +1343

    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

  • @orktv4673
    @orktv4673 9 років тому +21

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

  • @velocityra
    @velocityra 8 років тому +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  8 років тому +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 8 років тому +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 8 років тому

      Vel0city n

  • @rickguy6081
    @rickguy6081 8 років тому +46

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

  • @MaxLohMusic
    @MaxLohMusic 9 років тому +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.

  • @elModo7
    @elModo7 8 років тому +53

    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!

  • @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 (:

  • @bobDotJS
    @bobDotJS 3 роки тому +1

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

  • @KnightMirkoYo
    @KnightMirkoYo 4 роки тому +1

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

  • @TheFlamingPike
    @TheFlamingPike 8 років тому +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  8 років тому +4

      :)

    • @Moco26
      @Moco26 8 років тому

      Are you still working on this project?

    • @tom7
      @tom7  8 років тому

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

  • @smooothest
    @smooothest 10 років тому +11

    That computer sure loves the jump button

    • @tom7
      @tom7  10 років тому +28

      The BEST button!

  • @mch3l761
    @mch3l761 Рік тому +5

    This guy was so ahead of his time

    • @Alibaba-id4dw
      @Alibaba-id4dw 2 місяці тому

      More like general public was way too behind the times. And still is.

  • @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 5 років тому

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

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

  • @pedroheck3667
    @pedroheck3667 9 років тому +869

    I'm here because of Vsauce ;)

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

  • @escape093
    @escape093 10 років тому +150

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

  • @TerminalM193
    @TerminalM193 8 років тому

    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!

  • @ericsarason9099
    @ericsarason9099 8 років тому +23

    The Tetris ending was hilarious.

  • @nekonomicon9938
    @nekonomicon9938 9 років тому +64

    The computers are already learning
    This shit is scaring me

    • @SunKiJaykeHeeSungWon
      @SunKiJaykeHeeSungWon 9 років тому

      "Nessie." What did I say about you saying curse words? What did I say about telling the truth?

    • @bossqueeat
      @bossqueeat 9 років тому

      The fact that your name is Nessie the Lockness Monster instead of Nessie the Loch Ness Monster annoys me to no end.

    • @Zadamanim
      @Zadamanim 9 років тому

      Just by trial an error. LOTS of trials, and LOTS of errors.

    • @NotVeryRandomDude
      @NotVeryRandomDude 9 років тому

      Nessie The Lochness Monster Enjoy it while you can. Computers are coming.

    • @tom7
      @tom7  9 років тому +8

      Thomas Swegson You are very confused about how computers work. It's not a scripted series of actions. Complex behavior can easily arise, just as complex behavior can come from the laws of physics (governing how your brain works) or the discrete codes of DNA (causing it to be formed). The pausing is just an amusing accident, but this program certainly does learn, just as many others do.

  • @JesterWhoHelps
    @JesterWhoHelps 8 років тому +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.

    • @PickYourPoisson
      @PickYourPoisson 8 років тому +3

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

    • @Flush333
      @Flush333 8 років тому +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."

  • @noneofyourbusiness4133
    @noneofyourbusiness4133 2 роки тому +1

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

  • @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!

  • @dagalsevidxela1
    @dagalsevidxela1 8 років тому +84

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

    • @trungodword17
      @trungodword17 8 років тому +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 8 років тому +7

      Right over your head huh

    • @trungodword17
      @trungodword17 8 років тому

      +dagalsevidxela1 yes

    • @4c6f
      @4c6f 8 років тому

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

    • @dyowzhars9400
      @dyowzhars9400 4 роки тому

      @@dagalsevidxela1 More like over YOUR head xD

  • @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! :)

  • @zyriuz2
    @zyriuz2 8 років тому +11

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

  • @Jackrockpublic
    @Jackrockpublic 9 років тому +2

    This video sort of creeps me out, yet it fascinates me wildly, I cannot comprehend what this program known as 'LearnFun' is and how it can play any of these games, especially the part when the program pauses Tetris right as it is about to loose, I almost got the shivers watching this, but overall this is by far the best thing I have ever seen online...

  • @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?

  • @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! :)

  • @NonTwinBrothers
    @NonTwinBrothers 2 роки тому +2

    Woooah wait 9 years ago already?

  • @Gogglehead-i7u
    @Gogglehead-i7u 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 9 років тому

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

    • @uhbuhbhbuhbuhbu
      @uhbuhbhbuhbuhbu 9 років тому +1

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

    • @hecko-yes
      @hecko-yes 9 років тому +1

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

  • @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! :)

  • @adamboy7777
    @adamboy7777 9 років тому +1

    For anyone interested in using playfun, keep in mind there is no pause function, and you cannot resume from where you left off if the program gets closed. I have however found a "solution". I used virtualbox to make a virtual machine and let playfun have all of the virtual machine's resources.
    Using virtualbox you can not only pause the virtual machine (and in turn playfun), but also create save states to resume from if either the host machine needs to be turned off or if the guest machine ends up restarting. I made a savestate of the virtual machine and was able to resume playfun several days later with no ill effects.
    The only down side is playfun has slightly less resources then if it were running natively (due to the fact you still have to run your own operating system as well as the virtual one), but I feel it's a pretty fair trade off. Not only that, but playfun appears to be running better in it's virtual environment then it was running natively with 100% of my resources and power (but that's probably because my AMD doesn't support hyper threading). I hope someone can make use of this information.

  • @AlexDanut
    @AlexDanut 8 років тому +62

    The ending was hilarious

  • @lauraiss1027
    @lauraiss1027 2 роки тому +4

    "Who likes to read, c'mon it's 2013". Prior to looking up video date, I honestly thought you misspoke.

  • @MichaelJamesActually
    @MichaelJamesActually 2 роки тому +1

    Love the UA-cam algorithm recommending this after 9 years.

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

  • @spartanfoxie
    @spartanfoxie 8 років тому +82

    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  8 років тому +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 8 років тому

      Interesting

    • @spartanfoxie
      @spartanfoxie 8 років тому

      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  8 років тому +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 8 років тому +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

  • @DonBurtango
    @DonBurtango 8 років тому +70

    AI Salt.

  • @Gabriel38196
    @Gabriel38196 8 років тому +6

    man this was cool. Also the ending was so poetic

  • @F0reman371
    @F0reman371 9 років тому

    Realizing the concept of futility that quickly from nothing is... its not much in the grand scheme sure but when you really think about how this program "learns" and adapts it becomes ever more impressive.... like drop-in-the-bucket-towards-the-singularity impressive.
    Greetings Professor Falken...

  • @thatoneberzerk2275
    @thatoneberzerk2275 9 років тому +2

    Whoa! This thing is so awesome, it's *really* slow to learn how to play the games, but it's just amazing.

  • @greenD7244
    @greenD7244 8 років тому +91

    But first, let's talk about parallel universes

  • @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 2 роки тому

      @@archive94 that was the “sore losers” part

  • @damon5521
    @damon5521 8 років тому +3

    That ending was marvelous.

  • @M30W3R
    @M30W3R 2 роки тому +1

    I didn't know you could abuse splash damage in Bubble Bobble, truly technology is a wondrous thing

  • @joshualee5892
    @joshualee5892 8 років тому

    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 8 років тому

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

  • @Patricknotstarr
    @Patricknotstarr 9 років тому +11

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

  • @twilight-sparkle
    @twilight-sparkle 8 років тому +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 8 років тому +5

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

    • @tom7
      @tom7  8 років тому +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...

  • @johneymute
    @johneymute 9 років тому +22

    This is mind blowing, however, it's clear that each game requires a specific algorithm to get into the game by the AI software or robot.

    • @tom7
      @tom7  9 років тому +23

      +Johneymute supergd Maybe I don't understand your comment, but note this was the same software running with the exact same settings on each game (and in the sequel videos). The only thing it gets is a video of me playing the game for a minute or so.

    • @rukk1357
      @rukk1357 8 років тому

      +suckerpinch I think he means that the program is very good, even at the later games, considering that it was build for a jump 'n run game.

    • @diff5550
      @diff5550 8 років тому +1

      +Johneymute supergd 11:19 disagrees with you. For the lazy: "[Other games] are played with the exact same settings."

    • @lincolnpepper816
      @lincolnpepper816 6 років тому +1

      @@rukk1357 but it wasn't built for a jump n run game, it was built to get values higher.

    • @padraicfanning7055
      @padraicfanning7055 5 років тому

      SPOILERS FOR EPISODE THREE: it’s _really_ good at pinball.

  • @anshumankaushik6454
    @anshumankaushik6454 7 місяців тому +1

    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

  • @markscooby
    @markscooby 6 років тому

    One of the best videos i watched recently.

  • @mikeshaver-miller745
    @mikeshaver-miller745 8 років тому +3

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

  • @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

  • @TheEyez187
    @TheEyez187 9 років тому +30

    Interesting video. I imagine Playfun would absolutely own Cookie Clicker! :D

    • @jhgrejfrgh
      @jhgrejfrgh 7 років тому

      hahahhahahahhahaaha

    • @sebbes333
      @sebbes333 6 років тому +2

      My friend has bought an Arduino (micro computer) that he has dedicated to playing Cookie Clicker, as far as I know it has been ruining for over 2 years (probably more) :D
      en.wikipedia.org/wiki/Arduino

    • @Vegas242
      @Vegas242 6 років тому

      Sion I mean, how many cookies has it generated lol

    • @mystica-subs
      @mystica-subs 6 років тому +1

      take linux; take chrome; take xdotool; zoom the window big enough so that even random chance will allow you to hit most of the golden cookies. script xdotool to basically click around in a circle within this window. doesnt need any neural networks and works bloody well.

  • @ruthpol
    @ruthpol 8 років тому

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

  • @afroradiohead
    @afroradiohead 9 років тому

    This is the future of gaming. Watching narrators narrate computers playing games. This was super fun to watch! haha

    • @tom7
      @tom7  9 років тому

      Glad you liked it! :) I hope there are some games left for me to play too though.

  • @samantharichmond6931
    @samantharichmond6931 10 років тому +7

    I wonder how long until this AI becomes a pro speedrunner of Super Mario Bros.

  • @DanielRock
    @DanielRock 8 років тому +3

    "The only winning move is not to play" - you get a like for this simple quote.

  • @RichardCraig
    @RichardCraig 9 років тому +5

    Imagine a world where we have competitive AI events with people pitting their game-playing AIs against each other for speedruns or 1 v 1 type games. That'd be so much fun to watch!

    • @networkoperations
      @networkoperations 2 роки тому +1

      Until Skynet looks back on those and uses them as evidence in the conviction of humanity.

  • @kurtwoyma7781
    @kurtwoyma7781 6 років тому

    the ai pausing the game is to this day the only thing to ever truly send a shiver up my spine...

  • @cheshirecat2118
    @cheshirecat2118 5 років тому

    I remember reading about this so long ago, it's one of the biggest things that got me interested in computer science to begin with. Then I stumble on his latest video about 30 different chess AI yesterday without realizing, only to now look at his other videos, find this one and see that it's the same guy.What a small world

  • @JMNTN
    @JMNTN 9 років тому +13

    Amazing how it can find those glitches and use them to finish the game

    • @SpyzacFilms
      @SpyzacFilms 9 років тому +4

      Hugh Janus win by any means necessary

    • @xWiredTx
      @xWiredTx 9 років тому +3

      Hugh Janus Yes. It doesn't understand the concept of glitches. Anything that can be used will be used to win. The program's logic is that if it's in the game it was put there to be used. It was put there in the game specifically by the developers to use it. There is no glitches and nothing wrong with the game.

    • @9600bauds
      @9600bauds 9 років тому +3

      xXx_illuminati_overload_xXx I guess it's because glitches and exploits are mostly unintuitive (who would try to stomp a goomba from below?), so a human player doesn't even try to do them. The program however will try completely random stuff until it works, and then keep doing it.

    • @FireballFlame
      @FireballFlame 9 років тому +5

      9600bauds Yeah, games are made by humans and tested by humans, so the entire process is biased. I suppose as a result, bugs that are caused by behaviour untypical for a human player are less likely to be discovered and fixed than those caused by playing the game like a human would, so they stay in the game. But the program has no such bias, stumbles upon them and uses them to progress.

    • @NoConsequenc3
      @NoConsequenc3 9 років тому

      FireballFlame that said; bugs and glitches aren't always bad. Several very fun moments are caused by them

  • @zasfp
    @zasfp 8 років тому +9

    This is hilarious I could watch it play games all day