Published using Google Docs
Undertale General Guide

UNDERTALE GENERAL SPEEDRUNNING GUIDE

Last updated July 17, 2021


Introduction


Introduction

Introduction to Undertale speedrunning

Difficulty

Knowledge

Time

Version Differences

Version v1.001

Version v1.0

Version Linux v1.001

Versions v1.05, v1.06, and v1.08

Versions v1.09, v1.10, and v1.11, PS4 etc.

How to change versions

Version v1.0

Version v1.001 Windows

Version v1.001 Linux

Version v1.05

Versions v1.06+

Disconnecting from Steam

Exploits and Glitches

Punch Card Exploit (PCE)

Cutscene Skips

Wrong Warps

Overflows (Text Storage)

Punch Card Advance (PCA)

Wallhumping

Long Elevator Skip

Lemon Bread Skip

Persistence Glitch

Debug Mode

Information

How to set up

General use

Boss Practice

Before beginning any runs...

Completely reset your game

Turn Off Debug Mode

Remove Any Modifications

Main Category route guides

Neutral Ending

True Pacifist Ending

Genocide Ending

Neutral Glitchless

TPE Glitchless

Category Extensions route guides

Early Punch Card

Undertale General Guide Discord server

Credits


Introduction to Undertale speedrunning


Undertale is generally regarded as a good game for speedrunning. The game has many different endings and ways to play, which adds variety and allows the game to have many unique categories. The game also does not require any unique hardware or anything special for it to be run and recorded, so almost anyone can speedrun the game on their computer.

Difficulty

As a speedgame, Undertale can range in difficulty depending on the category.  Undertale’s glitch-heavy categories have multiple frame-perfect and pixel-perfect tricks that will need to be performed to get a good time. The menus are simple and limited only by the framerate, so menuing can be done very quickly. Movement is slightly more advanced. You can move in 8 different directions and sub-pixels may have an effect in some parts.

Knowledge

Undertale contains a variety of different glitches and exploits that will be utilized in many different ways in order to save time. Knowing the exact locations of in-game triggers for events and cutscenes will be very important. Knowing the sequence and specific execution of certain skips will also be required. A general knowledge of some enemy attacks will greatly improve your survivability in boss battles.

Time

Undertale does not require a lot of time in order to complete a speedrun. Most categories do not require you to play the game for more than two hours in order to complete the game. You will generally take 1 to 2 hours to complete a speedrun, unless you are learning, in which case it may take longer.


Version Differences


Over the time that Undertale has been released, the game has been updated several times. This section will describe the differences between the various versions. You can see how to acquire the different versions in the next section.

Version v1.001

This is the slowest version of the game to date. In v1.001, many glitches were patched out that made speedrunning the game slower. Thankfully, with the finding of a new glitch, none of these glitches matter anymore.

Version v1.0

This was the first version of the game. Although this version has some extra glitches over the Linux v1.001 version, Mad Dummy Skip is impossible on this version, making it much slower in glitched categories. This version was the most commonly used version until the linux version came out.

Version Linux v1.001

This version of Undertale was released for linux users, but with modifications to the file name of the data, it can be used on Windows. This version is unique compared to the others due to one small change. In v1.0 and v1.001 and v1.05+, you cannot press z and enter at the same time. Holding one down will cancel out the other. However, in Linux v1.001, you can press both z and enter at the same time, and they will not cancel each other out. This makes mashing text away faster and more consistent. It also makes certain glitches more consistent. This is the fastest version of the game in glitched categories.

Versions v1.05, v1.06, and v1.08

These versions exist both on windows and linux. v1.08 is the default version. There are a few versions after the initial v1.05 version, but they function identically to v1.06. In these versions, the way key inputs are handled is different from the other versions. Some frame perfect inputs are now impossible. Mashing requires a much different method of mashing that is still overall slower than the v1.001 linux methods of mashing. Standard punchcard overflows are also impossible. There are also considerably more input drops. However, there’s one big upside to this version: Japanese. You can choose to play in Japanese from the main menu. This causes some sections with unskippable text to be much, much faster due to there being less characters. Overall, these versions are faster in almost every category. However, many dislike this version as mashing is more frustrating and overflowing is no longer possible.

TL;DR: Versions v1.05 is the fastest PC version for all main categories except Neutral because it has the option to play in Japanese. However, other versions are more desirable to run on due to better input handling. It’s up to you if you want to play on the fastest yet most frustrating version or a slower yet more technical and enjoyable version.

Versions v1.09, v1.10, and v1.11, PS4 etc.

These versions only exist on console versions, such as PS4 and Switch. The switch version in particular is significant due to two version-exclusive glitches, Lemon Bread Skip and Long Elevator Skip. Those are explained in more detail below. Note that you can plug in a keyboard into a PS4 or Switch and it will work fine with Undertale. However, some keyboards with RGB functions draw too much power and as a result will not work. One drawback to console versions is that unlike PC versions, you can’t preload the game when you need to reload. Because of this, console versions are generally slower to run than PC versions in any category that requires reloading the game. Of the five main categories, Genocide is the only category that doesn’t require reloading the game, so the Switch version saves about 20 seconds in that category. There is a method to do punch card overflows on the PS4 and Xbox versions, however, which can potentially allow for some additional time save for glitched categories on these consoles.


How to change versions


You will need steam for this. If you bought the DRM-free version of Undertale, then you should have received a steam code. Go redeem the steam code and get Undertale on steam. This is also assuming you’re on windows too. If you’re on linux, the methods of acquiring the versions should be similar.

Version v1.0

Right click "Undertale" in your library. Choose "properties." Select the "Betas" tab. Click on the box below "Select the beta you would like to opt into:" and choose "old_version_100". Steam should download the old version of the game.

Version v1.001 Windows

Right click "Undertale" in your library. Choose "properties." Select the "Betas" tab. Click on the box below "Select the beta you would like to opt into:" and choose "old_version_101 -" Steam should download the old version of the game.

Version v1.001 Linux

This version can be a bit tricky to acquire on a Windows PC, but it shouldn’t take too long. Follow these instructions:

If you’re playing on a Linux OS, you can obtain this version by simply following the instructions of 1.001 Windows.

Version v1.05

This version is a little more difficult to acquire than v1.001 linux. Unlike 1.001 Linux, version 1.05 won’t download from the Steam console due to a bug in the Steam client. Due to this, there is a patch available to convert 1.08 to 1.05.

Versions v1.06+

There is no time difference between version v1.06 and any future PC versions of the game. The current PC version of the game is v1.08. To acquire this version, just download the game through steam like normal.

Disconnecting from Steam

If you’re using a Steam version of Undertale, starting up the game will load Steam by default and have it check for updates. This makes reloading the game slower and can result in your game version being “updated” if the version you’re using doesn’t match what Steam thinks you should have. A way around this is to disconnect the game from Steam, which can be done by following the instructions below.


Exploits and Glitches


Punch Card Exploit (PCE)

The punch card exploit is a game-breaking exploit that defines Neutral and True Pacifist. To perform this exploit, you will need to acquire a punch card, which you can get from the nice cream man in Waterfall.

There are 4 different types of PCEs:

Cutscene Skips

These are by far the biggest timesave of the 4. Knowing how to do these can save minutes off your run.

To perform this trick, you will first need to know the exact pixel for a cutscene trigger. You will then need to menu buffer (pressing Ctrl and an arrow key on the same frame to move 1 pixel with the menu open) onto the pixel. Next, open and close a punch card. You’ll be able to move while the cutscene is going.

Wrong Warps

Wrong warping is the act of using a punch card or closing a text box on a room transition, which teleports you to the ‘default position’ of the room. The default position varies between rooms, but in rooms with save points it’s generally right next to the save point.

To perform this trick, you will first need to know the exact pixel for a room transition trigger. You will then need to get on that pixel, walk up to a wall, and open your menu. Press Z twice while preparing to hold arrow keys. You will need to hold one arrow key in the direction of a wall, and another arrow key in the direction of the room transition. Press Z once more to use the Punch Card, and release the arrow keys. You are now in the room transition, and will need to close the Punch Card before the room finishes transitioning or a softlock will occur. The Punch Card can be closed with Z, X, Enter, or Shift, so mashing those keys will prevent a softlock.

A wrong warp can fail in three different ways. If the wrong warp occurs and a softlock also occurs, it means that the Punch Card was not closed. If the room transition occurs but a wrong warp does not happen, it means that the arrow keys were not released. If the room transition does not start, it means that either you are not on the correct pixel to wrong warp or you were not holding the arrow keys when you opened the punch card.

Overflows (Text Storage)

Text storage is a glitch where you gain movement while a text box is open, which gives the appearance of the text leaving the text box. This can be useful in many ways, mainly due to the fact that a text box with text storage acts almost exactly like a punch card, allowing you to perform cutscene skips and wrong warps.

Although text storage in itself hasn’t been patched in recent versions, overflows will not work in versions 1.05 and up. This is due to the input system not allowing 2 consecutive presses of the same key type (Z/Enter, X/Shift, C/Ctrl). However, this limitation can be bypassed on PS4 and Xbox versions by using the console’s pause menu as a buffer between in-game frames, allowing overflows to be possible on these versions.

To perform this trick, walk up to an object. Next, open your menu, go to the punch card and select “use”. Then, press Z or Enter. 1 frame later, press the opposite key. If you have succeeded, your punch card will be open over the text box. Close the punch card, and you will gain movement with the text box open. Since this game runs at 30 frames per second, you only have a 1/30th of a second to time it, so it will take some practice to get consistent at.

You can also perform wrong warps with text storage. Simply walk up to a room transition, holding an arrow key next to the nearest wall, and close the text box once you reach the transition. Make sure to let go of the arrow keys beforehand or else the wrong warp will fail.

Punch Card Advance (PCA)

Punch card advance is a name for a weird phenomenon where opening and closing a punch card during a textbox will grant you movement once the text box is closed. This helps in cases where closing the text box normally locks your movement.

To perform this trick, simply open and close a punch card while a text box is open. Make sure you haven’t skipped the text yet, as the text box must remain open once the punch card is closed. This is one of the more minor tricks, but it has several uses in the route alongside other PCEs.

Wallhumping

Wallhumping is what happens when both the up and down arrow keys are pressed at the same time while directly below a wall. This can be useful in certain situations such as when interacting with a switch on the wall, and in certain rooms, this can also save time by increasing your speed, most notably the room in Waterfall with a view of Asgore’s castle. While wallhumping, encounter steps continue to accumulate, so this is an easy way to walk in place while grinding for encounters.

Long Elevator Skip

Long Elevator Skip is a Switch exclusive skip performed by simply walking in and out of the long elevator. Instead of watching the several second long cutscene, you will be teleported instantly to New Home. This saves a significant amount of time in Genocide, and a little in Neutral and True Pacifist. This skip is not considered a glitch as the mechanic was programmed intentionally to work this way, so Long Elevator Skip is allowed in glitchless speedruns.

Lemon Bread Skip

Lemon Bread Skip is a skip that results from Lemon Bread’s hitbox being smaller in the Switch version than in other versions of the game. It can be performed by simply walking above and past Lemon Bread. This saves a significant amount of time in True Pacifist.

Persistence Glitch

The persistence glitch is a way to store the state of a room so that the room will be the same when you return. Persistence is used normally throughout the game for when you enter a battle, which allows the room to return to the state it was in before the battle. Normally persistence is unset upon returning to the room, but by leaving the room on the frame the battle is entered, the new room is unset as persistent while the old room becomes permanently in a persistent state. This has some useful properties, most notably the ability to progress to the post-battle Mad Dummy cutscene after setting the room to persistent and then dying to reload. Persistent rooms will remain persistent until they’re either unset after a battle or the game is restarted (including completing a Neutral ending to return to the title screen).


Debug Mode


Information

By editing a certain value in your data.win, you can activate Undertale’s Debug Mode. In the Debug Mode, you are able to teleport, save anywhere, load the save anywhere, trigger battles, and many other things. The primary use of Debug Mode for speedrunning purposes is to, ironically enough, practice glitches and perfect your ability to perform them. Debug mode lets you teleport to any room and save in that room, allowing you practice any time saves that may be in that room. Along with this, you can quickly load the game to try a skip again.

However, you must know that using Debug Mode for a regular run is NOT allowed. It is still disallowed even if you don’t use the Debug Mode’s features. In order to submit a run to the leaderboards or to do a proper speedrun, you must do your runs on the regular, non-edited data.win. To avoid accidentally running Debug Mode, you will want to keep the edited data.win in a seperate folder with a different name, just to make sure you don’t mix up your two data.win’s.

How to set up

Debug mode isn’t very hard to acquire.

You will first need to disconnect Undertale from steam (if you already did this, skip this line). Go to the Disconnecting from Steam section to figure how to do so.

Next, locate your data.win. This file will be in your Undertale folder. You will need a hex value editor, like HxD. After finding your data.win, open it up with your hex editor, and change this value from 00 to 01:

You can use Control + G to search for the specific value.

General use

There are quite a few different things you can do in Debug Mode, but only a few are really useful for speedrunning. Here’s a list of the more relevant keyboard shortcuts.

Four things to note:

Boss Practice

By using the ‘Home’ key in Debug, you can initiate a battle depending on what your ‘battle group’ is set to. Every battle in Undertale is assigned a specific battle group number. You can edit a value in the data.win to change your battle group, so that whenever you hit your Home key, you will begin the battle on the spot. This is useful for practicing difficult battles. Here’s the values you have to change to set the battle group:

Here are some useful values you can set the battle group to:

Remember: You MUST disable Debug Mode before doing a normal run. Debug mode is not allowed for speedruns. It is only a tool for practicing skips.


Before beginning any runs...


You’ll need to do a few things before your game is ready to be speedrun.

Completely reset your game

If you’ve played Undertale before, then you likely already have a save file. Before beginning any runs, you’ll need to delete that save file. However, unlike most games, when you select “Reset” in the main menu, Undertale isn’t completely reset. Instead, it “pseudo-resets” your game. Characters will still remember you even after you reset. This results in dialogue and other things being different from when you were first running the game.

In traditional speedrunning, a speedrun is supposed to represent a completion of a goal, starting from the very beginning of the game. Basically you’re supposed to start as if you just got the game. So, because of this, we will require you to completely reset the game. This process isn’t very difficult, you will just need to go diving into some folders in your computer.

Open a new Windows Explorer window (Using Windows Key + R) and enter “%localappdata%\UNDERTALE” into the search bar. Delete ALL the files inside that folder. If you use a controller, you may keep a file called “Config” if you have it. You can find the local app data folder by searching for %localappdata% on your computer.

If you’re using v1.001 linux, then the save folder will be called “UNDERTALE_linux_steamver”. You can find it by searching for “%localappdata%\UNDERTALE_linux_steamver”.

As already stated, in traditional speedrunning, you have to start the game from the very beginning, meaning the game hasn’t been progressed at all. In Undertale, even if you reset from the main menu, things will be altered from the first playthrough. Characters will remember you and have altered dialogue, and some cutscenes will be skippable. The altered dialogue results in longer or shorter dialogue. This means that people who don’t completely reset will have an advantage over those who don’t. This is why we require you to true reset.

The only categories that have an exception to this rule are the New Game+ categories. These categories require no full resetting whatsoever. If you don’t want to delete your saves, consider running these categories.

Turn Off Debug Mode

As already stated in the Debug Mode section of the guide, using Debug Mode is not allowed in speedruns. To acquire Debug Mode, you must edit a value manually within the game. Editing your files is not allowed. Along with this, Debug Mode opens the window for potential cheating or run assistance. Even if you have Debug Mode enabled and don’t use any of the features, the game will still be manipulated and the game will show hidden values during certain fights, which gives an unfair advantage. Before doing a run, you must make sure you are using the regular, unedited data.win.

Remove Any Modifications

The only modifications permitted are modifications of the external music files and deleting the steam_api.dll file. All other modifications are banned. This includes modifications of internal sounds (i.e. stored in the data.win file), sprite/graphic modifications, text modifications (including unofficial translations), and code modifications. To do a valid speedrun, you will need to be running on a clean installation of Undertale.


Main Category route guides


Neutral Ending

Neutral Ending, commonly referred to as Any%, is the shortest of the 5 main categories. It is the most optimized, so at a top level it can be very difficult, but it’s also one of the easier categories to learn.

True Pacifist Ending

True Pacifist, also known as TPE, is very similar to Neutral. It’s longer, contains more punch card skips (mainly in True Lab), and the final boss Asriel is one of the most difficult bosses to be completed optimally.

Genocide Ending 

Genocide, also known as Geno, is very different from the other categories. Where the other categories are based primarily on execution of frame-perfect tricks, Geno is based primarily on grinding and RNG. It’s generally considered one of the easiest categories to start out with, although Undyne the Undying and Sans can be difficult boss fights.

Neutral Glitchless 

Neutral Glitchless is very similar to Genocide, except you abandon the route at Muffet and then continue on to fight Asgore and Flowey. It’s the easiest category to start out with, but it’s also the least run and most players consider it their least favorite.

TPE Glitchless

True Pacifist Glitchless, also known as TPE Glitchless, is by far the longest main category, clocking in at just under 2 hours. This category has the least amount of skips of the five main categories, so most of the run is about completing fights and puzzles as quickly as possible and skipping text optimally.


Category Extensions route guides


Early Punch Card

Early Punch Card is a Category Extension where you start at the beginning of ruins with a save file with the Punch Card in your inventory. This category allows the player to perform glitches similar to the Neutral and TPE route, but in other parts of the game. This guide covers both the Early Punch Card Early Game category and the Early Punch Card Neutral category.


Undertale General Guide Discord server


If you want to discuss this guide or suggest any changes or improvements, feel free to join the Undertale General Guide Discord server using this link:


https://discord.gg/gCRCk3TcGd


Credits


Thank you to all the contributors that helped put this guide together! A list of all contributors is below.

This guide and the category route guides were based on Rhombu’s Undertale Speedrunning Guide, with many of the explanations and images coming straight from Rhombu’s guide. Thank you to everyone who worked on Rhombu’s guide, including:

Finally, thank you to Toby Fox for making such a great game!