*header goes here*

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

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

Guides/Resources

WHAT YOU WILL NEED

(HGSS)

How to determine what Seed you hit:

How to Advance the RNG

How to Advance the RNG (Eggs)


(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]

Why that seed as an example?

I chose that seed because it's the first one i got when searching to see if I could get a 0IV shiny lol.


Advance Types

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"



Elm Info

In HGSS, you can technically call Professor Elm too, but only in specific circumstances. Elm will work instead of Irwin if you have: [smogon]

  1. Reached Kanto
  2. Shown him a hatched Togepi or any of it's evolutions
  3. 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?


Frames vs Advances

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.)

X