okay hi i'm gonna attempt to explain rng manipulation bc i find other guides not as helpful at actually explaining the mechanics
Everything here is formatted for Gen 4, mostly HGSS, for the moment, because that's the area I'm an expert in. I only know a bit about Gen 3, and basically nothing about Gen 5 atm, but i'll add stuff about that later, probably, hopefully
Essentially, my goal is to comb through all of the resources on the internet, and try to compile things in one place, noting what parts of guides are outdated and giving more explaination for the things that confused me when i started!
(Will this ultimately end up as MORE confusing? Who knows, maybe!)
Glossary
- RNG Manipulation = the act of exploiting a bunch of super precise timing to get cool shit instead of leaving it up to chance (you probably already know the actual defintion if you're here, especially considering i'm only sending this page to like 2 whole people rn)
- Seed = the rng that is set when you start up the game
- Delay = part of the timing that sets the seed
- Advances = list of what happens each time the rng moves forward.
- Pokefinder = program that you can put your information in and then search for the shiny you want, the most complicated step.
- Eon Timer = program for setting up the timer
- TID/SID = Trainer ID / Secret ID, that number on your trainer card, and the secret number the game assigns you. this is what ultimately determines what pokemon show up as shiny.
- PID = Pokemon ID, each pokemon has an ID assigned to them, whether a pokemon is shiny or not depends on this value along with your TID/SID combo.
- Retail = actual physical cartridges and hardware, not an emulator
Seeds
"A random seed (or seed state, or just seed) is a number (or vector) used to initialize a pseudorandom number generator." [wikipedia]
Basically, when you start up the game, one of these is set and it determines what pokemon you're going to be able to get. It looks something like this: CE12E04A [?]
Your seed is determined the moment you load your save file. This depends on the current time, and the delay between opening the game and loading the save file, together.
GEN 4: When you load into your save file during the RNG manipulation process, the first thing you're going to do is "verify your seed", via methods detailed below. This is essentially reading the RNG to make sure you hit the right timing, before moving on to the encounter.
Advances
Advances, also called "Frames" by people who want to confuse people [1], are each "step" of the RNG. These are dependant on the Seed you load into, and are set in place once you load the game.
"Advance" is sort of both a verb and a noun here. The RNG "advances" forward each time the game uses it, but "Advance" is also used to single out which step of the RNG you need to aim for. Pokefinder lists out each step of the RNG with an "Advances" value, this starts at 0, as the first step happens with 0 previous advances. It's easiest to point out which step you're aiming for by pointing at the value in the "Advances" column, so that's used as a noun as well. Does this make any sense?
GEN 4 NOTE: There are actually multiple RNG processes going at once. If you are playing HGSS, and using RNG manipulation for anything other than eggs, you can ignore this for now. If you are playing DPPt, or are trying to get eggs in HGSS, here's more info on the two types that matter for RNG manipulation.
Pokefinder
Pokefinder is a super complicated tool that is how you figure out how to get the pokemon you want! More details when I explain how to use it.
Eon Timer
Eon Timer is a less complicated tool to help you time loading into the game, so you can get the seed you're aiming for! oh shit, there's a web version now, actually by the person who made it, neat!
Delay
The timing between booting up the game and loading into your save file. This will be one of the values you find via Pokefinder and place into Eon Timer.
NOTE: For some reason, your game will only be able to hit either Even or Odd numbered delays. This is dependant on each game, so you will need to trial and error for a bit when you first start to figure out which ones you're hitting. (Supposedly, putting a Pokemon GBA game into the DS will flip your game from even to odd, or vice versa, but that didn't work when I tried it.)
Maybe explain this part later rather than here?: When you're trying to verify your seed, Pokefinder lists the neighboring seeds and their delays, with a way to figure out which one you hit instead if you didn't get the seed you were aiming for. This is important, so you know if you're close or if your timing is way off and you may need to correct something.
GENERAL ADVICE
- In HGSS, don't catch the roamers until you absolutely have to. The Roamers are the easiest and fastest way to verify your seed in HGSS
- each game system handles the timing differently, using a DS or DS Lite is the easiest for Gens 3, 4, and 5
- Does a guide tell you to use RNG Reporter? It's old.
- The Chatot only work if they have a custom cry via Chatter, which gets cleared in some situations, like when you've deposited all of your Chatot into the PC. You should double check that they actually have a cry recorded before you do things.
Guides/Resources
- Smogon - The DPP / HGSS RNG Manipulation Guide
- Probably the best guide at actually EXPLAINING anything. Outdated in some ways though, using "frames" instead of "advances" and using RNG Reporter instead of Pokefinder. Also doesn't seem to mention that Chatot pitches can be used for verification? Also also focuses on Stats and Natures before Shinies, which is a good thing for some people but not what I'm aiming for personally lol
- pokemonrng.com
- Has some good tools, and also is very unpolished in other areas. This is the site i used first to set up the HGSS cute charm glitch and get those starters! Will detail out which spots of the site I think are good atm, later
- retailrng.com
- Where I've been learning Gen 3 RNG, and is really good for that, will detail out my opinion and more details later.
- blisy
- Has a lot of resources as well! This person has also made a lot of video guides, which I did not watch because I don't find videos easy follow, and some are outdated now (I know videos are SUPER helpful for some people though). I'll go more into this site and their videos later.
WHAT YOU WILL NEED
- A way to tell what Seed you are on
- A way to advance the RNG
- A Pokemon with Sweet Scent (if aiming for a wild pokemon)
- Two Chatots (optional, but makes things faster)
(HGSS)
How to determine what Seed you hit:
- Call your best buddy Juggler Irwin (or Prof Elm [info])
- Each time you make a call, you'll get 1 of 3 different dialogues. These are predetermined with the RNG, Pokefinder has a way to easily find what seed you landed on via this. (Each call also advances the RNG by 1)
- This is the main method you should use to determine the Seed, along with roamers below
- (UNFORTUNATELY, there are some places where you cannot call people, such as, right before you're going to fight the champion. Meaning you cannot use this method for the Roamers :( sorry to Juggler Irwin fans that are interested in RNGing those.)
- Look at where the Roamers are on the map (Entei, Raikou, Lati@s)
- This is the quickest verification method, but obviously can't be used if you no longer have the roamers on the map. Pokefinder shows you where the roamers are located when you load into the seed, so you can easily check if you landed on the right one. (Roamers also advance the RNG by 1 or 2 upon the game loading, Pokefinder accounts for this in it's calculations so don't worry about it.)
- Listen very closely to the song of your Chatot screaming at you. (most annoying method)
- When chatot have learned a new cry with Chatter, via you yelling a cuss word into the DS microphone, the cry actually has a different pitch each time you listen to it! This is determined by RNG, so if you listen carefully to the pitch you can use it to see if you hit the right seed.
- Using this method to determine the seed sucks ass, but if you're trying to do RNG as early in the game as possible, before you reach Juggler Irwin, OR if you're some place you can't make calls and also don't have any roamers on the map, it's pretty much your only choice. sorry! It's possible though. You just have to examine every seed individually because Pokefinder doesn't supply you with an easy list of what the pitches are :) I will detail this hell process later (or you can just hope you're hitting nearby the seed you want to land on, if you're confident enough, that's what i do)
- I recommend teaching them "AAAAAAAA" instead of a cuss word if you're using Chatot to verify the seed, it's easier to tell the pitch.
How to Advance the RNG
- Call your best buddy Juggler Irwin (or Prof Elm)
- Each call advances RNG by 1
- Listen to the song of your Chatot screaming at you.
- Each time you listen to the cry of a Chatot that has learned how to cuss via Chatter, it advances RNG by 1
- Listen to the Radio (advances the RNG by a weird amount, don't worry about this rn i'm only listing it for completionists sake, and as a warning to not accidentally listen to the radio)
How to Advance the RNG (Eggs)
- Just aim for an Advance of 0 for this, there is no reason to do otherwise 99% of the time
- Call Youngster Joey, he will advance the egg RNG by TWO, for some reason.
- If Youngster Joey calls YOU while you're trying to get an egg to spawn, it will mess up the RNG, by the way :)
(DPPt) (not going into that right now)
THE GUIDE, how to, the steps, etc
Step 1 - Figure out your TID/SID
Just back up your save file and use PKHeX to find this, (there's plenty of other tutorials on how to figure out the number if you wanna do it the hard way, i guess. i'll link/explain them later.)
Step 2 - Figure out what you even wanna hunt
The hardest step of them all, I would recommend starting with a static or wild hunt and not jumping into the roamers after rebattling the elite 4 lol
Step 3 - You've gotta download stuff sorry
Go download Pokefinder , and Eon Timer (or not, since I just found out it's online now, but it may still be better to download it, less chance of possible lag issues)
If Pokefinder doesn't work, make sure to follow the install instructions and install the stupid Microsoft Visual C++ Redistributable. No it doesn't matter if you already have one installed, install another. install *counts how many i have now* fucking??? 10 of them??? Why can't every program just use the same one jfc-
Step 4 - Starting to use Pokefinder!
Oh god I've been working on this for like over 5 hours and we're only at this NOW???
Set up your profile with your information, Gen 4 Tools β Profile Manager β New β Fill in the settings (the nat dex/unown information doesn't ACTUALLY matter)
uhhhhhhhhhhhhhhhhhhhhhhhhhh and a bunch more here!
NOTE: YOU CANNOT RESPAWN ROAMING POKEMON OR LEGENDARIES IN DIAMOND AND PEARL.
THE LEGENDARY WHATEVERS
Step 1 - Kill the beast
You've gotta knock it out, so that way when you beat the E4/champion it respawns into the world with a new PID. You only need to knock out the one you want to hunt.
Step 2 - Kill the E4
Okay don't kill them because you might need them alive again if you fail the RNG. also this isn't a creepypasta i don't think you can do that. don't beat the champion yet, save infront of them.
Step 3 - Set up the RNG
The reason I made you read all of the above and hopefully do that once is because this makes more sense with all of that, and TECHNICALLY? this is just as easy. the catch is if you fuck up you have to do it all over again bc the game autosaves after you beat the champion lol. Anyway, get the seed that you want.
Step 3.5 - The details
OKAY ACTUAL DETAILS AND RESEARCH. [i will put that here]
I chose that seed because it's the first one i got when searching to see if I could get a 0IV shiny lol.
There's the normal RNG and then there's the Egg RNG. Normal RNG controls everything you're normally going for, but Egg RNG is separate and determines what an Egg's PID will be when it's spawned into the daycare. (Note that IVs are not set on the Egg when it's spawned, meaning once it's ready to be picked up you can save the game + do another round of RNG to get the IVs you want. The IVs are set via the normal RNG that controls every other type of encounter.) This is also the main thing that's different between DPPt and HGSS, as the main way of verifying your seed in DPPt is via a poketch app that uses Egg RNG, not the normal one. I'll explain this more later.
Okay here's a copy/paste of my comment on reddit about Egg RNG, i'll clean it up later:
Basically, there's two types of RNG active for Eggs. "Held Advances" are egg-specific RNG that determine what the PID/Shinyness/Nature/Ability/Gender of the egg is when it is spawned into the daycare. Not much effects this, you won't get random advances in the same way that the Pickup Advances would be effected by NPCs moving around and such. Coin Flips in DPPt and Joey calls in HGSS advance this RNG, each coin flip by 1 and a Joey call by 2, iirc. You can also advance this by declining the egg that's been spawned in the daycare instead of claiming it, moving onto the next advance.
"Pickup Advances" are what determine the IVs of the egg when you receive it from the Daycare Man, and uses the same RNG as everything else, being advanced in the same way that you would advance for a static or wild encounter, via Elm/Irwin calls in HGSS and Chatot chatters.
When the egg is spawned in the Daycare, only the Held Advances is used, and the IVs are then set on the Pickup Advance when you pick up the egg from the daycare man. This means you can spawn the egg in on one seed as a shiny, save before taking it, and then start the game on a different seed and time when you receive the egg with Pickup Advances. By the time the game creates the egg in the initial seed, your Pickup advance will have boosted into the distance due to random NPC movements, so doing it this way is the easiest, and why the program lets you input two different seeds for Held/Pickup. (at first I thought these seeds somehow corresponded with the input areas below them, like they were columns. This is Not how it works, in case anyone else somehow came to that same conclusion, lol,)
SO. What the program is showing you is what each Advance combo would result in, if you have the egg generated at Held Advance 0, and receive it on Pickup Advance 300, you would get these stats on the egg. Every Pickup Advance will show the same IVs, whether it's with Held Advance 0/1/2/etc, Pokefinder is just combining those two values to show you which you would get in the end. This gets redundant, you don't really need to see all of those values, you only need to filter down to which of the two you're currently trying to hit. If you're trying to create the shiny egg, just set the pickup advances to 0/0 and ignore the IVs for the moment. This will show you what eggs the game will generate on that seed. If that seed has a shiny egg at Held Advance 15, once you've gotten that and you're ready to calibrate the next seed to pick the egg up, set the program to only show Held Advances 15/15, and you can then view the Pickup Advances the same way you would a wild/static encounter really. The Shininess/Nature/etc will stay the same in all of the rows, because the egg has already been generated, and the IVs will change with each Pickup Advance as usual.
"how do you make advances for held advances?"
It depends on what game you're on! If you're in DPPt, it's pretty easy, each coin flip that you do via the Poketch app will advance the Held Advances by 1. In HGSS it's a bit less accessible, the only way I'm finding to advance it there is calling Joey, which puts the advance forward by 2, not just 1.
You can also decline the egg that's spawned at the daycare to skip that advance, if you have a Held Advance of 1 for the egg that you want, you can decline the first egg that spawns and then claim the second (since the RNG starts at 0).
Since Coin Flips are typically what you use to verify you're on the right seed in DPPt, you should choose a Held Advance that is a bit farther out, keep count while you verify, and then flip until you're before the Advance that the egg is on, then bike around until the egg spawns in the daycare.
For HGSS, it's easiest to just aim for a Held Advance of 0, since you can verify your seed via Elm/Irwin calls without effecting the egg RNG.
If you're not sure that you're on the right advance, you can always claim the egg and hatch it to make sure it's the one you want, then reload for the IV seed after that like usual!
Review: "I managed to do it twice and itβs so fucking easy, wow you made it very clear"
In HGSS, you can technically call Professor Elm too, but only in specific circumstances. Elm will work instead of Irwin if you have: [smogon]
- Reached Kanto
- Shown him a hatched Togepi or any of it's evolutions
- Have a pokemon with Pokerus
I guess it might be worth it to call Elm instead if you happen to have done all of those, because Irwin does have a dialogue that's like 10 textboxes long?
Okay, some people call them frames because some games advance the RNG once per frame. In later pokemon gens, which I'm mostly talking about gen 4 here atm, the RNG only advances when it's used, which is why it's a lot easier to hit your target. You only have to time hitting the right seed, you can advance the RNG to exactly the right spot to get your target, and in most cases don't have to worry about randomness anymore. (most, because sometimes there's things like NPCs that will move and mess things up, for example.)