1. Our third apparel sale is live. New design + reprint of the athletic design. Support us and get a shirt!
2. Watch our World Cup of Pokemon Post-R1 Smogcast with some of Smogon's top players!
3. Welcome to Smogon Forums! Please take a minute to read the rules.

# [on site] RNG Abuse Guide (DPPt): Introduction

Discussion in 'Archives' started by mingot, Aug 23, 2009.

1. ### mingotfree agent

Joined:
Jun 15, 2008
Messages:
3,060
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!

Code:
```X-Act
[URL]http://www.smogon.com/forums/member.php?u=2412[/URL]
Peterko
[URL]http://www.smogon.com/forums/member.php?u=1430[/URL]
[URL]http://www.smogon.com/forums/member.php?u=8067[/URL]
SCV - No Smogon Account
tsanth
[URL]http://www.smogon.com/forums/member.php?u=15705[/URL]
=Jonny=
[URL]http://www.smogon.com/forums/member.php?u=19288[/URL]
Wild Eep
[URL]http://www.smogon.com/forums/member.php?u=4896[/URL]
Omega Donut
[URL]http://www.smogon.com/forums/member.php?u=5304[/URL]
LightningFusion
[URL]http://www.smogon.com/forums/member.php?u=30325[/URL]
Syberia
[URL]http://www.smogon.com/forums/member.php?u=832[/URL]
Pink
[URL]http://www.smogon.com/forums/member.php?u=13965[/URL]
```
2. ### Arseus

Joined:
Oct 13, 2006
Messages:
869
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.