How To Record Your Own Tool-Assisted Speedrun

Mega Man 2 screenshot

The first post on Geek Out New York extolled the artistry of “tool-assisted speedruns,” especially those featured on TASvideos.org. Tool-assisted speedrunners use emulation tricks to create movies of classic games being played as fast as possible, like a video that completes Super Mario Bros. 3 in ten-and-a-half minutes.

The most dedicated TASers use software robots and RAM analysis to create their movies—a process that can take several months to generate a final product—but they’re exploring the absolute limits of the game software. If you’re creating a TAS just for fun, to explore the limits of your own skill, you don’t need nearly that much time. In a single afternoon, you can produce a video of yourself blazing through games as a technology-enhanced NES savant.

What You’ll Need

  • An emulator. FCE Ultra 0.9.8.15 is the best emulator for TAS purposes. Windows or Linux only. I’d love to do speedruns in Mac OS X, but the software isn’t there.
  • A ROM file of the game you want to play. Google is your friend.
  • The FFDShow codec. This drastically lessens your video’s size and recording time.
  • A gamepad/joystick. This is optional, but it’s much more natural-feeling and fun than playing with the keyboard. I use a Dual Shock 2 (PlayStation) controller connected by a USB adapter.

Step 1: Set Up Savestates

Imagine you were playing a game of basketball in which every time you missed a shot, you had the power to go back in time and try the shot again until you made it. To an onlooker, you would be a phenom with a 100% shooting percentage. In essence, this is how tool-assisted speedruns work, thanks to savestates.

Typically, a game will only let you save your progress between levels or at designated save points. With an emulator, though, you can save your progress at any moment and return to that “savestate” whenever you want. By creating a savestate, you’re essentially marking a point in time that you can revisit later.

For this piece, I decided to make a movie of myself playing the Bubble Man stage in Mega Man 2 without taking any damage.1 This isn’t a difficult stage, but to complete it without getting hit even once would take a little practice. Not with savestates.

My strategy was simple. Whenever Mega Man defeated an enemy or passed an obstacle without getting hurt, I would save my progress. Whenever Mega Man took damage, I would return to the previous savestate—jump back in time, so to speak—and try again. After about ten minutes of this streamlined trial and error, I finished the stage with Mega Man’s energy bar fully intact.

FCE Ultra hotkeys setup

Regardless of your goal, your savestate strategy will probably be similar. So before you start playing, set up your emulator’s hotkeys (Config > Map Hotkeys… in FCEU) so that you can quickly create and restore savestates. As you can see from the screenshot above, FCE Ultra uses the function keys by default, which might be fine, but configure a setup that works for you. I use the Dual Shock’s shoulder buttons—buttons on the right side to save, buttons on the left side to load.2

FCEU offers 10 slots for savestates, but when creating a “just-for-fun” TAS, you can just use two. I save to Slot 1 often as I go along, and at major checkpoints, I also save into Slot 2. In other words, Slot 1 is for little bits of progress; Slot 2 is for big chunks.

The “big chunks” slot serves as a backup. If I screw up—say, by accidentally saving my state after Mega Man gets hurt (Heaven forfend)—I want a fallback in the second slot so that I don’t have to start all the way back at the beginning.

Step 2: Play

Fire up a ROM and play with the savestate feature until it becomes second nature, which doesn’t take long.

FCE Ultra record command

When you’re ready to make your run, choose File > Record Movie… from the FCEU menu, and instruct the emulator to record from “Start.” After resetting the game, FCEU will begin recording your button presses.

Then you’re good to go. Simply save your state whenever you succeed, and load the savestate whenever you make a mistake. When you load a savestate, this also “rewinds the tape” on your button-press recording, so FCEU instantly edits your missteps out of the final product.

After you reach your goal, choose File > Stop Movie. This creates a button-sequence file of your run. (FCEU calls this a “movie.”) Load that file into FCEU with File > Replay Movie… and watch “yourself” play with perfection. Even though you know the trickery behind the action, it’s a blast to watch this idealized version of you lay enemies to waste.

Step 3: Create a Video

This is optional. You can rewatch your speedrun anytime you want, simply by loading the ROM into FCEU and replaying the button-sequence file. If you made the run purely for your own enjoyment, you’re done.

But if you’d like to show your creation off on a wider scale, you need to create an AVI. TASVideos.org has thorough instructions on this process for various emulators; here’s the link to the Making AVI on Windows FCEU page. Note that the only section of the TASVideos.org directions that you truly need is the “capturing” section, which creates a YouTube-ready video file. The rest of the information is useful but not necessary.

A note on honesty: Some gamers think that tool-assisted speedruns are inherently “cheating.” They’re not, except perhaps in some cosmic sense. It is dishonest, however, to publicize a TAS video without explicitly noting that it is tool-assisted. That’s a cardinal sin in the speedrunning world. Label your video appropriately.

Here’s my Mega Man 2 Bubble Man run. It’s not particularly fast or smooth, and I didn’t bother to tweak the encoding, so it’s blurrier than it should be. None of that matters, though, because it was a lot of fun to make. And this was 10 minutes’ worth of work. You could make something pretty cool in a weekend.


Notes
  1. In this sense, the term “speedrun” is a misnomer, as a run doesn’t have to be predicated on speed. Your goal could be to avoid damage, as with my example, or to, say, finish Metroid while firing as few shots as possible (known as a “pacifist” run). As they used to say on Reading Rainbow, the only limit is your imagination. Your pathetic, inadequate imagination. 

  2. To use a gamepad to save/load savestates in FCE Ultra, you’ll need a key-mapping program like Xpadder

Post Details

"How To Record Your Own Tool-Assisted Speedrun" was originally published on March 20, 2008.

If you enjoyed this post, why not subscribe to the feed?

The most recent posts are available on the Geek Out New York front page.

Contact