Vai al commento

[Ricerca] Pokemon Cromatici in SwSh, Meccaniche e Probabilità


Post raccomandati

Aggiornamento e revisione del 10-04-2021

 

Ciao a tutti!

 

Premessa

Questo post intende raccogliere, riassumere e dare un senso (si spera) alla mole delle informazioni pubblicate in rete da varie fonti circa la meccanica di apparizione dei pokemon cromatici nei giochi di ottava generazione.

In caso di domande e/o correzioni da parte di chiunque resto naturalmente a disposizione e pronto a correggere quanto di ciò che segue possa eventualmente rivelarsi poco chiaro o errato.

La precedente versione di questo post è archiviata come pdf raggiungibile tramite questo link.

 

Determinazione del fattore cromatico

Spoiler

Partendo dalle basi, IL modo con cui i giochi determinano se un pokemon è shiny oppure no dipende dal risultato della seguente operazione:

 

TID xor SID xor PID31-16 xor PID15-0

 

Dove TID e SID sono rispettivamente il TrainerID ed il SecretID derivati dall’identificativo allenatore generato dal gioco per ciascun giocatore alla creazione di una nuova partita, PID31-16 e PID15-0 sono rispettivamente i 16 bit più significativi e i 16 meno significativi del PokemonID, valore generato dal gioco per qualsiasi pokemon al momento della sua apparizione o ricezione, mentre infine lo xor bit a bit è un'operazione logica che ha per risultato 1 se i bit confrontati hanno valore differente, 0 altrimenti.

Interpretando in base 10 il risultato di questa operazione allora avremo:

 

  1. L'incontro/la schiusa/il ricevimento di un pokemon regular, ovvero non cromatico, se il valore convertito è maggiore o uguale a 16;
  2. L'incontro/la schiusa/il ricevimento di un pokemon Star Shiny, ovvero cromatico con animazione a stelle, se il valore convertito è compreso fra 1 e 15 (estremi compresi);
  3. L'incontro/la schiusa/il ricevimento di un pokemon Square Shiny, ovvero cromatico con animazione a quadri, se il valore convertito è esattamente uguale a 0.

 

Mettendo da parte la conversione da sistema binario a decimale, un pokemon è cromatico (di qualsiasi tipo) se il risultato dell'operazione è

 

 000000000000xxxx

 

dove le quattro "x" sul finale corrispondono ai quattro bit meno significativi (quelli più a destra) del risultato. Se quindi "xxxx" è uguale a "0000" allora avremo davanti uno Square Shiny, mentre qualsiasi altra configurazione (da "0001" a "1111") porterà invece a uno Star Shiny.

 

Avendo dimestichezza con le operazioni binarie, quanto osservato permette già di intuire il funzionamento dell'intera meccanica che gestisce l’apparizione di pokemon cromatici, nonché di definire univocamente i ben noti valori di TSV/PSV e TRV/PRV.

 

I 12 bit più significativi dello xor equivalgono, in un certo senso, al confronto di uguaglianza fra TSV e PSV, mentre i 4 bit meno significativi equivalgono in maniera analoga al confronto fra TRV e PRV.

 

Ma andiamo con ordine e chiariamo alcuni punti anche ai non addetti ai lavori.

Supponiamo che un giocatore abbia TID = 19562 e SID = 49485. Questi valori corrispondono allora ai seguenti in sistema binario:

 

TID -> 0 1 0 0 1 1 0 0 0 1 1 0 1 0 1 0
SID -> 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1

 

Separando concettualmente i 12 bit più significativi dai 4 meno significativi avremo quindi:

 

TID -> 0 1 0 0 1 1 0 0 0 1 1 0 --- 1 0 1 0
SID -> 1 1 0 0 0 0 0 1 0 1 0 0 --- 1 1 0 1

 

ed effettuando lo xor bit a bit troviamo allora

 

TID -> 0 1 0 0 1 1 0 0 0 1 1 0 --- 1 0 1 0
SID -> 1 1 0 0 0 0 0 1 0 1 0 0 --- 1 1 0 1
              1 0 0 0 1 1 0 1 0 0 1 0 --- 0 1 1 1

 

I 12 bit più significativi del risultato, 100011010010, convertiti in base 10 corrispondono al valore 2258, il quale viene definito come TSV (Trainer Shiny Value) del giocatore stesso.
Analogamente i 4 bit meno significativi del risultato, 0111, convertiti in base 10 corrispondono al valore 7, che senza troppa fantasia viene definito come TRV (Trainer Residual Value). Occhio al fatto che spesso il TRV si preferisce interpretarlo in base 16 con un'unica cifra, per cui 10 = A, 11 = B, 12 = C, 13 = D, 14 = E e 15 = F.

 

Questa spiegazione la si può trovare un po' ovunque su internet al giorno d'oggi, mentre nessuno parla mai di PSV (o ESV) e PRV (o ERV), se non concettualmente, dato che questi li fornisce di solito l'RNG tool di turno. Tuttavia, per quanto osservato dallo XOR fra TID e SID e tenendo presente l'operazione di XOR da cui siamo partiti, bastano poche altre considerazioni per comprendere cosa sono questi valori che nessuno si prende la briga di spiegare.

 

Tornando alla prima operazione scriviamola dunque come

 

(TID xor SID) xor (PID31-16 xor PID15-0)

 

Abbiamo visto come concettualmente le parentesi a sinistra contengono in un certo senso le informazioni di TSV e TRV, per cui dalle parentesi a destra è lecito aspettarsi che contengano le informazioni circa il PSV e il PRV, dato che operano sul PID di un pokemon selvatico, da schiudere o da ricevere. Be', più che lecito aspettarselo, è proprio così che PSV e PRV sono definiti. 

 

Il PID di un pokemon è considerato come il suo Personality Value, rappresentato solitamente come un valore esadecimale a 8 cifre.

Supponiamo che un pokemon incontrato abbia PID = 2F05 A222. Questo, convertito in base 2 e spezzato a metà diventa allora

 

PID31-16 -> 0 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 ---> 16 bit più significativi, 2F05
PID15-0 --> 1 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 ---> 16 bit meno significativi, A222

 

Dividendo come prima nei 12 bit più significativi e 4 bit meno significativi ed eseguendo l'operazione di XOR bit a bit otteniamo

 

PID31-16 -> 0 0 1 0 1 1 1 1 0 0 0 0 --- 0 1 0 1 
PID15-0 --> 1 0 1 0 0 0 1 0 0 0 1 0 --- 0 0 1 0
                          1 0 0 0 1 1 0 1 0 0 1 0 --- 0 1 1 1

 

I 12 bit più significativi del risultato, 100011010010, convertiti in base 10 corrispondono come prima al valore 2258, il quale viene definito come PSV (Pokemon Shiny Value) del pokemon incontrato.

 

Analogamente i 4 bit meno significativi del risultato, 0111, convertiti in base 10 corrispondono al valore 7, che sempre senza troppa fantasia viene definito come PRV (Pokemon Residual Value).

 

Unendo quindi il tutto nello XOR iniziale, il pokemon appena incontrato apparirà al giocatore come Square Shiny.

 

Per concludere, considerando il PID di un pokemon e le 8 cifre esadecimali di cui è composto

 

7 6 5  4 3  2 1  0 -> (si numera sempre da più significativa a meno significativa)
X X X X X X X X

 

lo xor fra le cifre 4 e 0 convertite in sistema binario ha per risultato il valore binario corrispondente al PRV, mentre lo xor fra le cifre 765 e 321 forniscono il valore binario del PSV.

 

Ancora un esempio, giusto per far chiarezza. Se il giocatore di cui sopra (TSV = 2258TRV = 7) ricomponesse un fossile di Galar avente PID = 458F C8AA, cosa avrebbe davanti?

 

458 => 0 1 0 0 0 1 0 1 1 0 0 0 xor
C8A => 1 1 0 0 1 0 0 0 1 0 1 0 =
=====> 1 0 0 0 1 1 0 1 0 0 1 0

 

che in decimale da un PSV = 2258, quindi un altro pokemon cromatico! Ma di che tipo?

 

F => 1 1 1 1  xor
A => 1 0 1 0 = 
===> 0 1 0 1 

 

che in esadecimale e in decimale da un PRV = 5, per cui cromatico sì, ma del tipo Star Shiny.

 

Per completezza, lo XOR originale effettuato dal gioco è infatti

 

TID xor SID xor PID31-16 xor PID15-0 , vale a dire

TID -------> 0 1 0 0 1 1 0 0 0 1 1 0 1 0 1 0
SID -------> 1 1 0 0 0 0 0 1 0 1 0 0 1 1 0 1
PID31-16 ====> 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1
PID15-0 ====>   1 1 0 0 1 0 0 0 1 0 1 0 1 0 1 0
                          0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
 che in decimale fa 2 

 

Probabilità di incontro selvatico / pesca di un pokemon cromatico

Spoiler

Iniziamo considerando gli incontri con i pokemon selvatici visibili nell’overworld delle terre selvagge e dei percorsi dei vari percorsi di Galar. È ormai un’informazione di cultura generale il fatto che ad ognuno degli stadi di una data famiglia evolutiva sia associato un contatore (Number battled) che tiene traccia di quanti esemplari ad esso appartenenti sono stati sconfitti e/o catturati dal giocatore durante la sua avventura. Questo contatore può sempre essere controllato tramite il pokedex ed è ormai appurato come il valore ad esso associato influenzi le probabilità di incontrare un esemplare di pokemon cromatico dello stadio della famiglia evolutiva cui esso fa riferimento. L’entità di questa influenza è tuttavia avvolta da un alone di mistero e disinformazione dovuto a quanto affermato pubblicamente dalle varie fonti (più o meno ufficiali).

 

Visionando quanto pubblicamente diffuso online alla data odierna (10-04-2021) dalle principali fonti che hanno trattato l’argomento è possibile osservare una discrepanza fra quanto affermato da ciascuna di esse e i numeri sperimentati dai giocatori fin dal rilascio dei giochi.

 

Uno dei siti ufficiali di The Pokemon Company riporta ad esempio quanto segue:

 

  • Number battled: 50+, questo pokemon ha una probabilità di 2x di essere incontrato cromatico, ovvero 2 ogni 4096 e quindi 1 ogni 2048
  • Number battled: 100+, questo pokemon ha una probabilità di 3x di essere incontrato cromatico, ovvero 3 ogni 4096 e quindi 1 ogni 1365.3
  • Number battled: 200+, questo pokemon ha una probabilità di 4x di essere incontrato cromatico, ovvero 4 ogni 4096 e quindi 1 ogni 1024
  • Number battled: 300+, questo pokemon ha una probabilità di 5x di essere incontrato cromatico, ovvero 5 ogni 4096 e quindi 1 ogni 819.2
  • Number battled: 500+, questo pokemon ha una probabilità di 6x di essere incontrato cromatico, ovvero 6 ogni 4096 e quindi 1 ogni 682.7

  

Il sito consiglia inoltre di aggiungere a questa meccanica il bonus dovuto al cromamuleto, che in base a quanto detto porterebbe a probabilità di 1 ogni 1024, 819.2, 682.7, 585.1 e 512, rispettivamente. In pratica la meccanica fornisce nel caso migliore quella probabilità con cui tutti vorremmo avere a che fare durante una shiny hunt.

 

Passando adesso ad un’altra rinomata fonte, ovvero Serebii, sempre alla data odierna nella relativa pagina viene riportata unicamente una tabella riassuntiva con i seguenti valori:

 

  • Number battled: 50+, Chance of Shiny Rate: 1.5%, No Shiny Charm Rate: 1 su 2048, Shiny Charm rate 1 su 1024
  • Number battled: 100+, Chance of Shiny Rate: 2%, No Shiny Charm Rate: 1 su 1365.3, Shiny Charm rate 1 su 819.2
  • Number battled: 200+, Chance of Shiny Rate: 2.5%, No Shiny Charm Rate: 1 su 1024, Shiny Charm rate 1 su 682.7
  • Number battled: 300+, Chance of Shiny Rate: 3%, No Shiny Charm Rate: 1 su 819.2, Shiny Charm rate 1 su 585.1
  • Number battled: 500+, Chance of Shiny Rate: 3%, No Shiny Charm Rate: 1 su 682.7, Shiny Charm rate 1 su 512

 

 

Ovvero le stesse probabilità affermate da The Pokemon Company, ma adesso appare un nuovo fattore chiamato “Chance of Shiny Rate”, traducibile come “Probabilità di ottenere il rapporto di incontro riportato di un pokemon cromatico”.

 

Per comprendere la natura di questo nuovo fattore che sembrerebbe essere a sua volta influenzato dal contatore Number battled è necessario scomodare quanto scoperto dai dataminer durante le prime settimane successive dal rilascio dei giochi, pubblicamente consultabile sui profili Twitter di @Kaphotics e @SciresM, le cui reputazioni parlano da sole, per cui mi limito solo a riportare i link di alcuni loro tweet rilevanti per l’argomento trattato:

 

Tweet #1

Spoiler

 

 

 

Tweets aggiuntivi

Spoiler

#2

 

#3

#4

 

#5

 

 

 

Dal Tweet #1 è possibile intuire come effettivamente funzioni il boost dovuto al numero di pokemon affrontati, mentre da quelli successivi si capisce invece come questo particolare funzionamento sia intenzionale e non un bug, per cui non è mai stato “risolto” con i successivi aggiornamenti. Banalmente perché era così che la meccanica era stata pensata e dunque non c’è nulla da risolvere.

 

Concentriamoci dunque sull’interpretazione di quanto riportato nella tabella presente nel Tweet #1, facendo tuttavia alcune premesse. Innanzitutto possiamo equiparare tranquillamente il fattore percentuale denominato “Chance for Extra Rerolls” a quello di “Chance of Shiny Rate” riportato su Serebii, sebbene questo sembrerebbe essere influenzato anche da un Chain Bonus oltre che dal Number Battled. Apparentemente le chance per gli extra rerolls sembravano infatti essere influenzate anche da una qualche tipo di catena effettuata sconfiggendo/catturando di seguito solo pokemon di una determinata specie, raggiungendo il bonus massimo dopo una catena di 25 incontri consecutivi. Preciso subito come questa influenza non abbia mai avuto una conferma in maniera assoluta e i valori stessi riportati in questa tabella non sono da considerarsi assoluti. Si tratta pur sempre dei primi dati diffusi dal datamine a pochi giorni dall’uscita dei giochi in fondo.

 

Quel che ci interessa al momento è il fattore mostrato come “Chance for Extra Rerolls”, per discutere il quale prendiamo in considerazione solamente la prima colonna e solamente l’andamento dei valori riportati rispetto all’ultima colonna riportante gli Extra Rolls, tenendo inoltre sempre presente quanto già esaminato nella prima parte riguardo la determinazione del fattore cromatico dai giochi Pokemon.

 

Come già visto, un pokemon risulta essere cromatico se, una volta “confrontato” il suo PID con i valori di TID e SID del giocatore, il risultato del confronto interpretato in base dieci risulta essere minore di un certo valore. Quando un pokemon viene dunque incontrato, ricevuto, o se ne riceve l’uovo, il gioco genera per esso il valore da assegnare al PID, e in mancanza di qualsiasi tipo di boost allo shiny rate questo succede una sola volta per ciascun pokemon incontrato, ricevuto o ricevuto come uovo (situazione in genere definita come full odds).

 

Fatta questa premessa, gli Extra Rerolls non sono altro che dei tentativi aggiuntivi fatti dal gioco nella speranza di ottenere un PID per il quale il pokemon in questione risulti essere cromatico.

 

Se quindi un giocatore ottenesse il cromamuleto e provasse a trovare un pokemon cromatico di una specie che non ha mai affrontato (Number Battled = 0), al momento dell’incontro col pokemon il gioco determinerebbe una prima volta un PID per esso e, nel caso in cui questo non sia valido per il fattore cromatico, farebbe altri due tentativi di generazione come bonus dovuto al cromamuleto, garantendo dunque al giocatore un totale di 3 roll del PID e una probabilità complessiva di 3 su 4096, ovvero 1 su 1365.3.

 

In sintesi, il cromamuleto garantisce al giocatore 2 Extra Rerolls del PID ed influisce su tutti gli incontri di pokemon selvatici (random o con modello overworld), su tutti gli static encounter non shiny locked (compresi i Regi e gli spadaccini leggendari nella Crown Tundra), su tutte le uova ottenute alle pensioni (ma occhio ad una delle ultime scoperte sulla meccanica di breeding) e anche sui fossili riassemblati.
Il cromamuleto NON influisce invece sui pokemon incontrabili nei raid dynamax, mentre ha una meccanica “particolare” nelle avventure dynamax.

 

Veniamo però adesso al punto cruciale del discorso: quando e quanti Extra Rerolls si hanno grazie al contatore Number Battled? Mettendo insieme i pezzi tocca fronteggiare una triste verità purtroppo.

 

Con l’aiuto dei vari tweets presi in esame e interpretando correttamente quanto riportato da Serebii, anche nel migliore dei casi le probabilità non sono infatti favorevoli, dal momento che si può godere dei 6 Extra Rerolls del PID solo con una probabilità del 3% e non SEMPRE come lasciato intendere da The Pokemon Company. Per intenderci e senza rendere inizialmente troppo tecnico il discorso, presi a campione 100 incontri casuali di un pokemon selvatico che soddisfi i requisiti per il Number Battled di 500+, avremo allora che:

 

  • In 3 casi su 100 godremo del bonus dei 6 Extra Rerolls e le probabilità di incontrare un pokemon cromatico saranno quelle riportate di 1 su 682.7 senza cromamuleto e 1 su 512 con il cromamuleto
  • In 97 casi su 100 godremo invece del solo bonus dovuto al cromamuleto, qualora lo si abbia, ovvero 1 su 1365.6, oppure 1 su 4096 nel caso in cui non lo si abbia

   

Alla luce di quanto detto è quindi finalmente possibile rispondere alle domande definitive:

 

Chi ha ragione?

Letteralmente tutti, solo che mentre The Pokemon Company riporta solo una parziale verità, ovvero di quanto può aumentare lo shiny rate, e Serebii aggiunge qualcosa che ne rende possibile l’interpretazione, ovvero con che probabilità lo shiny rate possa aumentare e di quanto, i data miner ve la fanno fronteggiare nuda e cruda, fornendo i dati per poter calcolare l’effettiva probabilità di apparizione di un pokemon cromatico.

 

Qual è la probabilità di incontrare un pokemon cromatico in ottava generazione?

Mettendo matematicamente insieme i pezzi possiamo allora dire che, qualora si possegga il cromamuleto, per ogni incontro con un pokemon selvatico per il quale il contatore Number Battled segni un valore maggiore o uguale a 500, nella speranza di innescare un incontro con un pokemon cromatico il gioco proverà a generare:

 

  • 1 PID iniziale, necessariamente garantito dalle meccaniche di gioco
  • 2 PID, dovuti al bonus garantito dal cromamuleto
  • Un numero casuale compreso fra 1 e 100 e qualora questo numero casuale fosse minore o uguale a 3, verrebbero generati altri 6 PID, come possibili bonus derivanti dal contatore Number Battled

 

Dal momento che ogni PID ha una probabilità di 1 su 4096 di risultare valido per un pokemon cromatico, dunque:

 

P = (1 / 4096) + (2 / 4096) + (3 / 100)*(6 / 4096) 1 / 1288

 

Quindi la probabilità empirica di trovare un pokemon cromatico sotto le condizioni elencate risulta essere pari a circa 1 caso ogni 1288 incontri, valore molto più affine a quelli da sempre sperimentati dagli shiny hunters rispetto a quelli dichiarati dai canali ufficiali.

 

Tenere ben presente come questa probabilità e l’influenza del contatore Number Battled sono validi esclusivamente per i pokemon selvatici incontrati, mentre non ha alcuna influenza sulle uova, sui pokemon non shiny locked affrontabili tramite static encounter (come i Regi nella Crown Tundra) e sui pokemon incontrabili in Raid e Avventure Dynamax.

 

Nota di chiusura

Importante aggiungere come non si trovino fonti pubbliche e certe che confermino l’influenza di una qualche forma di chain sulle probabilità di apparizione di un pokemon cromatico, ma anche quando i valori riportati dalla tabella del Tweet 1 fossero effettivi, nel migliore dei casi la probabilità sarebbe allora:

 

P = (1 / 4096) + (2 / 4096) + (33 / 100)*(6 / 4096) 1 / 822

 

Comunque ben lontani dai valori dichiarati dai canali ufficiali, i quali non dichiarano fra l’altro l’esistenza di alcun tipo di chain per i pokemon cromatici.

 

Molto probabilmente la chain menzionata è quella legata all’apparizione dei cosiddetti brilliant pokemon, ovvero i pokemon che appaiono in overworld circondati da un’aura particolare. Qualora questi garantissero sempre gli Extra Rerolls bonus dovuti al Number Battled, dopo aver correttamente costruito una chain per essi e continuando ad incontrare esclusivamente questi si godrebbe effettivamente delle probabilità citate da The Pokemon Company, ma questa è solo una speculazione priva di basi al momento.

 

Meccanica di generazione di un uovo cromatico

Spoiler

Essendo noto come il gioco determini la comparsa di un pokemon cromatico sarebbe allora lecito domandarsi se fosse possibile sfruttare questa conoscenza per trovarli più facilmente.

 

In settima generazione avevamo ad esempio il “TSV Abuse”,

Spoiler

In Pokemon UltraSole e UltraLuna c’eravamo ormai abituati ad avere delle certezze. La meccanica del breeding voleva che ciascun pokemon schiuso da un uovo potesse essere cromatico per il giocatore che lo otteneva, oppure non esserlo naturalmente. Tuttavia anche in quest’ultimo caso c’erano ancora delle speranze. Se questi fosse riuscito a scambiare l’uovo in questione con un giocatore il cui TSV corrispondesse all’ESV dell’uovo, per quest’ultimo il pokemon schiuso da esso sarebbe stato cromatico.
La caratteristica cromatica per le uova in settima generazione era dunque una caratteristica flottante dal momento che veniva determinata non in funzione di chi ottenesse un uovo, bensì in funzione di chi lo schiudesse.

 

ma questa meccanica è ancora valida in ottava generazione?

No. 

 

Andando direttamente al punto senza perderci troppo nelle meccaniche è ormai assodato come la caratteristica cromatica venga ad un certo momento fissata una volta per tutte per ciascun uovo. Un uovo che risulti dunque schiudersi come cromatico per il giocatore che lo ottiene, schiuderà sempre come tale anche se scambiato a qualcun altro, quale che sia il TSV di quest’ultimo. Allo stesso modo, un uovo che non risulti cromatico per il giocatore che lo ottiene, non potrà mai esserlo per nessun altro giocatore, quale che siano i rispettivi TSV.

 

Sebbene quanto visto risulti certamente scoraggiante in termini di facilità dell’ottenimento in proprio di pokemon cromatici, porta comunque ad indubbi vantaggi collezionistici. Se infatti prima era necessario farmare volta per volta un uovo con un TSV specifico per ottenere un pokemon cromatico che riportasse il proprio AO e ID sopra di esso, adesso basterà invece trovare un giocatore che abbia già ottenuto un determinato uovo cromatico e proporre uno scambio.

 

Probabilità di ottenimento

A differenza di quanto visto nel caso degli incontri selvatici, le probabilità di ottenimento di un pokemon cromatico tramite breeding sono ben più rosee, sebbene anche queste nel tempo hanno riservato qualche inattesa sorpresa.

 

Esattamente come nel caso degli incontri selvatici, anche per il breeding il gioco prova a generare uno o più PID per ciascun uovo in funzione degli Extra Rerolls bonus eventualmente garantiti da due fattori: cromamuleto e metodo Masuda. In particolare, teoricamente, il gioco dovrebbe generare:

 

  • 1 PID, sempre generato dal gioco come probabilità base
  • 2 PID, garantiti nel caso in cui si possieda il cromamuleto
  • 6 PID, garantiti nel caso in cui si stia utilizzando il metodo Masuda

 

Tuttavia, come notato successivamente da @SciresM e diffuso in questo tweet

Spoiler

 

 

 

Per quanto questo possa sembrare un bug dal punto di vista della programmazione, è mia opinione personale che non lo sia, in quanto avere un numero totale di rolls del PID pari a 8 porta ad una probabilità pari a

 

P = (2 / 4096) + (6 / 4096) = (1 / 512) 

 

E l’ottenimento di un uovo cromatico con una probabilità di uno ogni 512 è quella che ci si aspetterebbe dall’unione di cromamuleto e metodo Masuda, sebbene in fondo un roll aggiuntivo non sarebbe dispiaciuto a nessuno.

 

Abbiamo detto niente TSV, ma l’egg RNG?

Già una settimana dopo l'uscita dei giochi, venivano annunciati i risultati dal datamine in termini di RNG da u/aligatueur, u/admiral_fish, u/zaksabeast e altri utenti internazionale cui si deve la scoperta dell'egg rng di settima generazione e la divulgazione degli strumenti per predirlo.


In base a quanto scoperto da loro, l'evoluzione degli egg seeds in questa generazione risulta essere impossibile da prevedere (e impossibile non è una mia esagerazione, hanno proprio detto così). 

 

Cito u/admiral_fish nello specifico:

 

"The RNG for egg generation is xoroshiro128+. The very short details of this RNG is that it keeps an internal state of 2 64bit numbers. The 2nd number is a constant number of 0x82A2B175229D6A5B. The 1st number is a little more interesting.

The generation of the 1st number can be found in sub_710134AA70. This is the function that checks if the daycare lady should be holding an egg. The part that makes it so this value can't be RNGed is at .text:710134AC30. This is where is makes a call to nn::crypto::GenerateCryptographicallyRandomBytes. For those that don't understand what this means, basically the 1st value is created by a cryptographically secure generator that is essentially impossible to manipulate or predict."

 

Traducendo e semplificando, le caratteristiche di ogni uovo sono determinate quando lo si accetta effettivamente dall'npc della pensione. Quando ciò avviene il gioco utilizza due valori a 64bit che mantiene come stato precedente per determinare lo stato successivo, e questi due valori diventano dunque l'egg seed dell'uovo che si ottiene.
Mentre ad esempio in settima generazione (dove i valori erano quattro, ma a 32 bit) l'egg seed precedente e quello successivo erano legati in maniera prevedibile in funzione dell'accettazione o rifiuto di un uovo, adesso in ottava generazione non sussiste più questa prevedibilità. 


Nella parte citata e messa in grassetto risiede il motivo di ciò. L'egg seed successivo è impossibile da manipolare o prevedere in quanto ottenuto da quello precedente applicando (anche) un generatore pseudocasuale crittograficamente sicuro. 

 

Dunque in sintesi, il valore dell'egg seed prima di premere A per accettare un uovo è relativo all'uovo precedentemente ottenuto e viene utilizzato in maniera imprevedibile per calcolare il valore dell'egg seed successivo nel momento dell'accettazione o rifiuto di un nuovo uovo, determinando nel primo caso anche tutte le sue caratteristiche.

Non essendo possibile "rompere" un generatore crittograficamente sicuro (per definizione proprio) non si potrà mai avere un egg RNG in ottava generazione purtroppo.

 

Ed è proprio un MAI, anche in questo caso non detto da me. È infatti u/aligatueur a scrivere: 

 

"We started to look at egg RNG. The thought it'd be the easier in some way and the one most wanted. We had a good start with some interesting thing. But the game won this round because of a cryptographically secure generator. Because of that, we'll not be able to do anything.

You can find the documentation from Admiral Fish about this here.

Conclusion : Egg RNG will not be a thing on SwSh.and no, there's no solution for that."

 

Cioè il team che ci ha fornito il raid RNG in questa gen e che ci ha fornito le altre forme di Rng nelle altre generazioni, ha ormai da tempo rinunciato all’Egg RNG poiché come dice nelle parti in grassetto, non c'è soluzione è non ci sarà egg rng in questa generazione.

Non perché il problema sia difficile da affrontare, ma perché semplicemente non esiste un modo per farlo. È come se poco prima che tu prenda un uovo alla pensione il gioco estraesse un numero realmente a caso e sempre diverso (poiché imprevedibile per via del generatore crittograficamente sicuro) fra 0 e 2^64 (più di 18 miliardi di miliardi) e lo utilizzasse per modificare il seed tramite una serie di operazioni che conosciamo dal datamine. 

 

Come detto, per avere un reale RNG servirebbe un modo per rompere il generatore e poter dunque determinare in base ad azioni arbitrarie come il seed stesso evolverebbe nel tempo, così da poter predire i valori delle uova...

.. ma "crittograficamente sicuro" non è un modo strano per definire qualcosa di troppo complicato. Per essere definito tale, il generatore deve prima passare vari test di prevedibilità sulla distribuzione dei bit del valore che crea, sulla loro moda e su tante altre caratteristiche che non rispecchiano la definizione di "sicuro".

 

Interpretare correttamente i valori di probabilità

Spoiler

Ho schiuso 1000 uova con cromamuleto e metodo Masuda senza mai ottenere un pokemon cromatico, cosa sto sbagliando? La risposta a domande di questo tipo è “probabilmente nulla”, se non, al massimo, ad applicare il concetto stesso di probabilità.

In caso di breeding, ad esempio, abbiamo visto come avendo il cromamuleto e utilizzando il metodo Masuda la probabilità di ottenere un pokemon cromatico sia di 1 ogni 512, ma questo non significa di certo che ottenendo 512 uova, uno di questi sia garantito cromatico al 100%. Ogni uovo preso singolarmente ha una probabilità di 1 su 512 di schiudere come pokemon cromatico, ma il gioco non tiene conto né di quanti ne schiudiate di seguito senza trovarlo, né del fatto che continuiate senza mai chiudere il gioco o spegnere la console, né del fatto che prendiate pause anche di mesi interi.

 

Scendere troppo nello spiegare concetti superflui, chiarisco la situazione con un esempio di immediata comprensione. Vedetela in questo modo: immaginare di ottenere con certezza almeno un pokemon cromatico ogni 512 uova collezionate sarebbe come pretendere che lanciando in aria per due volte una stessa moneta almeno uno dei due lanci sia testa. Ma è chiaro a tutti che può benissimo uscire due volte croce.

 

La probabilità che un evento occorra ALMENO UNA VOLTA dopo N tentativi è pari 1 meno la probabilità che lo stesso evento NON SI VERIFICHI MAI, per cui, nel caso del breeding, la probabilità di ottenere un uovo cromatico in funzione del numero N di uova collezionate è calcolabile come

 

P = 1 - (511 / 512)^N

 

Ovvero, per i rispettivi valori di N si avranno le seguenti probabilità

N

50

100

250

500

512

1000

1500

2000

2500

3000

4000

4096

P

9.31%

17.76%

38.66%

62.38%

63.25%

85.84%

94.67%

98.00%

99.25%

99.72%

99.96%

99.97%

 

Nel migliore dei casi per i pokemon selvatici, nel migliore dei casi presi in esame, avremo invece

 

P = 1 - (1287 / 1288)^N

 

Ovvero

N

50

100

250

500

1000

1288

1500

2000

2500

3000

4000

4096

P

3.81%

7.47%

17.65%

32.18%

54.01%

63.23%

68.81%

78.85%

85.65%

90.27%

95.53%

95.85%

 

 

Differenze di rarità fra Star Shiny e Square Shiny

Spoiler

 Per quanto detto discutendo la meccanica di determinazione dei pokemon cromatici da parte dei giochi, matematicamente parlando, ci si aspetterebbe che il rapporto di comparsa fra Star Shiny e Square Shiny fosse di 15 a 1, dal momento che data l’operazione di XOR fra TRV e PRV, se il risultato è compreso fra 1 e 15 si avrà uno Star Shiny, mentre uno Square Shiny si ha soltanto quando il risultato è esattamente uguale a 0. Tuttavia gli Square Shiny non sembrano essere poi così rari, per cui adesso le ragioni.

Innanzitutto possiamo dire che il rapporto di comparsa fra le due tipologie è esattamente quello atteso nei seguenti casi:

 

  • Breeding di uova, con e senza cromamuleto e/o metodo masuda
  • Revitalizzazione di fossili, con e senza cromamuleto
  • Static encounter di pokemon NON shiny locked, con e senza cromamuleto
  • Raid Dynamax

 

È invece confermato come tutti i pokemon cromatici ottenibili tramite Avventure Dynamax, leggendari inclusi, siano forzatamente del tipo Star Shiny, con il risultato dello XOR fra TRV e PRV costruito ad hoc per essere sempre uguale a 1. Per completezza, la probabilità che un pokemon qualsiasi di quelli catturabili tramite Avventura Dynamax risulti essere cromatico è stata fissata a 1 ogni 300, scendendo ulteriormente a 1 ogni 100 nel caso in cui si possegga il cromamuleto. Volendo vederla da un altro punto di vista, e considerando che per ogni avventura dynamax possono essere catturati fino a 4 pokemon (leggendario compreso), la probabilità di ottenere un pokemon cromatico qualsiasi da un’avventura dynamax è pari a 1 ogni 75 avventure dynamax, senza cromamuleto, 1 ogni 25 con il cromamuleto.

 

Per quanto riguarda tuttavia i Raid Dynamax, bisogna tener conto del fatto che per questi esiste una possibilità di RNG abbastanza comoda per tutti i giocatori, che tramite reroll dei seed di una tana dynamax e opportuno date skip permette di ottenere frame per raid di pokemon shiny di entrambe le tipologie, per cui la diffusione di pokemon Square Shiny proveniente da raid dynamax è ben più alta di quanto ci si aspetterebbe.

 

Concludiamo invece discutendo il caso dei pokemon catturati tramite incontro selvatico con e/o senza spawn in overworld. Qui le cose si complicano, si ribaltano e tornano a richiedere l’influenza dei data miner, dato che dai canali ufficiali non sembra mai esser stata fornita alcuna informazione.

Come riportato in questo tweet

Spoiler

 

Questa “fortunata” caratteristica delle meccaniche di gioco porta quindi a considerare statisticamente più rari gli Star Shiny provenienti da incontri selvatici rispetto agli Square Shiny e per ciascun incontro selvatico si avranno le seguenti distribuzioni di probabilità:

 

  • 1 caso su 65536, incontro con un pokemon Square Shiny “nativo”
  • 15 casi su 65536, incontro con un pokemon Star Shiny “nativo”
  • 65520 casi su 65536, incontro con un pokemon non cromatico o forzatamente Square Shiny a causa degli eventuali Extra Rerolls dovuti a cromamuleto e contatore Number Battled

 

Resta dunque la possibilità teorica che un pokemon da incontro selvatico risulti essere del tipo Star Shiny, sebbene ad oggi non me ne sia capitato di vederne neanche uno che avesse una provenienza inconfutabilmente legittima.

 

 

 

Qualche utile info aggiuntiva!

 

Pokemon cromatici ottenuti nelle generazioni precedenti e trasferito con pokemon Home

Spoiler

Possono essere di entrambi i tipi e la determinazione avviene sulla base degli stessi calcoli visti, il che significa che anche clonando un pokemon in generazioni precedenti e trasferendolo più volte si otterrà sempre lo stesso tipo di shiny.

In termini di probabilità quindi ne avremo probabilmente 15/16 Stars mentre 1/16 Squares.

Un esempio? Io ho 5 differenti Tipo Zero shiny self obtained, uno per ciascuna delle lingue europee (le asiatiche dovranno aspettare per adesso, perché poi sono usciti spada e scudo). Ebbene, di questi solo l'ITA, curiosamente, s'è rivelato essere Squares, mentre gli altri sono tutti Stars.

 

Pokemon cromatici ottenuti da virtual console

Spoiler

Questi saranno SEMPRE di tipo Square, questo perché ai tempi della seconda generazione, quella che ha effettivamente introdotto i nostri amati shiny, la probabilità di ottenerne uno, Gyarados arrabbiati a parte, era proprio di uno ogni 8192. A quanto pare da gamefreak hanno pensato bene di omaggiare questa loro caratteristica premiandoli in questo modo, o più probabilmente in fase di trasferimento alla banca pokemon i dati dei pokemon shiny vengono convertiti al formato della settima generazione in modo da rendere perfettamente nullo il valore dello XOR fra PID e TrainerID, magari questo è quanto succede effettivamente, ma è molto meno poetico 

Ed è una cosa certa? La risposta è “Sì”. Di fatto non si trova nulla in proposito in giro, probabilmente perché non importa a nessuno delle virtual console.
Quel che ho sperimentato io è che tutti quelli che ho ottenuto in Cristallo e ho potuto portare su SwSh (Pichu, Togepi, Tyrogue, Gyarados, Celebi e Suicune) si sono rivelati tutti essere Shiny Squares.

Allo stesso modo lo erano anche quei pochi che ho potuto trasferire e che erano stati ottenuti da altri utenti. Ok, non può essere una certezza, ma per quanti tentativi ho fatto è almeno una probabilità decisamente alta.

 

Shiny ottenuti tramite evento nelle generazioni precedenti

Spoiler

Questi shiny per la nostra felicità sono costruiti ad hoc in modo da presentare uno XOR fra PID e TrainerID perfettamente nullo e dunque essere tutti Square Shiny una volta passati nei giochi di ottava generazione.
Al momento tutti i leggendari di settima trasferibili (Solgaleo, Lunala e Necrozma) di tutti gli eventi in giro per il mondo si sono confermati essere Squares, così come altri eventi Shiny di settima. Ho trasferito anche alcuni eventi di sesta gen (10134 OCT2014 Gengar, 04015 SPRING 2015 Charizard, e altri che non ricordo) tutti Squares.

Ho invece ottenuto risultati misti con i pochi eventi di quarta e quinta gen che ho trasferito, ma ho fatto veramente poche prove con questi, quindi non posso ancora pronunciarmi al riguardo.

 

UPDATE sull'RNG delle vecchie generazioni!

Spoiler

Il 3DSRNGTOOL si aggiorna adesso per permettervi lo shiny hunting anche degli Square Shinies!

 

Ecco la sintesi descrittiva dell'ultima release rilasciata da wwwwwwzx:

 

"Initial support for RNGing square shiny in Gen 8

A Pokemon is square shiny if TSV = PSV (shiny) and TRV = PRV

Definition of TRV (Trainer Residual Value, or you can call it TSSV: Trainer square shiny value)

TRV is the last 4 bits of TID xor SID, a value between 0 and 15 and it can be presented in a one-digit hex number

TRV = (TID ^ SID) & 0xF

TID ^ SID = (TSV << 4) | TRV. TRV is independant of TSV"

 

In pratica vengono ufficializzati nomi per tutto ciò che abbiamo già introdotto, ovvero il TRV e il PRV, dalla cui perfetta uguaglianza deriverebbe appunto l'ottenimento di uno shiny che secondo le meccaniche di ottava generazione risulterebbe essere Shiny Square.

Adesso abbiamo dunque un modo per sapere in anticipo nelle vecchie generazioni che tipo di shiny avremo davanti e questo vale per tutte le categorie di hunting.

wwwwwwzx anticipava inoltre come l'NTR Helper permetterà ai giocatori di conoscere il proprio TRV, da inserire adesso in alto a destra nella schermata del 3DSRNGTOOL, subito dopo il proprio TSV, ma c'è speranza anche per chi non avesse un 3DS moddato. 

Non è una strada semplice, ma tramite breeding di shiny trasferibili nei giochi di ottava generazione, tenendo traccia dei loro PRV, vi sarà possibile capire quali di questi risulterà essere uno Square Shiny, venendo dunque a conoscenza indirettamente del vostro TRV. Certamente è un processo più lungo, ma se avete sempre tenuto traccia degli Egg Seed delle vostre hunt passate, con un po' di fortuna, qualcuno di questi potrebbe rivelarsi uno Square Shiny, rendendo immediato l'intero processo (io ho fatto così).

 

 

Modificato da SliceOfLife
Link al messaggio
Condividi su altre piattaforme

Eccezzziunale... veramente!!

Citazioni a parte, giuste le raccomandazioni. E' sempre bene diffidare da gente losca (e qui mi fermo, gli screen parlano) ^^ 

 

Per il resto.. ne approfitto per chiedere conferma: 

 

al momento non è possibile entrare in possesso del TSV autonomamente, giusto? 

Link al messaggio
Condividi su altre piattaforme
2 minuti fa, Dani. ha scritto:

Eccezzziunale... veramente!!

Citazioni a parte, giuste le raccomandazioni. E' sempre bene diffidare da gente losca (e qui mi fermo, gli screen parlano) ^^ 

 

Per il resto.. ne approfitto per chiedere conferma: 

 

al momento non è possibile entrare in possesso del TSV autonomamente, giusto? 

@Dani. No, ma non credo che sarà mai possibile ottenere il TSV con metodi simili a quello delle posizioni del clock di settima gen. Sembra abbiano imparato molto dai vecchi giochi e adesso tali valori vengono determinati a inizio partita con schermate totalmente neutre. L'unico modo restano gli strumenti di terze parti.

C'è da dire comunque che conoscere il proprio TSV sembrerebbe abbastanza inutile a questo punto visto che un uovo scambiato non lo prende neanche in considerazione.

 

Un'altra cosa. Il fatto che il lock shiny sia determinato all'ottenimento o al primo scambio non è una particolarità da poco. Nel secondo caso, con mezzi non legittimi si potrebbe indurre nei giochi qualcosa di simile al TSV, ma preferisco non sbilanciarmi al momento, almeno finché non capisca quale delle due ipotesi sia effettiva.

Link al messaggio
Condividi su altre piattaforme
2 minuti fa, SliceOfLife ha scritto:

@Dani. No, ma non credo che sarà mai possibile ottenere il TSV con metodi simili a quello delle posizioni del clock di settima gen. Sembra abbiano imparato molto dai vecchi giochi e adesso tali valori vengono determinati a inizio partita con schermate totalmente neutre. L'unico modo restano gli strumenti di terze parti.

C'è da dire comunque che conoscere il proprio TSV sembrerebbe abbastanza inutile a questo punto visto che un uovo scambiato non lo prende neanche in considerazione.

 

Un'altra cosa. Il fatto che il lock shiny sia determinato all'ottenimento o al primo scambio non è una particolarità da poco. Nel secondo caso, con mezzi non legittimi si potrebbe indurre nei giochi qualcosa di simile al TSV, ma preferisco non sbilanciarmi al momento, almeno finché non capisca quale delle due ipotesi sia effettiva.

 

Sisi, non è per questo. Anzi, a me dei cromatici interessa meno di zero, sinceramente. Era solo per conferma, rientra nelle "curiosità personali" :3 

Modificato da Dani.
Link al messaggio
Condividi su altre piattaforme
1 minuto fa, Rockink ha scritto:

Non so come tu abbia fatto a scoprire questa cosa, ma è assolutamente fantastico. Ora la domanda è: come faccio a calcolare quei due valori? qwq

@Rockink come detto, in ottava generazione non è possibile farlo senza ricorrere a mezzi esterni, ma ripeto che è comunque inutile conoscerli, non potendo fare alcun tipo di rng sulle uova ed essendo morto e sepolto il tsv Abuse, sapere che il tuo TsV sia 1234, 2314 o che so è indifferente. Si tratta di qualcosa che non può essere sfruttato in alcun modo :(

 

Link al messaggio
Condividi su altre piattaforme
2 ore fa, gameplayer ha scritto:

 

Una scoperta incredibile. Grazie a nome di tutta la community :smile2:

Ma io lo volevo ringraziare da sola...:linguaccia:

by Freedomimage.png     IMG-1534.jpg   image.pngby Freedom

 

UO6Zx6H.png

 

IMG-1535.png

 

IMG-1537.jpg

 

 

 

Link al messaggio
Condividi su altre piattaforme

Ho iniziato a interessarmi all'RNG abuse di qualsiasi generazione da poco, quindi seguo con gusto questa discussione. 

Avendo fatto rng sulle uova di USUM (ho ancora gli incubi dei 127 magikarp) sono super curiosa di sapere come funziona in spada e scudo, spero possiamo scoprire di più!! Grazie per questa super scoperta :cool:

Link al messaggio
Condividi su altre piattaforme
7 ore fa, Sharaya ha scritto:

Ho iniziato a interessarmi all'RNG abuse di qualsiasi generazione da poco, quindi seguo con gusto questa discussione. 

Avendo fatto rng sulle uova di USUM (ho ancora gli incubi dei 127 magikarp) sono super curiosa di sapere come funziona in spada e scudo, spero possiamo scoprire di più!! Grazie per questa super scoperta :cool:

@Sharaya Sotto una spiegazione relativamente semplificata di "come" xD

 

5 ore fa, Glaceon9409 ha scritto:

Tanto a breve l'RNG sarà broken e da allora questa tecnica non durerà molto. Come è stato nella VII generazione con l'avvento dell' abusing.

@Glaceon9409

 

Andiamo un po' off-topic, ma se con "broken" intendi che uscirà un modo per fare RNG sulle uova, ho pessime notizie da darti allora.
Già una settimana dopo l'uscita dei giochi, venivano annunciati i risultati dal datamine in termini di RNG da aligatueur, admiral_fish, zaksabeast e altri personaggi cui dobbiamo la scoperta dell'egg rng di settima generazione e la divulgazione degli strumenti per predirlo.
Da quanto scoperto da loro, l'evoluzione degli egg seeds in questa generazione risulta essere impossibile da prevedere (e impossibile non è una mia esagerazione, hanno proprio detto così). 

 

Cito admiral_fish nello specifico:

"The RNG for egg generation is xoroshiro128+. The very short details of this RNG is that it keeps an internal state of 2 64bit numbers. The 2nd number is a constant number of 0x82A2B175229D6A5B. The 1st number is a little more interesting.

The generation of the 1st number can be found in sub_710134AA70. This is the function that checks if the daycare lady should be holding an egg. The part that makes it so this value can't be RNGed is at .text:710134AC30. This is where is makes a call to nn::crypto::GenerateCryptographicallyRandomBytes. For those that don't understand what this means, basically the 1st value is created by a cryptographically secure generator that is essentially impossible to manipulate or predict."

 

Traducendo e semplificando, le caratteristiche di ogni uovo sono determinate quando lo si accetta effettivamente dall'npc della pensione. Quando ciò avviene il gioco utilizza due valori a 64bit che mantiene come stato precedente per determinare lo stato successivo, e questi due valori diventano dunque l'egg seed dell'uovo che si ottiene.
Mentre ad esempio in settima generazione (dove i valori erano quattro, ma a 32 bit) l'egg seed precedente e quello successivo erano legati in maniera prevedibile in funzione dell'accettazione o rifiuto di un uovo, adesso in ottava generazione non sussiste più questa prevedibilità. 
Nella parte citata e messa in grassetto risiede il motivo di ciò. L'egg seed successivo è impossibile da manipolare o prevedere in quanto ottenuto da quello precedente applicando (anche) un generatore pseudocasuale crittograficamente sicuro. 

 

Dunque in sintesi, il valore dell'egg seed prima di premere A per accettare un uovo è relativo all'uovo precedentemente ottenuto e viene utilizzato in maniera imprevedibile per calcolare il valore dell'egg seed successivo nel momento dell'accettazione o rifiuto di un nuovo uovo, determinando nel primo caso anche tutte le sue caratteristiche.

Non essendo possibile "rompere" un generatore crittograficamente sicuro (per definizione proprio) non si potrà mai avere un egg RNG in ottava generazione purtroppo. :(

 

Link al messaggio
Condividi su altre piattaforme
3 ore fa, SliceOfLife ha scritto:

@Sharaya Sotto una spiegazione relativamente semplificata di "come" xD

 

@Glaceon9409

 

Andiamo un po' off-topic, ma se con "broken" intendi che uscirà un modo per fare RNG sulle uova, ho pessime notizie da darti allora.
Già una settimana dopo l'uscita dei giochi, venivano annunciati i risultati dal datamine in termini di RNG da aligatueur, admiral_fish, zaksabeast e altri personaggi cui dobbiamo la scoperta dell'egg rng di settima generazione e la divulgazione degli strumenti per predirlo.
Da quanto scoperto da loro, l'evoluzione degli egg seeds in questa generazione risulta essere impossibile da prevedere (e impossibile non è una mia esagerazione, hanno proprio detto così). 

 

Cito admiral_fish nello specifico:

"The RNG for egg generation is xoroshiro128+. The very short details of this RNG is that it keeps an internal state of 2 64bit numbers. The 2nd number is a constant number of 0x82A2B175229D6A5B. The 1st number is a little more interesting.

The generation of the 1st number can be found in sub_710134AA70. This is the function that checks if the daycare lady should be holding an egg. The part that makes it so this value can't be RNGed is at .text:710134AC30. This is where is makes a call to nn::crypto::GenerateCryptographicallyRandomBytes. For those that don't understand what this means, basically the 1st value is created by a cryptographically secure generator that is essentially impossible to manipulate or predict."

 

Traducendo e semplificando, le caratteristiche di ogni uovo sono determinate quando lo si accetta effettivamente dall'npc della pensione. Quando ciò avviene il gioco utilizza due valori a 64bit che mantiene come stato precedente per determinare lo stato successivo, e questi due valori diventano dunque l'egg seed dell'uovo che si ottiene.
Mentre ad esempio in settima generazione (dove i valori erano quattro, ma a 32 bit) l'egg seed precedente e quello successivo erano legati in maniera prevedibile in funzione dell'accettazione o rifiuto di un uovo, adesso in ottava generazione non sussiste più questa prevedibilità. 
Nella parte citata e messa in grassetto risiede il motivo di ciò. L'egg seed successivo è impossibile da manipolare o prevedere in quanto ottenuto da quello precedente applicando (anche) un generatore pseudocasuale crittograficamente sicuro. 

 

Dunque in sintesi, il valore dell'egg seed prima di premere A per accettare un uovo è relativo all'uovo precedentemente ottenuto e viene utilizzato in maniera imprevedibile per calcolare il valore dell'egg seed successivo nel momento dell'accettazione o rifiuto di un nuovo uovo, determinando nel primo caso anche tutte le sue caratteristiche.

Non essendo possibile "rompere" un generatore crittograficamente sicuro (per definizione proprio) non si potrà mai avere un egg RNG in ottava generazione purtroppo. :(

 

 

 

Per adesso. Anche su XY non era possibile, ma poi lo è diventato. E credo proprio che anche qui avremo lo stesso risultato, non subito ma si avrà. E che dire delle generazioni prima con le vecchie tecnologie che sono comunque venuti incontro a tale risultato?

 

 

Ma per adesso, è meglio tenerci questa tecnica, che la reputo più onesta dell'RNG.

Link al messaggio
Condividi su altre piattaforme