Generazione di numeri pseudo-casuali in Pokémon

Nello specifico: Qualsiasi cosa da dopo la quinta generazione.
Un generatore di numeri pseudo-casuali (in inglese, pseudo-random) è il tentativo, in elettronica e informatica, di creare dei numeri casuali. I computer (e i dispositivi elettronici in genere) non sono stati progettati per essere casuali; pertanto, nei videogiochi e nelle altre forme software si utilizzano spesso degli algoritmi per simulare una casualità che può portare a determinati eventi, come possono essere gli incontri selvatici in Pokémon. Il grado di casualità apparente dipende dalla possibilità di predire il valore successivo in una serie di numeri generati dall'algoritmo pseudo-casuale.
Meccaniche
Innanzitutto il generatore deve avere un seed, un numero iniziale dal quale partire. Questo numero è solitamente la data e l'orario in cui l'algoritmo di generazione è stato chiamato dal software per la prima volta. I seed sono talvolta derivati dall'input umano (l'interazione dell'utente col software) e dato che è molto difficile riuscire a fare esattamente la stessa cosa più di una volta, il risultato sembra così essere casuale.
Il seed viene passato poi attraverso un algoritmo, e il risultato viene formattato a seconda delle esigenze del contesto. Il risultato di questa generazione può diventare poi esso stesso il seed per un utilizzo successivo del generatore pseudo-casuale, rendendo ricorsivo l'algoritmo che ne sta alla base.
In Pokémon
Generatore lineare congruenziale di numeri casuali (LCRNG)
Pokémon Stadium, i giochi di terza e quarta generazione e Pokémon Colosseum utilizzano un generatore lineare congruenziale.
Nei calcoli sottostanti, seed è un numero compreso tra e . Se il generatore ha già chiamato un numero in precedenza, seed è il valore risultante dalla precedente chiamata al generatore.
- Pokémon Stadium:
- Pokémon Colosseum:
- Terza e quarta generazione:
- Macchine Pokémon Machine v2 (usate per la distribuzione di Pokémon evento):
In terza e quarta generazione l'algoritmo è utilizzato per queste funzioni di gioco:
- Criptare i dati dei Pokémon nel file di salvataggio.
- Generare il valore di personalità di un Pokémon selvatico.
- Generare i valori individuali di un Pokémon selvatico.
- Determinare la specie di un Pokémon selvatico.
- Determinare il numero vincente del Centro Lotteria ID.
- Determinare la comparsa di un Uovo alla Pensione Pokémon.
In quinta e sesta generazione il gioco utilizza invece un LCRNG con la seguente formula:
Generatore alternativo di numeri casuali (ARNG)
I giochi di quarta generazione utlizzano un algoritmo differente per alternare, modificare o ricalcolare un valore generato in precedenza. L'algoritmo funziona allo stesso modo del precedente, ma con la seguente equazione:
Questo algoritmo viene utilizzato nei seguenti casi:
- Restrizioni sulla cromaticità di alcuni Pokémon specifici:
- L'Uovo di Manaphy da Pokémon Ranger,
- I Pokémon evento ottenuti da Schede Segrete di tipo 1,
- Mew e Phione di My Pokémon Ranch.
- Determinare la specie di una comparsa massiccia.
- Determinare i Pokémon giornalieri nella Gran Palude.
- Determinare il Pokémon giornaliero nel Giardino Trofeo.
Mersenne Twister (MTRNG)
A partire dalla quarta generazione è presente un ulteriore algoritmo, il Mersenne Twister, un generatore di numeri pseudocasuali che produce 624 numeri casuali alla volta che vengono poi conservati e usati quando serve. Una volta che tutti i 624 numeri sono stati usati, viene generato un nuovo set di numeri.
Questo algoritmo è usato per le seguenti meccaniche:
- Generare il Numero ID Allenatore e il numero di ID segreto (SID) in quarta generazione.
- Generare il numero PID delle Uova in quarta generazione.
- Calcolare i cambiamenti dell'affetto.
- Calcolare le animazioni degli sprite in quinta generazione.
- Generare i valori individuali di un Pokémon selvatico in quinta generazione.
- Determinare la decisione delle mosse usate dall'IA in quinta generazione.
Collegamenti esterni
- Guida all'abuso dell'RNG in quarta generazione (Smogon) (Inglese)
- Guida all'abuso dell'RNG in quinta generazione (Smogon) (Inglese)