How Speedrunners Manipulate Encounters in Pokemon Red and Blue

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
pokemon is nintendo's most beloved franchise having dominated best selling charts since its debut in the 90s with a series this popular there's no surprise it attracted speedrunners and as records were set they came to one conclusion randomness kills a lot of runs certain events in the game acted as heavy reset points and others as gatekeepers that had the potential to add minutes onto a run but around 2016 things would change as some code savvy people started looking at the game and it turns out that things weren't as random as everyone thought previous high variance sections had been completely solved allowing runners to navigate them without high risk of resetting they changed the landscape of pokemon speedrunning and as one runner put it once you learn this trick it's like magic so get out your calculators as we look at how speedrunners solved rng in pokemon gen 1. there are two types of randomness that come into play during a run trainer ai and encounters since trainer ai is pretty straightforward let's look at that first before diving into the rest of the game when it comes to trainer battles there is a general ai that controls how they fight with it selecting a move at random from the active pokemon's moveset when speed running this doesn't factor in for most battles since you are running a nidoking juggernaut but there's one battle in koga's gym where you put your coin in the slot machine and pray the second juggler has two pokemon a drowzee and a hypno and due to the moveset of the hypno things have the potential to go way out of control with nidoking your basic strategy is to teach him a wide set of powerful moves to one shot every trainer but the hypno will survive the first earthquake you use so it gets an attack since you have a battle prior to this fight the hp you enter with will vary and if you're low enough there are two moves that can kill you headbutt and confusion if you enter with above 50 hp things are better but not danger free as the confusion can crit or confuse you meaning even at full hp you're not totally immune to dying here trainer ai is random for every trainer except when it comes to gym leaders which actually makes things a little bit more predictable gym leaders have two differences of note they take type advantage into account so you can expect them to use moves that are super effective and some of them have a chance of using items the run uses neato king and he has type weaknesses to grass and psychic which means erika and sabrina should pose a problem but since we're high level when we get to them it doesn't come into play with everything getting one shot with trainer battles being a slot machine your best strategy is to ko their pokemon before they have a chance to do anything but when it comes to encounters the game uses a different set of rules for determining what will happen it's best to break this down into three parts when an encounter will be generated which pokemon it will generate and what stats that pokemon will have so let's look at the first when an encounter will be generated when you're in tall grass or another area with random encounters you're assigned a base encounter rate that varies from area to area for route 1 the encounter rate is set to 25 and it's part of what is known as the density check when you step into tallgrass the game creates a random number between 0 and 255 each time you move a tile if the number generated is less than your encounter rate the game will initiate a battle with a wild pokemon once an encounter is triggered the game then has to assign a pokemon for you to battle and for every area there are 10 different encounter possibilities the pokemon that can be spawned each have a section of probability assigned to them so when the game rolls its random number the pokemon whose probability section the number corresponds to is selected for the battle which leaves the final piece of the puzzle how it generates stats stat generation can be mathematically intimidating so instead of explaining the ins and outs all you need to know is that due to how rng works in gen 1 you can only get a certain spread of stats when you encounter a pokemon meaning it's not entirely random to help understand that last point and how we're able to manipulate encounters it's best to look at the game boy and how it generates rng the game boy is deterministic which means that it isn't truly random so if you can press buttons in the exact same pattern each time it will generate predictable rng it's too difficult to execute frame perfect inputs across the entire game and luckily there are only a few sections where these are required but for encounters we have something else dsum dsum is an rng correlation effect that's best explained as the type of encounter you receive being tied to the rng for if you receive an encounter if you're interested in the technical explanation i'll leave some links below but for now let's look at the high level of dsum if we walk into the grass and find a pokemon we can use this information as a starting point for what to do next in order to trigger an encounter for a pokemon that we desire looking at this chart we can figure out what our next move is if we want to spawn a level 3 male nidoran and it's quite simple to understand the blue numbers indicate how many steps outside of the grass you need to take to increase your chances of encountering the nidoran and the red numbers indicate how many steps inside of the grass we should take let's look at an example we've just encountered a level two rat attack and it's our first encounter so the chart says we should move four times inside of the grass to maximize our chances of getting the meteoran we want voila la nidoran de some is almost like black magic but just remember this doesn't have a 100 success rate it's only an estimation since we're not controlling the rng perfectly but what if we could and i think we're ready to look at some of the perfect rng manips since we just manipulated nidoran in real time without any setup let's look at a case where you can guarantee a nidoran 100 of the time using frame perfect inputs recall that the game boy is deterministic so the rng will always be the same if you can string the same inputs together from power on the neat thing about gen 1 is that when you save the game you will always start in the same spot that you saved in and using this knowledge it's possible to manipulate encounters if you reset the game in this position all of the rng values are reset as well which means that when the game boots up we know exactly where it will be this does require some frame perfect inputs on the player's part but luckily for us inputs in pokemon are able to be buffered this means that if we press and hold the button before the input is able to be registered by the game it will execute the input on the first available frame when it's allowed to resolve this allows us to get through the intro after resetting with buffered frame perfect inputs which leaves the in-game manip itself once loaded back in you're a few steps from the grass and since one button press equals one tile of movement you have a 17 frame window to buffer each input as you move from tile to tile this allows you to get to the grass on the same rng seed every time and a look at this map shows the path and a presses required if everything is done correctly you will encounter a level 4 nidoran that has the added bonus of being caught with the throw of a single pokeball with awesome stats to boot perhaps the most complex strategy that combines encounters and lack thereof with trainer battles is what is known as the triple extended manip the hardest genuine manipulation currently in use it starts with the nidoran catch then is carried into a yolo ball pidgey no encounter viridian forest and finishes with a manipulated trainer battle it requires playing perfect for two and a half minutes with the same concepts being applied buffer inputs after the nidoran fight while following a certain path to trigger a pidgey that is also caught on the first pokeball throne this manipulation can also be used to avoid encounters with a full and counterless viridian forest being manipped but the icing on the cake is the trainer battle there is a single bug catcher that blocks your path to pewter city with a solitary weedle as his only pokemon the weedle is level 9 with two moves poison sting and string shot and since he's three levels higher than squirtle that's a problem he will select poison sting half the time so there is a chance the run ends here if he chains attacks but with this manip you lower the chances of a bad fight by ensuring the first attack is always a string shot once you defeat the weedle squirtle will learn bubble which is all you need to clear brock's gym but this strategy isn't without its drawbacks since you need to nickname your nidoran to create the fastest possible tech scroll there's a high chance you won't be able to do this frame perfect this allows some variants to enter the strap so the most common seeds were mapped out that way if you're off on the nickname segment you can look at npc movements to indicate which rng seed you're on and adapt accordingly it's worth mentioning that battle manip beyond the first move is almost impossible since the text boxes appear so fast that there's no buffer time to complete them reliably but the triple extended isn't the final manip mount moon takes that honor in any percent so let's have a look if you played gen 1 as a kid you likely became frustrated with the number of zubats encountered here and that frustration carried deep as 90s kids grew up as it spawned a bunch of memes related to this section of the game the encounter rate is only 10 for mount moon which is low considering that most routes have the rate set to 25. the reason that zubat sticks out in memory so much is because there is a 79 chance of the game spawning one when an encounter is triggered memes aside mount moon is a long section so even with a low encounter rate you're bound to get several while navigating to the other side so a manipulation was created the unique part is that this manip picks up some items along the way but since inputs are buffered you don't risk pressing a too late if you cue up the input as you move on to the tile since all trainer battles are avoided here you just need to do an extended viridian forest style manip for almost three minutes making this the longest manipulation in any percent but what about the catch em all category catch em all glitchless requires you to catch all 124 pokemon on whatever version you're running which excludes version specifics trade evolutions and two of the evolutions since only one eevee is available in the game since you're catching all of the pokemon the route has changed significantly and our old pal nidoking isn't the pokemon used in the run instead we stick with squirtle the reason for this we need to evolve squirtle up to blastoise and while nidoking is faster for clearing gyms the time lost from leveling squirtle at the end of the run would be much greater the second thing you may notice is that any percent glitchless was ran on blue version and catch em all glitchless is ran on red version so why the change blue version has two huge time saving advantages the first is that dratini is six levels higher than on red version which saves about 30 minutes when leveling it up to dragonair and the second is that porygon is 3 500 coins cheaper at the celadon game corner which is another 30 minute time save the run is ripe with manips as well more than we have time to cover in this video so instead we'll look at what isn't maniput and the most frustrating place to catch pokemon the safari zone the first thing you'll notice right away is that the current world record starts on four different games so why is this you'd think that the starter pokemon would be manipulated to have perfect stats but there are several reasons why this isn't the case doing a manip requires a save and quit which costs 40 seconds out of the gate and second there are nine text boxes to clear each with a four frame window for success along with a frame perfect input for the nickname due to this difficulty and the fact that a squirtle manip would only save a minute or two over getting a great squirtle it isn't a necessity for this section to be manipulated so what other things aren't manipulated in the cachamal route the run currently has no extended manips as the odds of finding an rng seed with the values you need is extremely low when trying to chain catchable pokemon together here's an example to help illustrate this difficulty let's say there are a series of pokemon you want to catch magmar muck and coughing in order to manipulate all of them in one go you need to find a seed that spawns one of them and lets you catch it first try which then leads into another encounter with a first try catch as the manip gets longer the frames that have the possible rng get more restricted especially with clearing text as this adds some opportunity for missed inputs it's not impossible that these manips could be worked out and they are likely the next big time saves to be implemented into the run for now runners save and reset to manipulate each pokemon individually and since there isn't time to look at every pokemon in the run let's look at the most frustrating place for random encounters in a casual playthrough the safari zone in normal gameplay the battle mechanic for the safari zone is taken out and instead you interact with the pokemon as a trainer with the ability to throw bait and rocks to influence your catch rate we won't get into the math for the catch rate and how it's affected by these options as the runners don't bother with it either instead they use manipulations to catch every pokemon turn one yellow ball given that chansey tauros pincer and kangaskhan have some of the lowest encounter rates in the safari zone it's much more convenient to manipulate these encounters instead of trying to find them normally and then risk them running away a series of save and resets allows runners to buffer inputs to trigger these encounters and catch them on the first turn with a 100 success rate to get an idea of how much time this saves in shenanigans current world record he spent 12 minutes getting all of the pokemon in the safari zone compared to caleb heart 42's recent unmanipulated run where he spent 39 minutes farming the encounters that just scratches the surface of what is possible for humans in a pokemon run as the glitched categories offer significantly more broken and fantastic glitches but what if we could manipulate the entire game with frame perfect inputs how would that affect the run and what new problems would it introduce for a speed run you'll have to tune in next time as the final video in pokemon covers the revolution that the tool assisted speed run has undergone for gen 1 and gen 2 as brand new routes were discovered that saved incredible amounts of time but there's one more manipulation we didn't cover and that's subscribing and ringing the bell to make sure that you manipulate your chances of seeing the next video to 100 thanks for watching and i'll see you next time
Info
Channel: Abyssoft
Views: 66,362
Rating: undefined out of 5
Keywords: pokemon, gen 1, rng, encounters, dsum, glitch, trick, speedrun, manip, manipulate, manipulation, abyssoft, tas, speedrunning, catch em all, any%, glitchless
Id: EfWVmzOOQ44
Channel Id: undefined
Length: 15min 48sec (948 seconds)
Published: Thu Jul 22 2021
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.