L'acronimo RNG sta per Random Number Generator, e non è altro che un algoritmo utilizzato in svariati giochi quando hanno bisogno di generare alcuni numeri. In teoria i numeri creati sarebbero casuali, perchè le variabili utilizzate da questi algoritmi sono così tante e cambiano così velocemente che non è possibile (o è molto difficile) prevedere a priori che numeri usciranno, ma di fatto non lo sono, in quanto sono comunque conseguenza di uno stato o di una serie di stati in cui il gioco viene a trovarsi. Per questo motivo il nome corretto sarebbe PRNG, cioè Pseudo Random Number Generator.
Nei capitoli della saga Pokémon esistono tre tipi di generatori di numeri casuali RNG
Essi sono algoritmi di generazione di numeri casuali utilizzati ogni qualvolta il gioco debba decidere il valore di una variabile casuale, dall'esito del lancio di una moneta all'apparizione di un pokemon shiny. Di seguito sono descritte solamente le funzioni che I RNG svolgono nella generazione dei parametri che definiscono un pokemon selvatico o uno allevato alla pensione.
~NRNG ( Normal Random Number Generator)
é il principale generatore di numeri casuali, viene utilizzato per la generazione dei pokemon selvatici (PID e IV) mediante quattro diverse modalità di impiego dette Metodo 1 2 3 e Metodo J. Viene inoltre utilizzato per la determinazione degli IV delle uova alla pensione e dei pokemon ricevuti tramite Wondercard in DPPt. L'algoritmo generatore è del tipo lineare congruenziale. [http://it.wikipedia.org/wiki/Generatore_lineare_congruenziale]
~RNG ( Incubator Random Number Generator) (DPPt solo)
Viene utilizzato per la determinazione del PID ( Pokémon ID ) delle uova alla pensione il quale identifica natura genere e possibilità di shiny. L'algoritmo generatore è il Mersenne Twister.[http://it.wikipedia.org/wiki/Mersenne_Twister]
~ARNG ( Alternate Random Number Generator) (DPPt solo)
Viene utilizzato per la generazione casuale del PID dei Pokémon ricevuti tramite wondercard. Non si conoscono i dettagli sulla natura dell'algoritmo utilizzato.
Come già detto, essendo basati su algoritmi deterministici noti, i PRNG non generano numeri realmente casuali, pertanto è possibile "prevedere" quale numero verrà generato dalla conoscenza di quelli precedenti. Per comprendere questo concetto, basti pensare al RNG come ad una sequenza ciclica di numeri che si ripete sempre inalterata, in cui cioè ogni numero è sempre seguito (e preceduto) dallo stesso numero. Su quest'idea e sul fatto che è possibile
abusare dell'RNG a proprio vantaggio, si basa la strategia di gioco che permette di avere Pokémon perfetti.
Ad ogni stato del gioco è associato un numero pseudo-casuale. Se in un qualsiasi momento nasce la necessità di generare una variabile casuale il gioco da in input all'RNG il numero casuale attuale per ottenerne uno nuovo dal quale dipenderà il valore della variabile. Il valore dato in Input viene detto Seme (
Seed) e quello in Output diventerà a sua volta seme perla successiva chiamata del RNG.
By DoomDesire