01 February 2018

Speedrunning Friendly Game Design

Speedrunning is a great thing. It takes a lot of dedication, experience, practice, and knowledge to do fast speed runs with record times and it's always enjoyable to watch the GDQ (Games Done Quick) or AGDQ (Awesome Games Done Quick) there are tons of people who view them. Additionally, some speedrunners upload Youtube videos or stream the games they speed run.

Speed Running For Publicity

So with no doubt tons of people watch speed runs, which in return means if there are speed runs for your games more people will see it and maybe more people will play it. So having speed runners pick it up is a good thing. However, without paying speedrunners to pick up the game and speed run it you need to motivate them passively. The best way to do this would be to make your own speed run yourself. Unfortunately in most cases even if it's your own game you might not have what it takes to make a speed run. So we need to motivate other people to do it.

Preferred Games

Speedrunners prefer certain games to others for speedrunning. Watching speedrunners, taking a short look and using some common sense you can determine the factors that are needed for this and you can implement them to a certain degree into your game. So let's look at those factors from a speed runners point of view. Now I must say I'm not a speedrunner myself, I'm just a speedrunning enthusiast who tried back in the old days. Though the self-doubt of playing perfectly for up to hours to get the best times is quite discouraging. I know there are segmented runs too but getting near world record times. I doubt I'll be able to manage that without giving up something else.

Important Factors For Speed Running

As the name is saying it already: Speedrunning includes speed and running. It's about beating the game as quickly as possible. This means that situations where you have to wait for the game to continue to halt your progress and slow the runs down some times even immensely. Examples for this would be 
  • levels that scroll without allowing the player to leave the area. 
  • cut scenes that can't be skipped
Speed runs are often about the feel. If someone does a speed run they're not sneaking around slowly and carefully. Speedrunning is all about fast-paced progress. It's about running if.. you can call the fastest way to move through the game running as this most often does not describe whatever's the player character doing. Anyways what I want to get to next is the capability of movement. The more capability and maybe even combo's there is, the better. A good example of this is the Super Mario 64 series. In Super Mario 64 you could
jump, double jump, triple jump, dive, long jump, kick jump which also produces negative momentum when done against a wall side jump and wall jump
In Super Mario Sunshine the basic abilities weren't as good but you now got
jump, double jump, triple jump, dive, long jump, kick jump which also produces negative momentum when done against a wall, side jump, wall jump, spin jump, hover and tummy sliding
In Super Mario Galaxy we can now spin in air to keep us in the air by a little longer but therefor we lose a little of our arsenal. We're now left with
jump, double jump, triple jump, dive, long jump, kick jump which also produces negative momentum when done against a wall, side jump, spin in air and wall jump
With Mario Odyssey, we now can roll as well and some more tricks thanks to cappy
jump, double jump, triple jump, dive, long jump, kick jump, which also produces negative momentum when done against a wall, side jump, wall jump, throw and dive on cappy, jump off of cappy, dive again
If you give people an arsenal of movement abilities for all kinds of situations, speedrunners will most likely love it. So we've got movement and halts in games. With these both, you're pretty safe already. Though there's one more thing you can't account for.

Bugs & Glitches

 Sometimes it happens, that a wall or collision isn't set correctly or a loading zone can be triggered from somewhere else. Some times even heavier mistakes happen, like building nearly infinite momentum, wrong warping, and overflowing and storage. Let's go through these names as you should know what they mean as a game designer but as a gamer too.

INFINITE MOMENTUM Usually when stopping any motion or actions through controls the character should return to zero momentum relatively fast. However, sometimes there's an unintended way to gain more momentum when you lose, allowing you to build infinitely much of it. This can be used to accumulate a speed that ignores the collision of walls allowing you to skip parts of the game.

LOADING ZONE Describes an area that triggers the loading of another level or scene when the player enters it.

WRONG WARPING Wrong warping describes the technique to teleport or load a certain area of the game that was not intended to be loaded by the respective loading zone. For example, if you enter the level 1-2 warp zone from Super Mario Brothers by bugging yourself through the bricks instead of jumping over the pipe you can load the level -1 which is not supposed to be in the game. Not really helpful but I think you get the idea behind this.

OVERFLOWING Overflowing, as well as underflowing for that matter, describe the numbers to jump to their opposite counterparts. For example, if we say we have 2000000 points and we continue to get points we end up with -2000000 points. What happens here is numbers - especially in older games - are capped to a certain degree. This cap is defined by the variable type used. For example, an 8-bit Integer holds the numbers from almost -2^7 to nearly 2^7. Why exactly this much? The Integer has 8-bits the first one is used to define whether it's a positive or negative Integer. This means the Integer is described as signed Integer, the opposite would be unsigned Integer which has 8 bits to represent the number and thus goes from 0 to 2^8-1 = 255. Our signed Integer, however, goes from -127 to 127. If we happen to count up in an 8-bit Integer variable once we reach 127 one more count will make it turn to -127, an overflow. If we count down to -127 one more step would make us go to 127, an underflow.

STORAGE Storage can describe many things, obviously since the name is no generic. In the end, it comes down to the same thing. You're trying to create a situation where the game takes a game object or something else as a placeholder ending up to implement this stored object once the placeholder is called. It sounds complicated and it's hard to explain trying to stay generic. There are two strategies for storage I know in speed runs or games. One of them is the storage of items in Super Mario World. This is most famous for the videos where people literally rewrite the game code while playing or simply store yourself another feather in case of need. Er.. yes. The other one is scene storage. The idea behind this is that you want to trigger a scene at the same moment another option could be possible, like triggering an object to move your character, triggering another scene, leaving the area or something like that. What happens here is that the scene hasn't finished playing to my knowledge the next scene you see now is going to be stored. For example, some games allow you to watch all the scenes of the game, as well as the final boss scene. So if you watch the final boss scene it's now stored. Once you get back to your normal game and you continue where the normal next scene would've played it might get overwritten by the stored one placing you wherever that one plays. In our example at the final boss fight. I might not have explained it 100% correctly but I'm assuming you get the point.

That's Nice And All

Yeah, it is, but the point I want to make here is, don't patch certain glitches and bugs out. People love certain bugs and glitches and they make for their own category in speedrunning. Most commonly known as any% run. Not to be confused with any% glitchless runs.

Random Number Generators

RNG or RNGesus as people call it describes something in games people can't influence. If you can't plan for a situation that makes it hard to predict and work within games. This means that games with a lot of random number generators and luck - especially if needed in the late game - are less likely to be picked for a speed run. This does, however, not count for roguelikes. Since roguelikes are all about generated content and feeling unique with each run speedrunners know what to kind of expect from these. Though the option to allow the player to pick a seed will be most likely preferred.

So How Should I Design My Game?

Well, it's simple. If you want it to be speedrunning friendly, make sure scenes, talking and such can be skipped either completely or after the first run through. Make sure the player has a set of tools at hand that allows him to move from point A to point B, even vertically if your game is about that. Try to avoid too much RNG in the late game if possible and leave certain glitches in if they bring value to the speedrunning community without breaking your game too much. Just look at games that have been a speed run before and at speed runners commentary to certain speed runs. I mean why wouldn't one wanna watch these? They're awesome too much. TAS (tool-assisted speed run) or not TAS doesn't matter.
Liked the post? Noticed an error? Wanna discuss the content or leave a comment*? You can join or check into the discord to do so! (*Note: Comments are disabled to avoid saving user data on this website.)
>> Join Discord

About Me

My photo
I'm a B.Sc. Games Engineer and I created this blog to share my ideas, theorycrafting, thoughts and whatever I'm working on or doing.