Skip to content

Instantly share code, notes, and snippets.

@0xabad1dea
Last active February 26, 2024 17:42
Show Gist options
  • Star 34 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save 0xabad1dea/0e2ac7119a543547e05cb51ed1aa5601 to your computer and use it in GitHub Desktop.
Save 0xabad1dea/0e2ac7119a543547e05cb51ed1aa5601 to your computer and use it in GitHub Desktop.
Speedrunning FAQ/Glossary

Speedrunning FAQ/Glossary

by 0xabad1dea September 2018

You may notice a decidedly Nintendo bias to the examples. I can't change who I am.

What is Speedrunning?

Speedrunning is:

  • Completing a video game
  • As fast as possible
  • According to a specific ruleset.

A hobby to some and an esport to others, speedrunning is the art of total mastery over a video game, pushing the engine to its absolute limits. Speedrunning blends the best of competitive play and community spirit; anyone can submit a run to a leaderboard or contribute their own discoveries of new techniques. The most popular website for leaderboards and links to community resources is speedrun.com. You can watch most runners stream their runs live on their Twitch accounts. Speedrunners have raised millions of dollars for charities through marathons, most notably at Games Done Quick. There are also plenty of races just for fun!

Are Glitches Allowed?

A very obvious question is whether using a glitch in the game to beat it faster is considered cheating. The answer depends entirely on the category, which is a specific ruleset for a specific game. Most categories allow glitches! Some categories may restrict certain glitches which are so severe that they make the game too easy. A category which allows no glitches will have "Glitchless" or "Bug Limit" in the name. ("Bug Limit" is a literal translation of a Japanese word. A few games use both "Glitchless" and "Bug Limit" to describe two different glitchless rulesets.) Glitchy games tend to develop many categories which take different approaches on which glitches to allow. You can pick whichever one seems fun to you.

But What Counts As A Glitch?

It turns out there is no objective definition of a glitch. Designating them is a highly political process, settled by community consensus of a game's runners. The line between "glitch" and "just an odd thing the game does" is extremely blurry. A notorious example would be the bike voucher flag which was accidentally discovered in Pokemon Red/Blue. Whether or not it's legally a glitch was changed multiple times, which is important because any% glitchless is the most popular category in Red/Blue and it saves a lot of time if it's allowed (it's not it is!, at time of writing). The PokeDoll skip in the same game is allowed in Glitchless, to the shock of many. It's argued to be a logical result of the game's intended mechanics, and so not a glitch, even though it lets you skip a large chunk of the plot. (If you follow the link, you will see it's called a glitch on that site. Speedrunning category rules are all that matter here!)

What are Categories?

Categories are a specific ruleset for a specific game. Any given run must be in a category. Categories are always defined according to the exact nature of a game, but there are several broad generalizations we can make. Many category names have a percent sign in them – this is all by analogy to 100%, and so that is where we will start.

  • 100% (often called hundo) is a category about completing all goals. In some games this means clearing every level, in others it means obtaining every collectable item (stars, heart pieces, mysterious medallions, so on and so forth). This is unsurprisingly usually the longest category. In RPGs especially, the world record for 100% can easily be 6-8 hours or more. (The WR for Breath of the Wild 100% is currently twenty seven hours.) The exact requirements for 100% will be negotiated by the community; for example, obtaining the cow is not required for Ocarina of Time 100%.

  • any% is a broadly popular category. It means simply completing the game in any way, regardless of percentage of game goals completed. This is usually defined as reaching the ending credits. any% can be surprisingly short, especially the glitches-allowed variant (which is more popular for most games). Ocarina of Time's any% is currently at 17 minutes, compared to 100% being just under four hours (and plenty of people remember when it was five hours).

  • When 100% is long and any% is short, in-between categories with more arbitrary definitions begin to pop up. For example a game such as BOTW may have an "All Dungeons" category, which requires completing all the major goals of the game without mopping up the smaller ones. Runs that are one to three hours long seem to be the sweet spot for being long enough to be interesting and fun without being too long to find the time to practice and perform. Super Mario 64 has several categories with different amounts of required stars, 120 Stars being 100%.

  • Then there are the meme categories, of course. If you make some rules up and get other people to try them, it's not really any less legitimate than any other category. When these get popular enough to make it to the speedrun.com leaderboards, they might get filed under "miscellaneous" or get their own page to constrain the nonsense.

  • Not many games have a low%, but it's a common point of confusion what it is and how it's different from any%. low% refers to completing the game with as few items as possible. This is different from any% because it means skipping an item that can technically be skipped, even if it would be faster to collect it and use it! Additionally, a longer low% run with fewer items supercedes a faster one with more. Here's an example of how low% works: in Majora's Mask, bombs are technically two items (the bombs in your inventory + the bomb bag) and bombchus are another, totalling three. All three can be skipped and replaced with just the blast mask. Since the blast mask has a long refresh timer on its use, this dramatically lengthens the low% run over what it would be if conventional bomb hovering could be used. low% can be a very difficult, technical category, based on extreme knowledge of the game engine.

  • IL stands for "Individual Level", a micro-speedrun of just one level, dungeon, etc of a game.

  • NSR stands for "No Source Requirement." This is a category variant where one is not required to collect items "properly" from their true source; glitching them into your inventory counts as getting them. (In source requirement, you can still glitch items into your inventory to use them, but you must obtain the real item before the end of the run.)

You can find the exact rules and leaderboards for categories on speedrun.com. You can run different rules if you want, but this is the most broadly acknowledged leaderboard by far and no-one would take e.g. an any% or 100% world record seriously if it was not in accordance with the rules on this site.

Are emulators allowed?

That's a big fat "it depends." Many 8-bit and 16-bit consoles have essentially perfect emulation, and moderators for leaderboards may be happy to accept runs done on approved emulators. Check the rules of the game you have in mind. For more powerful consoles, the answer is generally either a flat "no" or "only for times nowhere near world record." Nintendo 64 in particular is notorious for inaccurate emulation, and no-one would accept a WR done on emulator. (Of note is that official Virtual Console releases from Nintendo are not considered "an emulator" and are universally legal.)

You can use emulators for practice all you want, it only matters what you are using for a submitted run. That said, please never go into a twitch chat etc and flat out ask for roms in public. The moderators will have to purge you and might even just ban you. No-one wants things to be this way, but we have to do it for legal reasons.

Is streaming required?

No, streaming your runs live is not mandatory. Most runners stream because the community aspect of it is what keeps them going through so many attempts. Some people simply prefer not to, and of course not everyone is lucky enough to have great internet. You can record straight to your computer hard drive and upload the result to youtube for verification. Many leaderboard moderators do not even require video verification if you are not claiming an especially impressive time. If your time approaches the top of the leaderboard, video proof will be expected.

Your video should have no gaps in it whatsoever. If you are streaming, it is a good idea to enable simultaneous local recording. If your internet connection drops during a PB you will still have a continuous video.

What difficulty?

In games with adjustable difficulty, basic categories typically do not require a specific difficulty setting. It is, naturally, usually fastest to go with the lowest difficulty. Many newcomers are disappointed to discover a runner is "only" running on easy, but that is misunderstanding the movement-focused challenge of speedrunning. Raising the difficulty would only result in combat encounters taking longer without adding any variety to the challenge. Many games have a separate category just for the highest difficulty, for runners who really want to stunt and/or suffer.

Some games can only realistically be run at all on the lower difficulties, because hours of grinding is strictly necessary to progress on the higher ones. It's not fun to run and it's not fun to watch.

There are times when adjusting the difficulty mid-game can actually help out. For example, in Minecraft, a runner may temporarily raise the difficulty to cause fire to spread to blocks more quickly.

How are console games recorded?

Recording computer games is pretty straightforward, but consoles are another matter. For TV consoles you need a USB capture card with the appropriate connectors (HDMI, RCA, etc) which then passes on the video to the recording software on your computer. Handhelds are trickier: some can be modded to add specialized capture cards. Others are recorded by procuring old console add-ons which were released to play them on TV, resulting in complicated setups like GameBoy Player to GameCube to capture card to computer. When emulators are legal they are widely used precisely because of the difficulty and expense of these setups.

Why is it in Japanese?

When a game is available in multiple languages, Japanese is likely to be the fastest to run. There are two different reasons for this. The first is that the Japanese writing system is more compact than Western ones. A message that fills five screens in English may only fill three in Japanese. Over a long run these can really add up. The second is that, especially back in The Day, it was common for a game to release first in Japanese and not release in Western markets for months or even years. These second releases contained fixes for bugs uncovered by Japanese players. Hence, the original Japanese version may be the only one with certain useful bugs. Occasionally it happens the other way around, or it just works out that Italian happens to be the fastest edition. Most non-Japanese speedrunners do not actually know much Japanese. They are working with their general knowledge of the game and a little bit of context-specific memorization.

Please explain this "save the animals" thing.

At the end of Super Metroid there are some critters you are supposed to pick up on your way off the exploding planet. You can skip them and leave them to die, which saves time, but it really just doesn't sit right with some people. "Save/kill the animals" is GDQ's most well-known meme. At most (but not all) GDQs it has been decided by donation bid war.

No literal animals were harmed in the making of this speedrun.

Etiquette

Virtually all runners are happy to answer questions about their runs in twitch chat, but please, please, please, please check below the stream for a FAQ first!

Please do not bully runners over mistakes. Light-hearted ribbing is generally fine, but there's a line of mean-spiritedness you should not cross. It's usually people who don't actually know how to do the run who engage in this behavior. Those who have put in the work appreciate how hard it is!

Some runners really dislike it when chat tells them to reset. It's a personal choice whether to continue.

If the word "race" appears anywhere in the title or on the stream, please refrain from giving any hints about how to play the game. Blind races and randomizer races are both popular, and it's not fair if one participant is getting fed hints from their chat.

WR and PB

WR stands for "World Record". There is one per category. PB stands for "Personal Best". It is the best time of an individual runner in a category. A runner is only listed once per leaderboard, with their PB. Getting WR is of course a big deal, but anyone getting a new PB is cause for celebration! (A new WR is, obviously, also a new PB.) These terms are frequently used as verbs: "She WR'd last night" or "He's expecting to PB soon."

RTA, IGT and TAS

RTA stands for "real time attack," but that doesn't tell anyone anything so go ahead and forget that. What it actually means is the standard timing format for speedruns: one continuous timer from game start to end. Single-segment timing, i.e. never pausing the timer, is near universally required these days. (Multi-segment used to be more common to work around technical limitations such as limited streaming times back in The Day.) You can't pause the timer to go eat or go to bed. The sole exception I am aware of is that BOTW 100%'s rules were recently changed to allow breaks in light of the category being over 24 hours, so that it can be run without putting people in the hospital.

A few specific communities use a system of separately timing each individual level and adding these times together. Many games provide their own in-game timing (IGT) functionality. Whether these timers meet speedrunning standards is a bit of a mixed bag. Pokemon Red/Blue for example only internally times the game to the nearest minute, so RTA timing is necessary to differentiate the real world record. Sonic the Hedgehog 2 is an example of a game that is timed by IGT of individual levels. This is to remove the non-constant time of the score screen.

RTA is sometimes used not to refer to the timer method per se but to contrast with TAS. TAS stands for "tool assisted speedrun." This is a very common point of confusion: "tool" here does not refer to metronomes, spreadsheets which calculate probability, etc. These are legal for runners to use. "Tool assisted" refers solely to automated controller inputs. A tool assisted speedrun is essentially a computer program which plays the game with superhuman precision. A well-constructed TAS can be far faster than the human WR, but TASs do not go on human leaderboards. They're simply works of art. When people say a technique is TAS-only, they mean it's not realistic for humans to perform it consistently. When they say it's RTA-viable, they mean humans can manage it. Unlike human runners, TASs are allowed to directly read the game RAM.

LOTAD (yes, like the pokemon) stands for "low-optimization tool assisted demonstration." It's like a TAS, but not necessarily a whole run, or optimized for speed. It's just a segment of recorded gameplay with at least some automated inputs. They're frequently put together to demonstrate glitches.

RNG

Hang around in speedrun channels on twitch and you'll hear about RNG constantly – runners cursing it, praying to it, worrying they've ruined theirs. RNG stands for "random number generator," a programming term. It's how luck and chance are simulated in video games. Like everything else in a computer program, RNG works according to a given set of rules (different rules in different games). The simplest RNGs can be reliably manipulated by the player to obtain favorable results. Absurdly perfect RNG manip is a frequent feature of TASs. Many runs are massively affected by the RNG they roll each time. For example, in Ocarina of Time 100%, you could dig up Dampe's heart piece on the first attempt... or the fifth... or the seventeenth. That's what we call a run killer. When a WR is pretty good, runners may find that they can't realistically improve it without getting unusually good RNG on top of perfect execution.

Frames / FPS

Runners will often speak of a one-frame trick, a three-frame window, etc. Digital screens display one "frame" from a series of sequential images at a time, like a film reel. Most games have a specific frames-per-second (FPS). The most common FPSs are 30 and 60, though computer games with uncapped FPS may run at 120 or more. The Zelda 64 games (Ocarina of Time and Majora's Mask) are famous for running at only 20 FPS to squeeze more visual performance out of the N64. Glitches very commonly must be triggered on specific frames of gameplay to work. One-frame tricks are difficult to pull off, and the higher the FPS the shorter the window to trigger them. The most difficult tricks in speedrunning hinge on a whole series of frame-perfect inputs.

Micro-optimizations in a route are often measured in frames saved rather than in clock time, since it can be more clear and precise to say it cuts 10 frames on a 30FPS game than to say it saves roughly a third of a second.

Routing

The most obvious path through a game is probably not the fastest. The more complex the game and category, the more true this becomes. Routing is the hard, time-consuming work of putting together the exact path one should take in a run. The discovery of new glitches and techniques will necessitate changes and sometimes entirely new routes. Some people don't really run themselves, they just work on routing! This is one major way that speedrunning is a community undertaking – the world record holder of a popular game didn't do all the work on the route on their own. Looking for new glitches, testing the limits of the game, and working on routes can collectively be called Speedrunning Science. (It's very serious business.)

Splits

Okay. This is where we actually have to pull out labelled diagrams. Split displays cram an awful lot of information into not a lot of space, and having no idea what you're looking at is totally normal.

We already mentioned that most runs are timed single-segment, that is, one continuous timer. However runners use specialized timing software to split the run into continuous sections so they can track whether they're doing well, so-so, or terrible. Where to split is entirely runner's preference as it does not affect anything, but usually splits are placed at major goals or places the run is especially do-or-die. For example, someone running a Pokemon game might split at obtaining each gym badge. "A split" refers to the section of gameplay being timed, and "splitting" is when the runner advances the timer to the next split. (Runners map their split-advance button to a key like numpad 0 to make it as quick and easy to press as possible. Autosplitters exist only for a few specific games.)

By using the same set of splits across multiple runs, a runner can measure how they're doing relative to past runs, most importantly relative to their PB. With the splits display on screen, the runner and the chat can both see whether they are ahead or behind their PB at any given point, and by how much. Negative split times (ie "-5.7") are good; that means the run is ahead of PB. Positive times (ie "+8.2") are bad and mean the run is behind. Negative times are usually colored green and positive times are usually colored red. Yes, it's really colorblind-unfriendly, sorry! Look for the +/- signs.

Separate from being ahead or behind overall is the concept of a gold split. A gold split means that one singular split was done the fastest that runner has ever done it, regardless of how the run is doing otherwise. It's called a gold split because that is the default color for indicating it in splitting software, and also gold is obviously good. However, many runners use a special rainbow text effect, or change it to be any other color that is obviously not red or green. Getting gold splits signals improvement even if a runner doesn't PB.

Here is a labeled split display taken from a MST (medallions-stones-trials) run of Ocarina of Time 3D by gymnast86:

annotated split display

It is the personal opinion of this FAQ writer that "best possible time" is extremely misleading and we should rename it, but no-one asked me. What's actually being measured is the length of the run so far plus the gold split times of all remaining splits. In other words, it's treating gold splits as a hypothetical lower bound. Since runners get new golds all the time, that's not really true. "Best possible time" will steadily tick upwards as the runner falls short of past golds, and become a more accurate forecast of the run's actual time nearer to the end.

Many runners have a "Sum of Best" displayed beneath their splits. This is the total time of all their separate golds. It will often be much faster than their actual PB! This is because people rarely get perfect execution and perfect RNG in every split all in one run, especially in longer runs. There may even be technical reasons where i.e. you can save ten seconds on split A if you make a certain choice, but it will have repercussions an hour down the line in split K, so the sum of best may combine two alternate realities where you did and didn't make that choice. (A concrete example would be deferring when you watch a cutscene.) You didn't realize we were going to get into quantum physics here, did you? Speedrunning is 100% real science.

Common Tricks

  • A clip is passing through anything that is meant to be solid to the player. Clips are extremely common in all sorts of games, with causes such as tiny misalignments in pieces of the level or the player achieving a speed higher than the physics engine can handle.

  • Voiding is falling outside of the gameworld into the infinite abyss. Usually to be avoided but sometimes can achieve helpful effects like respawning you in an unreachable spot.

  • Zipping is going out of bounds, and the game attempts to place the player back in bounds in a different location, effectively teleporting.

  • Buffering is using the pause menu or something similar to progress the game one frame at a time until the desired frame is reached.

  • Damage boosting is getting hit on purpose to take advantage of how the player character is thrown around. Sometimes damage is taken for the invulnerability frames.

  • A death warp is dying on purpose to exploit the mechanics of respawn to reach a destination faster.

  • Wrongwarping is any glitch which causes the game to send you to the wrong destination. Wrongwarps are used to skip large portions of the game when they can be found.

  • RNG manip is a carefully orchestrated series of actions to influence the outcome of a random number generator.

  • Sequence breaking is doing things in a different order than intended by the game design. A good use case would be getting a late-game powerup early on so it can be used in more levels.

  • Making cycles is managing the timer loops of different elements in the stage (for example platforms that move up and down) to hit them all at the optimal time. A global cycle is a timer that is always running regardless of the player's location on the stage and a local cycle is one that doens't begin until the player comes within range.

  • Marathon strats are those which might be a little slower but are safer, for the sake of avoiding having to reset. Named for marathon events such as GDQ where getting through the game in one try is important.

  • A softlock is terrible actually. This is when a game gets stuck in an infinite loop due to a bug and there is no way to progress, forcing a reset. Some games are full of potential softlocks which the runner must avoid. (Demonstration of intentionally softlocking)

Resources

Final Note

Speedrunning is for everyone. This FAQ was written by a thirty-year-old queer woman, and I have disabled friends, trans friends, teenage friends, forty-something friends in speedrunning. I deeply value the sense of community and friendly competition. I love supporting my friends through their runs. I have some serious health problems that mean I can't play a lot of video games, and this FAQ is my way of contributing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment