Smogon Community [on site] RNG Abuse Guide (DPPt): Introduction
 Register FAQ Social Groups Calendar Search Today's Posts Mark Forums Read

 Aug 23rd, 2009, 9:18:41 PM #1 mingot** free agent   Administrator Join Date: Jun 2008 Posts: 3,045 [on site] RNG Abuse Guide (DPPt): Introduction Introduction to RNG Abuse on DPP Index Introduction Part 1 - Hatching Shiny Pokémon Part 2 - Common Information for Breeding and Capturing Perfect Pokémon Part 3 - Hatching Perfect Pokémon Part 4 - Capturing Perfect Pokémon Part 5 - Receiving Perfect Wondercard Pokémon What is RNG Abuse? There are many seemingly random events in Pokémon: the IVs and natures of the Pokémon that you capture or breed, the number of steps an NPC walks before turning, or the odds that your newly hatched Totodile is shiny. As it turns out, these events are all governed by the output of a class of mathematical formulas, which are known as pseudo random number generators. The word "pseudo", often used to paint things as "fraudulent" or "false", is very appropriate in this case. Even though the numbers output by these formulas may appear to be random, they are not. Each sequence begins with a single number, often referred to as a seed, and continues on in a predictable pattern. As the seed determines the sequence of numbers that will follow, it is important that it is different each and every time you play. If the same seed was chosen each time, the pattern of numbers, and how they affect the game, would be noticeable over time, breaking the illusion of randomness. To alleviate this potential problem, the developers decided to create the seed using something that should be different every time you play: the date and time on your Nintendo DS. By doing some light math on the individual components (year, month, hours, etc.) of the date and time, a "unique" seed is created each time you start the game. There is an obvious flaw in this technique; we can change the date and time on our Nintendo DS systems before we start the game. With knowledge of how the date and time affect the seed, it is possible to choose a combination that yields a desirable result, allowing us to control the sequence of pseudo-random numbers that is generated. Coupled with the knowledge of how the game uses those numbers to create Pokémon, we become the creators, picking and choosing desirable traits, removing any remaining vestiges of randomicity. Credits and Thanks Pioneering research by X-Act, Peterko, and loadingNOW gave us insight into the operation of the PRNG and how its results were used to govern in-game actions. Heavy use was made of SCV's implementation of the reverse PRNG, which was independently derived by X-Act and tsanth. =Jonny= spent countless hours scouring and translating Japanese articles to expand our knowledge of the DPPt PRNG specifics, including the method for generating egg PIDs. Wild Eep delved deep into Pokémon generation, allowing us to capture perfect Pokémon with ease. OmegaDonut worked tirelessly to refine the process for hatching perfect Pokémon. Testers and researchers such as LightningFusion, Syberia, Pink, and many others worked through spotty information and came back with real, verifiable results. In short, this product is the culmination of the hard efforts of a large group of people, without whom none of these these articles could exist. Thank you all! Credits and Thanks Pioneering research by X-Act, Peterko, and loadingNOW gave us insight into the operation of the PRNG and how its results were used to govern in game actions. I relied heavily on SCV's implementation of the reverse PRNG, which was independently derived by X-Act and tsanth. =Jonny= spent countless hours scouring and translating Japanese articles to expand our knowledge of the DPPt PRNG specifics, including method for generating egg PIDs. Wild Eep delved deep into Pokémon generation, allowing us to capture perfect Pokémon with ease. Omega Donut worked tirelessly to refine the process for hatching perfect Pokémon. Testers and researchers such as LightningFusion, Syberia, Pink, and many others worked through spotty information and came back with real verifiable results. In short, this is the culmination of the hard work of a large group of people without whom none of these these articles could exist. Thank you all! Link dump for user profiles: Code: ```X-Act http://www.smogon.com/forums/member.php?u=2412 Peterko http://www.smogon.com/forums/member.php?u=1430 loadingNOW http://www.smogon.com/forums/member.php?u=8067 SCV - No Smogon Account tsanth http://www.smogon.com/forums/member.php?u=15705 =Jonny= http://www.smogon.com/forums/member.php?u=19288 Wild Eep http://www.smogon.com/forums/member.php?u=4896 Omega Donut http://www.smogon.com/forums/member.php?u=5304 LightningFusion http://www.smogon.com/forums/member.php?u=30325 Syberia http://www.smogon.com/forums/member.php?u=832 Pink http://www.smogon.com/forums/member.php?u=13965``` __________________ Last edited by mingot; Sep 28th, 2009 at 8:21:23 AM.
Sep 26th, 2009, 10:17:11 PM   #2
Arseus

Join Date: Oct 2006
Posts: 869

Quote:
 What is RNG Abuse? There are many seemingly random events in Pokémon: the IVs and natures of the Pokémon that you capture or breed, the number of steps an NPC walks before turning, or the odds that your newly hatched Totodile is shiny. As it turns out, these events are all governed by the output of a class of mathematical formulas, which are known as pseudo random number generators. The word "pseudo", often used to paint things as "fraudulent" or "false", is very appropriate in this case. Even though the numbers output by these formulas may appear to be random, they are not. Each sequence begins with a single number, often referred to as a seed, and continues on in a predictable pattern. As the seed determines the sequence of numbers that will follow, it is important that it is different each and every time you play. If the same seed was chosen each time, the pattern of numbers, and how they affect the game, would be noticeable over time, breaking the illusion of randomness. To alleviate this potential problem, the developers decided to create the seed using something that should be different every time you play: the date and time on your Nintendo DS. By doing some light math on the individual components (year, month, hours, etc.) of the date and time, a "unique" seed is created each time you start the game. There is an obvious flaw in this technique; we can change the date and time on our Nintendo DS systems before we start the game. With knowledge of how the date and time affect the seed, it is possible to choose a combination that yields a desirable result, allowing us to control the sequence of pseudo-random numbers that is generated. Coupled with the knowledge of how the game uses those numbers to create Pokémon, we become the creators, picking and choosing desirable traits, removing any remaining vestiges of randomicity. Credits and Thanks Pioneering research by X-Act, Peterko, and loadingNOW gave us insight into the operation of the PRNG and how its results were used to govern in-game actions. Heavy use was made of SCV's implementation of the reverse PRNG, which was independently derived by X-Act and tsanth. =Jonny= spent countless hours scouring and translating Japanese articles to expand our knowledge of the DPPt PRNG specifics, including the method for generating egg PIDs. Wild Eep delved deep into Pokémon generation, allowing us to capture perfect Pokémon with ease. OmegaDonut worked tirelessly to refine the process for hatching perfect Pokémon. Testers and researchers such as LightningFusion, Syberia, Pink, and many others worked through spotty information and came back with real, verifiable results. In short, this product is the culmination of the hard efforts of a large group of people, without whom none of these these articles could exist. Thank you all!
Okay, here's my quick grammar check; I caught a bunch of small stuff, but inevitably missed some other things. I would recommend getting someone else to do a second check-up, but here's what I have done for now.