Name | Description | Importance |
---|---|---|
Seed | Starting value used by the game's random number generator (RNG). Knowing or controlling it allows players to predict and manipulate in-game randomness for desired outcomes. Also known as: Initial seed | Essential |
Advance | Process of moving forward in the game's random number sequence. This happens through in-game actions like NPC movement, menu interactions, or specific mechanics that shift the RNG to a new state. | Essential |
Target advance | Specific RNG advance a player aims for a desired outcome. Ex: Advance 1000 for shiny Pokémon. | Essential |
Hit advance | Specific RNG advance a player actually hit when attempting an RNG manipulation. It is usually displayed along the difference with the target advance. Ex: Advance 1007 (+7), where the target advance is 1000. | Essential |
Frame | Single rendered image on the screen, which updates at a consistent rate (~59.7 frames per second on GBA). Also known as: Visual frame | Essential |
Calibration (action) | Process of determining the game's timing inconsistencies to accurately predict RNG outcomes. | Essential |
Calibration (value) | Timing variation to counterbalance the game inconsistencies in order to obtain the desired outcome. Ex: +100 ms. | Essential |
Offset | The difference between the RNG advance on the last player input and when the Pokémon generation occurs. Ex: If the offset is 5 and you press A on advance 1000, the Pokémon will be generated on advance 1005. | Essential |
Individual value | Randomly generated number (0-31) assigned to a Pokémon when it is generated. There is one for each stat and it influences the actual stat value. Also known as: IV | Essential |
Hexadecimal | Base-16 numbering system where each digit can represent a value from 0 to 15. It uses the digits 0-9 and the letters A-F to represent the values 10-15. Also known as: Hex | High |
Modulo | Mathematic operation to get the remainder when one number is divided by another. For example, 5 mod 3 = 2 because when you divide 5 by 3, the remainder is 2. Also known as: Mod | High |
Trainer ID | Random number generated when starting a new game. It is displayed on their trainer card. It affects whether a Pokémon is shiny. Also known as: TID | High |
Secret ID | Random number generated when starting a new game. It is never displayed to the player. It affects whether a Pokémon is shiny. Also known as: SID | High |
Trainer shiny value | Number derived from the Trainer ID and Secret ID. A Pokémon is shiny if its Pokémon shiny value is the same of the original trainer's Trainer shiny value. Also known as: TSV | High |
Personality value | Random number generated for each Pokémon. It determines the gender, ability, nature, and shininess. Personality values are written in hexadecimal format (ex: ABCD1234). Also known as: PID | High |
Pokémon shiny value | Number derived from the Pokémon Personality value. A Pokémon is shiny if its Pokémon shiny value is the same of the original trainer's Trainer shiny value. Also known as: PSV, Egg shiny value, ESV | High |
Dead battery | No longer functioning game's internal clock. In Ruby & Sapphire, this causes the RNG to start from a fixed seed every time the game boots up. This makes RNG manipulation easier, as players can predict and control Pokémon encounters more consistently. Also known as: Dry battery | High |
Live battery | Functioning game's internal clock. In Ruby & Sapphire, this causes the RNG to start from a different seed every time the game boots up. | High |
Sweet Scent | Attack that can be used outside of battle to trigger a wild Pokémon encounter. Its consistency makes it ideal for RNG manipulation. | High |
Synchronize | In Pokémon Emerald, wild Pokémon encounters have 50% chance to share the same Nature as the lead Pokémon if it has the Synchronize ability. | High |
Mystic Timer | Timer specifically designed for Pokémon RNG manipulation, available in a browser. | High |
Eon Timer | Timer specifically designed for Pokémon RNG manipulation, available as a program. | High |
Static Pokémon | Pokémon encounters that predetermined such as starter, stationary, gift, legendary, and roamers Pokémon. | High |
Method | A method indicates how a Pokémon will be generated for a given RNG advance. Also known as: Method-1, Method-4 | High |
Method-X | Method-1 and Method-4 are the methods for Static Pokémon. | High |
Wild-X | Wild-1, Wild-2 and Wild-4 are the methods for wild Pokémon. | High |
Lua script | A file with the .lua extension that can be loaded by emulators to help manipulate RNG. Ex: Display the current RNG advance. | Mid |
Reseeding | Resetting the RNG state with a new seed, effectively jumping in the game's random number sequence. Painting and battle video are techniques based on reseeding. | Mid |
Painting technique | Technique to shorthen the wait time to reach high RNG advances by interacting with a painting in the Lilycove Contest Hall. Exclusive to Ruby, Sapphire, and Emerald. | Mid |
Battle video technique | Technique to speed up repeated RNG manipulation attempts by recording a battle video and viewing it to advance the RNG. | Mid |
Noise | Unpredictable factors that cause the RNG to advance in ways that are difficult to control. | Mid |
mGBA | GBA emulator with lua script support which is recommended for RNG manipulation. | Mid |
Effort value | Hidden stat experience given after defeating Pokémon or eating Vitamins. It influences the actual stat value. It is rarely relevant in RNG manipulations. Also known as: EV | Low |
NO$GBA | GBA emulator with a built-in interactive debugger which is useful for RNG manipulation research. | Low |
Dolphin | GameCube emulator with GBA connectivity. | Low |
PKHex | Pokémon save editor. | Low |
Arbitrary code execution | Exploit allowing players to alter the Pokémon generation code. Exclusive to Emerald. Also known as: ACE | Low |
VBlank | Mechanism used by the GBA to refresh the screen (~59.7 times per second). VBlank updates the RNG to advance by 1. | Low |
Cycle counter | Internal counter in the GBA that tracks the number of CPU instructions performed. Every time it reaches 280'896, a VBlank is triggered. | Low |
Decompiled code | Human-readable code equivalent to the Pokémon game program. It is used to better understand its logic. Also known as: pret | Low |