Pseudorandom number generation in Pokémon: Difference between revisions

From Bulbapedia, the community-driven Pokémon encyclopedia.
Jump to navigationJump to search
No edit summary
No edit summary
Line 37: Line 37:
As the initial seed is predictable, the "random" numbers are predictable as well. [[Pokémon Emerald]]'s initial seed is always 0. The Generation IV games use the [[Nintendo DS]]'s date, time, and delay between starting the game and pressing "Continue" to generate the initial seed.
As the initial seed is predictable, the "random" numbers are predictable as well. [[Pokémon Emerald]]'s initial seed is always 0. The Generation IV games use the [[Nintendo DS]]'s date, time, and delay between starting the game and pressing "Continue" to generate the initial seed.


The random number generator is used to determine a Pokémon's [[personality value]] and [[Individual Values]] when it is encountered or received. After the initial seed is discovered, the player can control a Pokémon's characteristics with frame precise timing. There are several methods used to create a Pokémon's characteristics - for instance, a bred Pokémon and a legendary Pokémon's characteristics are generated through different methods.
The random number generator is used to determine a Pokémon's [[personality value]] and [[Individual Values]] when it is encountered or received. After the initial seed is discovered, the player can control a Pokémon's characteristics with frame precise timing. There are several methods used to create a Pokémon's characteristics - for instance, a bred Pokémon and a stationary Pokémon's characteristics are generated through different methods.


There are some limitations. As a player's Trainer ID and Secret ID determine a Pokémon's shininess, shiny Pokémon generated through certain methods can only have certain Individual Values. Also, it is not possible to manipulate the nature of a Pokémon obtained through a Wonder Card.
There are some limitations. As a player's Trainer ID and Secret ID determine a Pokémon's shininess, shiny Pokémon generated through certain methods can only have certain Individual Values. Also, it is not possible to manipulate the nature of a Pokémon obtained through a [[Wonder Card]].


In the Pokémon fandom, RNG abuse is slightly controversial. Proponents note that RNG abuse does not require a third-party device and that RNG abused Pokémon can be obtained through normal gameplay. In addition, RNG abused Pokémon have been allowed at the 2009 and 2010 Video Game Championships, an official tournament sponsored by Nintendo. However, some players believe that RNG abuse is cheating, as the action of picking a Pokémon's characteristics is similar to using a program like Pokésav.
In the Pokémon fandom, RNG abuse is slightly controversial. Proponents note that RNG abuse does not require a third-party device and that RNG abused Pokémon can be obtained through normal gameplay. In addition, RNG abused Pokémon have been allowed at the [[Pokémon_Organized_Play_(TCG)#Video_Game_Championships|Video Game Championships]], an official tournament. However, some players believe that RNG abuse is cheating, as the action of picking a Pokémon's characteristics is similar to using a program like Pokésav.


==See also==
==See also==

Revision as of 02:06, 18 August 2010

A pseudo-random number generator is an electronic device or software's attempt at creating a random number. Computers are not designed to be random, and cannot yet be truly 'random' on their own. In order to generate 'random' events in games and other forms of software, they must get as close to looking it as they can. There are limitless ways of accomplishing this. The degree of apparent randomness depends on the ability to predict the next result of the algorithm.

Mechanics

First the generator must have a seed, a number to start with. This number is usually a date and time referring to the first time the algorithm is called during the usage of the device or the software's active session. Seeds are also occasionally derived from user input, as it is highly improbable to do the exact same thing more than once, making it appear 'random'.

This number is put through a complex algorithm and the result is formatted according to the needed context. The raw result then becomes the seed for any subsequent uses of the random generator. Therefore the nature of the generator is a recursive algorithm.

In Pokémon

Let Seed be a number between 0 and 0xFFFFFFFF or the Result of a previous call to the equation.

Result = [(0x41C64E6D * Seed) + 0x6073]

This algorithm is used for the following:

  • Encrypting Pokémon data in the save file.
  • Generate the personality value of a wild encountered Pokémon.
  • Generate the individual values of a wild encountered Pokémon.
  • Determining the species of a wild Pokémon.
  • Determining the lottery number.

Alternative pseudo-random number generator

The game also uses a different algorithm to alternate, reroll, or modify a previously randomly generated value. The algorithm works in the same nature, however the equation changes to:

Result = [(0x6C078965 * Seed) + 0x1]

This algorithm is used for the following:

  • Shiny Pokémon Ranger Manaphy egg restriction.
  • Determining the species of a Pokémon swarm.
  • Determining the Pokémon in the Great Marsh.
  • Determining the Pokémon in the Trophy Garden.
  • Mystery Gift shininess restriction for Type 1 Wonder Card Pokémon (currently all released with variable natures).

RNG Abuse

RNG abuse, also referred to as RNG manipulation, is a procedure that manipulates the pseudo-random number generator in the main series games to obtain a desired Pokémon. It is commonly used to obtain shiny Pokémon or Pokémon with high Individual Values.

As the initial seed is predictable, the "random" numbers are predictable as well. Pokémon Emerald's initial seed is always 0. The Generation IV games use the Nintendo DS's date, time, and delay between starting the game and pressing "Continue" to generate the initial seed.

The random number generator is used to determine a Pokémon's personality value and Individual Values when it is encountered or received. After the initial seed is discovered, the player can control a Pokémon's characteristics with frame precise timing. There are several methods used to create a Pokémon's characteristics - for instance, a bred Pokémon and a stationary Pokémon's characteristics are generated through different methods.

There are some limitations. As a player's Trainer ID and Secret ID determine a Pokémon's shininess, shiny Pokémon generated through certain methods can only have certain Individual Values. Also, it is not possible to manipulate the nature of a Pokémon obtained through a Wonder Card.

In the Pokémon fandom, RNG abuse is slightly controversial. Proponents note that RNG abuse does not require a third-party device and that RNG abused Pokémon can be obtained through normal gameplay. In addition, RNG abused Pokémon have been allowed at the Video Game Championships, an official tournament. However, some players believe that RNG abuse is cheating, as the action of picking a Pokémon's characteristics is similar to using a program like Pokésav.

See also