Un po' di storia, parte 2
Nel 2001 in Giappone escono Rubino e Zaffiro, i primi giochi di terza generazione. La coppia č contestatissima per alcune scelte decisamente poco felici: oltre a un design dei nuovi Pokémon non esattamente spumeggiante, in R/Z č possibile catturare solo 202 dei 386 Pokémon esistenti e, cosa molto importante, la 3° generazione non permette di scambiare Pokémon con le precedenti versioni. Ciň significa che il vostro magnifico Mewtwo catturato e allenato su R/B/G e poi "trapiantato" in O/A/C non puň essere usato in R/Z!
Fortunatamente, c'č un perché a questa scelta. Oltre alla presunta incompatibilitŕ tra Gameboy Color e Gameboy Advance, che non avrebbe permesso fisicamente gli scambi, Game Freak ha deciso di rinnovare completamente la struttura dei dati che caratterizzava ogni Pokémon. Ricordate il discorso di prima sul fatto che in O/A/C sesso e "condizione shiny" si basavano sulle IV? Ciň portava ad alcune conseguenze decisamente strane. Vi faccio un esempio: abbiamo giŕ detto che l'IV di Attacco determinava il sesso del Pokémon. La maggior parte dei Pokémon ha un "gender ratio" (proporzione tra esemplari maschi e esemplari femmine) di 1:1, ovvero quel particolare Pokémon ha il 50% di probabilitŕ di essere maschio e il 50% di essere femmina. Giŕ in questo caso sorgono problemi: per essere femmina, il Pokémon doveva avere una IV di Attacco compresa tra 0 e 7. Ciň vuol dire che in questo caso un Pokémon femmina sarŕ sempre e comunque meno forte in Attacco rispetto ad un maschio della stessa specie (che invece ha IV di Attacco compresa tra 8 e 15). La situazione diventa ancora piů paradossale se consideriamo altre specie, come i Pokémon starter, che hanno un gender ratio di 7 a 1 (87,5% maschi e 12,5% femmine). Praticamente, le femmine di queste specie possono avere solamente 0 o 1 come IV di attacco: praticamente improponibile per Pokémon che si basano sugli attacchi fisici (come il caro vecchio Charizard con Panciamburo)!
Game Freak ha risolto il problema inserendo una variabile a 32 bit, chiamata "personality value" (PID), generata quando si incontra/riceve il Pokémon. La variabile č di questo tipo:

00000000 00000000 00000000 00000000

Ovvero, quattro "porzioni" da 8 bit (cifre) ciascuna. In questo numero sono stipate molte proprietŕ di un Pokémon: il sesso, l'abilitŕ, la natura e la "condizione shiny". Le macchie di Spinda sono calcolate a partire dal PID (esistono piů di 4 miliardi di combinazioni!), cosě come la lettera degli Unown e l'evoluzione di Wurmple.

Matematica applicata: gli Shiny di 3° e 4° Generazione
Dalla 3° Gen in poi, il calcolo per gli shiny si fa decisamente piů complicato.
Quando si incontra un Pokémon selvatico (o si riceve il Pokémon stesso, o il suo uovo), il gioco calcola casualmente il suo PID. Questo numero viene poi considerato cosě:

00000000 00000000 00000000 00000000

In pratica, vengono presi due segmenti da 16 bit (cifre) ciascuno. Il primo viene chiamato per comoditŕ p1, il secondo p2.
Successivamente il gioco applica al Pokémon l'ID e il Secret ID dell'allenatore. L'ID č quel numero che appare nella Scheda Allenatore, che va da 00000 a 65535, che penso conosciate tutti. Il Secret ID invece č un altro numero, sempre relativo all'allenatore e sempre compreso tra 00000 e 65535, che ha la funzione di evitare che due allenatori con lo stesso nome e lo stesso numero ID possano trattare l'uno i Pokémon dell'altro come se fossero propri. Sia l'ID che il Secret ID, in binario, sono della forma:

00000000 00000000

Ovvero sono due numeri da 16 bit. Per verificare che un Pokémon sia Shiny, bisogna eseguire tre volte un'operazione logica chiamata XOR.
Per chi mastica un po' di matematica o informatica, la porta logica XOR non sarŕ nuova. Essa implica di prendere due numeri binari e di confrontarli bit per bit: se i bit omologhi sono uguali, il risultato sarŕ 0; se sono diversi, il risultato sarŕ 1. So che č complicatuccia la questione, mi servo di un esempio per farvi capire:

Codice:
Numero A - 101101
Numero B - 010101
-----------------
A xor B  - 111000
Notate come, in pratica, 1 xor 0= 1, 0 xor 1= 1, 1 xor 1= 0, 0 xor 0= 0.
Afferrato? Bene, passiamo ora al succo della questione: la "condizione Shiny". Per prima cosa, si prendono i due ID allenatore (normale e Secret - ID e SID) e si fa lo xor dei due, inserendolo in una variabile.

E = ID xor SID

Dopodichč, prendiamo p1 e p2 (ovvero i due segmenti da 16 bit del PID) e facciamo lo xor anche di questi due.

F = p1 xor p2

Infine, le due variabili cosě ottenute vengono di nuovo "xorate" tra di loro.

S = E xor F

Affinchč un Pokémon sia Shiny, S < 8 (o, per meglio dire, S < 00000000 00001000, dato che stiamo lavorando in binario).
Un numero binario a 16 bit ha come valore massimo in decimale 65535 (ovvero 65536 valori, se contiamo anche lo 0). S deve essere minore di 8, quindi compreso tra 0 e 7, quindi alla fine vanno bene 8 valori (0 compreso). Capite dove voglio parare? Sě, anche stavolta, le possibilitŕ che un Pokémon sia Shiny sono di nuovo 8/65536 oppure, al solito, 1/8192.

Riassumendo: i Pokémon ora hanno una variabile (il PID) dove inserire alcuni dati, tra cui la condizione shiny. Quest'ultima viene calcolata a partire dal PID, dall'ID e dal SID, e le probabilitŕ sono (come in O/A/C) 1/8192. Se avete seguito il discorso fino ad ora, noterete che nella 3° generazione non abbiamo ancora parlato di IV. Infatti, in R/Z/S la "condizione shiny" č completamente SLEGATA dalle IV: ciň vuol dire che un Pokémon Shiny potrŕ essere debolissimo (IV tutte a 0) oppure fortissimo (IV tutte a 31). Insomma: se in O/A/C gli Shiny erano mediamente piů forti del normale, dalla 3° gen in poi non č detto. Ovviamente, tutto ciň che č stato scritto vale anche per la 4° generazione (e probabilmente anche per la 5°), dato che le strutture dei dati sono le stesse.

Voglio uno shiny! Parte 2
Anche nella 3° e 4° generazione ci sono dei metodi per ottenere Shiny piů velocemente.

-Spedire la cartuccia alla Nintendo
Eh, sě, sembra strano ma se spedite una copia di Rubino o Zaffiro (non Smeraldo, RossoFuoco e VerdeFoglia) all'indirizzo Nintendo Italia, via Pellizza da Volpedo 53, 20092, Cinisello Balsamo (MI), e se avete 5 o meno Pokémon nel Party, riceverete uno Zigzagoon Shiny (oltre a ricevere l'Aggiornamento Bacche).

-Abuso dell'RNG
C'č una cosa su cui non sono stato particolarmente sincero: il PID non viene generato casualmente, ma a partire da un numero chiamato RNG. Il problema č che neanche questo RNG č casuale! E' pseudo-casuale, cioč esistono alcuni fattori che possono essere controllati e usati per ottenere uno shiny. Questo metodo č fattibile in Smeraldo, in D/P/Pt e in HG/SS. In Smeraldo, perň, comporta un'impegno non indifferente: meglio provarci direttamente nella 4° gen. Posterň una guida a breve su questo punto.

-Metodo Masuda
Junichi Masuda, il programmatore della serie Pokémon, ha rivelato in un'intervista di aver incluso nel codice dei giochi di 4° generazione uno speciale check che avrebbe incoraggiato lo scambio di Pokémon con giocatori di tutto il mondo. Se infatti si lasciano alla pensione 2 Pokémon compatibili, provenienti da cartucce con lingue diverse sia tra loro sia da quella del gioco (ad esempio: gioco in italiano, primo Pokémon tedesco, secondo francese), le probabilitŕ di ottenere un Uovo shiny salgono a 4/8192 ovvero 1/2048.

-Pokéradar
Ormai č cosa risaputa: su D/P/Pt č possibile trovare Shiny col Pokéradar portando la catena intorno a 40 e continuando a resettare il Radar finché un pezzo d'erba non brilla con tre stelline. Viene sempre proposto come un metodo facile, ma provandolo di persona scoprirete che in realtŕ č frustrantissimo.

Articolo scritto da Neku per uso esclusivo su ExtremeGeneration.it