1. New to the forums? Check out our Mentorship Program!
    Our mentors will answer your questions and help you become a part of the community!
  2. 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. mingot

    mingot free agent
    is a Site Staff Alumnusis a Battle Server Admin Alumnusis a Researcher Alumnusis a Contributor Alumnusis a Smogon Media Contributor Alumnusis an Administrator Alumnus

    Joined:
    Jun 15, 2008
    Messages:
    3,050
    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
    [URL]http://www.smogon.com/forums/member.php?u=2412[/URL]
    Peterko
    [URL]http://www.smogon.com/forums/member.php?u=1430[/URL]
    loadingNOW 
    [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

    Arseus
    refuses to accept Contributor

    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.

Users Viewing Thread (Users: 0, Guests: 0)