Jump to content
0078265317

NESBot - NES playing robot beating Super Mario Bros.

Recommended Posts

I don't know, it doesn't seem all that impressive to me.

 

Granted, it was probably time-consuming and tedious to get the machine programmed with the right moves and timing, but still.

Share this post


Link to post
Share on other sites

That was a cool video but some of those moves didn't look right. Especially the one where Mario fell into a hole where he should have died but instead jumped his way out.

Share this post


Link to post
Share on other sites

That was a cool video but some of those moves didn't look right. Especially the one where Mario fell into a hole where he should have died but instead jumped his way out.

 

Yeah, I caught a lot of those. Going through blocks, jumping out of holes, jumping in mid air...

Share this post


Link to post
Share on other sites

The robot was exploiting well known flaws in the physics of Super Mario Bros. Wall jumping isn't well known but it's indeed possible. How it works is Mario has to approach the top of a block (stacked underneath other blocks) at just the right angle so his foot "catches" the very edge of the block. If you jump at that precise moment, you'll get an extra jump. I've managed to get the first part of the glitch to work numerous times, but I'm way too slow to jump when it happens.

Share this post


Link to post
Share on other sites

It's clever, but just a script playback. (Definately cool to see running on hardware though.)

 

Need to build a robot that can learn to win, though. ;)

  • Like 1

Share this post


Link to post
Share on other sites

There must have been cheats enabled.

 

The Mario runs into the flower-chomper things many, many times, and is unaffected. Likewise, in the water stage, he runs into the white sea creatures. In the final stage, runs into the rotating fire lines.

 

Therefore, it's not impressive. Let's see it done in its entirely. There's something not right about that video.

Share this post


Link to post
Share on other sites
There must have been cheats enabled.

Nope -- as Koopa64 said, this whole video is about exploiting known glitches in the collision detection, physics, etc. so that you can finish SMB in the shortest possible time. TASVideos has done tons of these "tool-assisted speedruns", and many of them exploit far more arcane and bizarre glitches. See the Rygar video, for example.

 

The cool thing here is that it can be reproduced on actual hardware using timed controller inputs, proving (apparently) that the game is deterministic and there aren't any hardware "edge cases" that break the run. I think a lot of the runs on TASVideos would never work on real hardware, particularly on systems like the SNES which depend on synchronizing multiple processors -- but this one does!

Edited by thegoldenband

Share this post


Link to post
Share on other sites

When this is done with a REAL robot, complete with mechanical arms, THEN I'll be impressed.

 

Mechanical ANYTHING; this thing isn't a robot.

Share this post


Link to post
Share on other sites

How is the "robot" device able to see the screen, and know exactly when to make those perfectly-timed controller inputs?

Share this post


Link to post
Share on other sites

How is the "robot" device able to see the screen, and know exactly when to make those perfectly-timed controller inputs?

 

I obviously cant be sure about this, but I'd think it's just a microcontroller spitting out pre programmed control signals.

Share this post


Link to post
Share on other sites

How is the "robot" device able to see the screen, and know exactly when to make those perfectly-timed controller inputs?

 

I obviously cant be sure about this, but I'd think it's just a microcontroller spitting out pre programmed control signals.

Yeah, I believe so. To answer the question differently, it doesn't need to see the screen. Once it hits the Start button, all the other events in the game are deterministic -- in other words, if you hit controller inputs at the exact right moments, you know exactly what will happen, and can write a "script" of inputs that will play the game without ever needing any feedback from the console.

 

If the game includes elements that depended on a true random number generator, this would be impossible, I believe. But otherwise almost every game ever made can be manipulated (often heavily manipulated) through timed controller inputs, simply by taking advantage of the console's state at a particular moment. You should see what they do with luck in RPGs! I'd be curious as to whether that can be duplicated on real hardware, as I believe a lot of it depends on sub-frame timing.

 

I'm always surprised that no one has tried this on the VCS, BTW. Of course it wouldn't be interesting on most arcade-style games like Kaboom, but I'd like to see the shortest possible game of Pitfall or Superman, or the fastest completion of Raiders of the Lost Ark (especially if there are unknown glitches that could be abused). Every time I've brought up the topic, though, it's been met with a resounding silence...

Edited by thegoldenband

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...