Go Back   Flash Flash Revolution > Gaming > Video Games
Register FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
Old 04-9-2013, 08:31 PM   #1
Patashu
FFR Simfile Author
Retired StaffFFR Simfile Author
 
Patashu's Avatar
 
Join Date: Apr 2006
Location: we traced the call...it's coming from inside the house
Age: 33
Posts: 8,609
Send a message via AIM to Patashu Send a message via MSN to Patashu Send a message via Yahoo to Patashu
Default Bot that plays NES games by making numbers go higher

http://www.cs.cmu.edu/~tom7/mario/



Ok, this isn't my work but it's really, really cool. Basically, this guy wrote a bot that plays NES games by attempting to increase addresses in memory that have a lexicographical ordering (for instance, score goes up but it has more than one byte - but lexicographically it still increases when you observe someone play) and trying multiple future sequences and greedily picking the best one. Without knowing anything about a NES game except what it sees happen in memory from the game being played once by a human (which it uses to decide what memory addresses are important, e.g. increase lexicographically), it displays emergent skill in games like Super Mario Bros due to being driven to increase score and scroll the camera right (two lexicographical orderings) and therefore to progress and not to die to hazards (preferring to get their score). It even finds glitches in the game and does insanely risky dodges purely because it keeps the bot alive.

In the video the gameplay starts at about 6 minutes in. He's published a paper and source code for it.

While the bot only gets so far before dying in each game, I think that if it was made more 'death-averse' somehow and looked a bit further ahead it would be able to beat simple NES platformers. It's really exciting that it can get so far with so little knowledge of the game![/i]
__________________
Patashu makes Chiptunes in Famitracker:
http://soundcloud.com/patashu/8bit-progressive-metal-fading-world
http://img.photobucket.com/albums/v216/Mechadragon/smallpackbanner.png
Best non-AAAs: ERx8 v2 (14-1-0-4), Hajnal (3-0-0-0), RunnyMorning (8-0-0-4), Xeno-Flow (1-0-0-3), Blue Rose (35-2-0-20), Ketsarku (14-0-0-0), Silence (1-0-0-0), Lolo (14-1-0-1)
http://i231.photobucket.com/albums/ee301/xiaoven/solorulzsig.png
Patashu is offline   Reply With Quote
Old 04-9-2013, 08:49 PM   #2
Hakulyte
the Haku
Retired StaffD7 Elite KeysmasherFFR Veteran
 
Hakulyte's Avatar
 
Join Date: Jul 2005
Age: 35
Posts: 4,526
Default Re: Bot that plays NES games by making numbers go higher

Pause is best strategy ever to not die in Tetris~ that was a fun watch. That looks like an amazing tool to find glitches btw.

Last edited by Hakulyte; 04-9-2013 at 08:51 PM..
Hakulyte is offline   Reply With Quote
Old 04-9-2013, 10:23 PM   #3
Crazyjayde
FFR Veteran
Wiki Administrator
Retired StaffFFR Veteran
 
Crazyjayde's Avatar
 
Join Date: May 2007
Location: Quebec
Posts: 1,169
Default Re: Bot that plays NES games by making numbers go higher

The man himself is really interesting to listen to. This is a great push in an interesting gaming direction, and I feel like this program could be exploited to explore new game mechanics.
Impatiently waiting for the day where TAS players will be replaced by bots.
Crazyjayde is offline   Reply With Quote
Old 04-9-2013, 10:28 PM   #4
darklordsarumon9
FFR Player
 
darklordsarumon9's Avatar
 
Join Date: Feb 2005
Location: Crook County, Illinois
Age: 34
Posts: 1,777
Send a message via AIM to darklordsarumon9 Send a message via Skype™ to darklordsarumon9
Default Re: Bot that plays NES games by making numbers go higher

Stomping Goombas from the bottom, that's great.
This is an awesome video
__________________
Quote:
Originally Posted by Choofers View Post
i was up aound 11 ish to my my mom textinin me over voaevover avo oover, asking if o wamt food from china so i said hai and off sent went to a p; blasnd buffet bu o wl who cares
Quote:
Originally Posted by cetaka View Post
whats namine like in person
darklordsarumon9 is offline   Reply With Quote
Old 04-9-2013, 10:35 PM   #5
PrawnSkunk
Administrator
User Administrator
AdministratorDeveloperFFR Simfile AuthorFFR Veteran
 
PrawnSkunk's Avatar
 
Join Date: Dec 2007
Location: Vancouver, BC
Age: 29
Posts: 3,902
Default Re: Bot that plays NES games by making numbers go higher

I'm curious as to what would happen and what limitations there would be if this bot were to "learn" FFR/Stepmania.
PrawnSkunk is offline   Reply With Quote
Old 04-9-2013, 11:13 PM   #6
justin_ator
🥓<strong><span style="col
Resident Overseer
FFR Veteran
 
justin_ator's Avatar
 
Join Date: Mar 2007
Location: Kingsport, TN
Posts: 7,648
Default Re: Bot that plays NES games by making numbers go higher

This was very intriguing
__________________
justin_ator is offline   Reply With Quote
Old 04-9-2013, 11:36 PM   #7
Izzy
Snek
FFR Simfile AuthorFFR Veteran
 
Izzy's Avatar
 
Join Date: Jan 2003
Location: Kansas
Age: 34
Posts: 9,192
Default Re: Bot that plays NES games by making numbers go higher

It seems like it could be infinitely good if you had a collection of input data from thousands of people across every level.
Izzy is offline   Reply With Quote
Old 04-9-2013, 11:45 PM   #8
Untimely Friction
D6 Challeneged
Retired StaffFFR Veteran
 
Untimely Friction's Avatar
 
Join Date: Aug 2012
Age: 31
Posts: 1,267
Default Re: Bot that plays NES games by making numbers go higher

Quote:
Originally Posted by PrawnSkunk View Post
I'm curious as to what would happen and what limitations there would be if this bot were to "learn" FFR/Stepmania.
Autoplay.
Untimely Friction is offline   Reply With Quote
Old 04-9-2013, 11:55 PM   #9
cedolad
moonchild~
FFR Simfile AuthorFFR Veteran
 
cedolad's Avatar
 
Join Date: Jan 2007
Location: .
Age: 30
Posts: 6,879
Send a message via Skype™ to cedolad
Default Re: Bot that plays NES games by making numbers go higher

lol rage quit
__________________
cedolad is offline   Reply With Quote
Old 04-10-2013, 03:33 AM   #10
Oni-Paranoia
No fucks
FFR Veteran
 
Oni-Paranoia's Avatar
 
Join Date: Dec 2006
Location: Everywhere
Posts: 2,440
Default Re: Bot that plays NES games by making numbers go higher

Quote:
Originally Posted by Untimely Friction View Post
Autoplay.
A learning program would have a curve before hitting all the notes perfectly. I could imagine a program getting a boo or good as the first judgement and then trying to replicate a bunch of goods before it notices perfects give you more points (assuming you didn't play beforehand, otherwise it would probably just look like autoplay, but that's no fun).

Very interesting video indeed.
Oni-Paranoia is offline   Reply With Quote
Old 04-10-2013, 04:35 AM   #11
ReikonKeiri
i wanna be ur pop star
FFR Veteran
 
ReikonKeiri's Avatar
 
Join Date: Jun 2006
Location: VA
Age: 33
Posts: 2,388
Send a message via Skype™ to ReikonKeiri
Default Re: Bot that plays NES games by making numbers go higher

as a computer programmer nearing graduation my mind has just been completely blown. i feel retarded
__________________


FMO AAAs (3): Heavenly Spores (68), Fast Asleep (67)!, 0 (piano version) (66)! VC AAAs: 76
Best VCs: Finders Keepers (64), Purple (64), Travel Demon (63), Final Step (63), A World of Piano (63), Balloon Fever (63), The Fusion (63)

It's Only Natural BF
Southern Cross BF
Minute Waltz v2 BF
Novo Mundo BF
Stark Raving Mad BF
Midnight Dragon 1-0-0-1
Choprite 2 clean
Rottel 2 clean
J&C 2 clean
Chronograph 2-1-0-1
BB Evo 3 clean
Staring at my Spaceship 3 clean
Epilogue 3-0-0-1
Banned Forever 3-0-0-1
World Tour 2004 3-0-1-4
Demon Beast Appearance 4 clean
Gacha Gacha Figu Atto Radio 4 clean
Gravity Blast 4 clean
Just Why 4 clean
Eternal Drain [Heavy] 4 clean
300 4-0-0-1
Pure Ruby 5 clean
Destination of the Heart 5 clean
Plasmatextor 5-0-0-4
Oni 6 clean
Yorukumoryuu Yamikaze 6 clean
Ambient Angels 6 clean
Colorful Course 6 clean
Hajnal 6 clean
Arsonist 7-0-0-1
Setsujou! Hyakka Ryouran 7-1-0-1
Face in the Gutter 8 clean
Kanon Medley 8 clean
Colibri 8 clean
Summer Time Perfume 8 clean
Blindfolds Aside 8-0-0-1
Bubble Bath Aftermath 8-0-0-1
Bloody Tears 8-0-0-2
Ochitsukeruwakenaiwayo! [Heavy] 9 clean


Quote:
Originally Posted by Moogle-master View Post
To be fair, having all the BlazBlue's isn't good taste more then it is common sense.
ReikonKeiri is offline   Reply With Quote
Old 04-10-2013, 06:00 AM   #12
arcnmx
nanodesu~
Retired StaffFFR Veteran
 
arcnmx's Avatar
 
Join Date: Jan 2013
Location: Ontario, Canada
Posts: 503
Send a message via Skype™ to arcnmx
Default Re: Bot that plays NES games by making numbers go higher

Damn, it's just so clever and simple. Great use of the emulator.

Quote:
Originally Posted by PrawnSkunk View Post
I'm curious as to what would happen and what limitations there would be if this bot were to "learn" FFR/Stepmania.
FFR/SM is so simple it would be able to autoplay instantly. Since the bot doesn't really learn how to play the game (essentially it just tries playing it quadrazillions of different ways every second, checking each run in the emulator and picks the sequence with the best score)... As long as it can find the score, know which 4 buttons to press and looks ahead farther than the ~8 frames of timing window in a rhythm game it would never boo, miss, or do anything but perfectly hit everything.
__________________


FMO AAAs (1): Within Life :: FGO AAAs (1): Einstein-Rosen Bridge

Last edited by arcnmx; 04-10-2013 at 06:18 AM..
arcnmx is offline   Reply With Quote
Old 04-10-2013, 09:56 AM   #13
Izzy
Snek
FFR Simfile AuthorFFR Veteran
 
Izzy's Avatar
 
Join Date: Jan 2003
Location: Kansas
Age: 34
Posts: 9,192
Default Re: Bot that plays NES games by making numbers go higher

I think this bot would hit tons of boos on ffr just because it makes the score go up, but would only hit enough to prevent it from dieing.

Edit: oh nvm boos don't make your score go up. But goods in stepmania do despite killing your combo.

Last edited by Izzy; 04-10-2013 at 10:08 AM..
Izzy is offline   Reply With Quote
Old 04-10-2013, 10:15 AM   #14
Reincarnate
x'); DROP TABLE FFR;--
Retired StaffFFR Veteran
 
Reincarnate's Avatar
 
Join Date: Nov 2010
Posts: 6,332
Default Re: Bot that plays NES games by making numbers go higher

This is the coolest thing I have ever seen


edit: Wouldn't be hard to apply to rhythm games. Keep your combo going up, keep perfect count going up.

Last edited by Reincarnate; 04-10-2013 at 10:34 AM..
Reincarnate is offline   Reply With Quote
Old 04-10-2013, 02:21 PM   #15
Ohaider
FFR Veteran
FFR Veteran
 
Join Date: Jun 2012
Age: 28
Posts: 2,893
Default Re: Bot that plays NES games by making numbers go higher

This is awesome haha
__________________
Ohaider is offline   Reply With Quote
Old 04-10-2013, 02:48 PM   #16
igotrhythm
Fractals!
FFR Veteran
 
igotrhythm's Avatar
 
Join Date: Sep 2004
Location: Meesheegan
Age: 38
Posts: 6,534
Send a message via Skype™ to igotrhythm
Default Re: Bot that plays NES games by making numbers go higher

I can see it doing well at the original Mega Man because that had a scoring system and linear levels. Anything past that, though, it's going to struggle mightily because there's nothing telling it what constitutes progress through a level other than survival. And then there's the boss fights--the Karate Kid demonstration proves that lexicographical tracking is not the way to go when life bars are involved.

Just wait until this thing gets unleashed on Robot Unicorn Attack. O_O
__________________
Quote:
Originally Posted by thesunfan View Post
I literally spent 10 minutes in the library looking for the TWG forum on Smogon and couldn't find it what the fuck is this witchcraft IGR

Last edited by igotrhythm; 04-10-2013 at 02:54 PM..
igotrhythm is offline   Reply With Quote
Old 04-10-2013, 03:51 PM   #17
qqwref
stepmania archaeologist
Retired StaffFFR Simfile AuthorFFR Veteran
 
qqwref's Avatar
 
Join Date: Aug 2005
Age: 34
Posts: 4,090
Default Re: Bot that plays NES games by making numbers go higher

Despite its shortcomings this is a pretty solid achievement, and the video was really fun too. I'm surprised it already learned some conceptually tricky strategies (physics abuse, walljumping, ragequits). I think that although it isn't well-suited for some types of games, with some modifications, it could get really good. For instance, in Super Mario Bros. it could be specifically told that the number of lives may never ever be allowed to decrease, or in Tetris it could be told that pausing is illegal (and trained for long enough that it realizes lines give more points and are more important than anything else).
__________________
Best AAA: Policy In The Sky [Oni] (81)
Best SDG: PANTS (86)
Best FC: Future Invasion (93)
qqwref is offline   Reply With Quote
Old 04-10-2013, 04:53 PM   #18
j-rodd123
End of the road
FFR Veteran
 
j-rodd123's Avatar
 
Join Date: Oct 2006
Location: Canada
Age: 31
Posts: 3,692
Default Re: Bot that plays NES games by making numbers go higher

i am not impressed
__________________

Quote:
Originally Posted by FictionJunction View Post
wow
j-rodd123 is offline   Reply With Quote
Old 04-10-2013, 05:23 PM   #19
mrpreggers
D7 Elite Keymasher
D7 Elite KeysmasherFFR Veteran
 
mrpreggers's Avatar
 
Join Date: Feb 2011
Age: 30
Posts: 3,391
Default Re: Bot that plays NES games by making numbers go higher

i chuckled pretty hard at tetris.. pausing because it refuses to lose lol
__________________
mrpreggers is offline   Reply With Quote
Old 04-11-2013, 12:39 AM   #20
dAnceguy117
new hand moves = dab
FFR Simfile AuthorFFR Veteran
 
dAnceguy117's Avatar
 
Join Date: Dec 2002
Location: he/they
Age: 33
Posts: 10,094
Default Re: Bot that plays NES games by making numbers go higher

Pretty incredible how the exact same program will play any NES game and, in some cases, play them very well. This guy rules.

How "greedy" is the algorithm, though, if it peeks into the future? Might as well grow those sequences and make more comprehensive choices. Less elegant, but more effective, right?

That juke to avoid dying in Pac-man was out of this world
dAnceguy117 is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump



All times are GMT -5. The time now is 04:29 AM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright FlashFlashRevolution