04-9-2013, 08:31 PM | #1 |
FFR Simfile Author
|
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 |
04-9-2013, 08:49 PM | #2 |
the Haku
Join Date: Jul 2005
Age: 35
Posts: 4,526
|
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.. |
04-9-2013, 10:23 PM | #3 |
FFR Veteran
Wiki Administrator
Join Date: May 2007
Location: Quebec
Posts: 1,169
|
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. |
04-9-2013, 10:28 PM | #4 |
FFR Player
|
Re: Bot that plays NES games by making numbers go higher
Stomping Goombas from the bottom, that's great.
This is an awesome video |
04-9-2013, 10:35 PM | #5 |
Administrator
User Administrator
Join Date: Dec 2007
Location: Vancouver, BC
Age: 29
Posts: 3,902
|
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.
|
04-9-2013, 11:13 PM | #6 |
🥓<strong><span style="col
Resident Overseer
Join Date: Mar 2007
Location: Kingsport, TN
Posts: 7,648
|
Re: Bot that plays NES games by making numbers go higher
This was very intriguing
__________________
|
04-9-2013, 11:36 PM | #7 |
Snek
Join Date: Jan 2003
Location: Kansas
Age: 34
Posts: 9,192
|
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.
|
04-9-2013, 11:45 PM | #8 |
D6 Challeneged
Join Date: Aug 2012
Age: 31
Posts: 1,267
|
Re: Bot that plays NES games by making numbers go higher
|
04-9-2013, 11:55 PM | #9 |
moonchild~
|
Re: Bot that plays NES games by making numbers go higher
lol rage quit
__________________
|
04-10-2013, 03:33 AM | #10 |
No fucks
Join Date: Dec 2006
Location: Everywhere
Posts: 2,440
|
Re: Bot that plays NES games by making numbers go higher
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. |
04-10-2013, 04:35 AM | #11 |
i wanna be ur pop star
|
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) |
04-10-2013, 06:00 AM | #12 |
nanodesu~
|
Re: Bot that plays NES games by making numbers go higher
Damn, it's just so clever and simple. Great use of the emulator.
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.. |
04-10-2013, 09:56 AM | #13 |
Snek
Join Date: Jan 2003
Location: Kansas
Age: 34
Posts: 9,192
|
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.. |
04-10-2013, 10:15 AM | #14 |
x'); DROP TABLE FFR;--
Join Date: Nov 2010
Posts: 6,332
|
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.. |
04-10-2013, 02:21 PM | #15 |
FFR Veteran
Join Date: Jun 2012
Age: 28
Posts: 2,893
|
Re: Bot that plays NES games by making numbers go higher
This is awesome haha
__________________
|
04-10-2013, 02:48 PM | #16 |
Fractals!
|
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
__________________
Last edited by igotrhythm; 04-10-2013 at 02:54 PM.. |
04-10-2013, 03:51 PM | #17 |
stepmania archaeologist
Join Date: Aug 2005
Age: 34
Posts: 4,090
|
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) |
04-10-2013, 04:53 PM | #18 |
End of the road
Join Date: Oct 2006
Location: Canada
Age: 31
Posts: 3,692
|
Re: Bot that plays NES games by making numbers go higher
i am not impressed
|
04-10-2013, 05:23 PM | #19 |
D7 Elite Keymasher
Join Date: Feb 2011
Age: 30
Posts: 3,391
|
Re: Bot that plays NES games by making numbers go higher
i chuckled pretty hard at tetris.. pausing because it refuses to lose lol
__________________
|
04-11-2013, 12:39 AM | #20 |
new hand moves = dab
Join Date: Dec 2002
Location: he/they
Age: 33
Posts: 10,094
|
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 |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|