Vai al commento


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


SliceOfLife

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 commento
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 commento
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 commento
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 commento
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 commento
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:

Sprite by Alemat                                                                                 Sprites by Freedom                                                                         

RoseRed-Malefica       Rosered.png.f29b5bcbb0ca41d1b98cbbd7a3b2406e.png    IMG-1534.jpg   image.pngxkKdcYU.png4h66HLf.pngkKF7Xik.pngYAFEBYe.pngimage.png

 

UO6Zx6H.png

 

IMG-1535.png

 

IMG-2288.jpg

 

IMG-1537.jpg

 

 

 

Link al commento
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 commento
Condividi su altre piattaforme

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.

Link al commento
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 commento
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 commento
Condividi su altre piattaforme

30 minuti fa, Glaceon9409 ha scritto:

 

 

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.

@Glaceon9409 guarda, non è mia intenzione provare a disilluderti, anche perché non è neanche il motivo di questo topic, sebbene sia strettamente correlato.

Se cerchi u/aligatueur su reddit troverai il post in cui rinunciano a sprecare tempo sull'egg rng, perché come scrive lui stesso: 

 

"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, ci ha rinunciato ormai 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 ho 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".

Stiamo parlando di roba che sta dentro una console qui, ma è la stessa roba che ti garantisce la sicurezza di un bancomat.

Link al commento
Condividi su altre piattaforme

On 12/2/2020 at 14:23, SliceOfLife ha scritto:

Parte 1

 

  Apri contenuto nascosto

Ciao a tutti! :D

 

Poco dopo l'uscita di Pokémon Spada e Scudo si è presto diffusa una notizia abbastanza sconvolgente.
A quanto pare nei nuovi giochi di ottava generazione la meccanica del breeding è stata pesantemente modificata, per cui si sono adesso perse tutte quelle vantaggiose meccaniche come il Magikarp Swap, l'Egg RNG.. e anche il TSV abuse!

 

Per chi non si fosse mai approcciato a quest'ultima meccanica, lascio una veloce spiegazione semplificata.

 

In tutte le generazioni, ad inizio partita vengono stabiliti una serie di valori per il giocatore, alcuni pubblici e visibili come l'ID, mentre altri nascosti come il TSV (Trainer Shiny Value). Questo valore viene utilizzato per determinare la caratteristica cromatica di un qualsiasi Pokémon incontrato, allevato o ricevuto in dono, fatta eccezione di tutti gli eventi in game Shiny locked. Ad esempio, nel caso di un incontro con un Pokémon selvatico il cui PSV (Pokémon Shiny Value) "corrispondente" al TSV del giocatore, il Pokémon incontrato sarebbe stato Shiny.
Fino alla settima generazione, ciascun uovo ottenuto dalla pensione era caratterizzato dunque da un valore numerico detto ESV (Egg Shiny Value) che, se al momento della schiusa questo si fosse rivelato corrispondere al TSV del giocatore che lo schiudeva, avrebbe determinato l'ottenimento di una versione cromatica. Ciò significava dunque che conoscendo questi due valori si poteva sapere prima ancora della schiusa se ciò che si sarebbe ottenuto sarebbe stato Shiny oppure no. Inoltre, se si fosse trovato un altro giocatore il cui TSV corrispondesse all'ESV dell'uovo in questione, scambiandolo con questo e facendolo schiudere a lui il Pokémon sarebbe stato effettivamente Shiny. 
Dall'abuso di tale meccanica nasceva dunque il TSV Abuse.


Cosa succede però adesso in ottava generazione?
Tutta la prima parte resta ancora valida, per cui ottenendo alla pensione un uovo il cui ESV corrisponda al proprio TSV si ottiene ancora un nascituro Shiny.
Ma cosa succede se così non fosse e lo si scambiasse a un giocatore il cui TSV corrisponda all'ESV dell'uovo?.. NULLA!
Anche in questo caso il Pokémon continuerebbe a non essere Shiny.

 

Ma non tutto è perduto!
Non mi è ancora chiaro cosa di preciso determini questo comportamento, se una specie di lock sulle uova al momento dell'ottenimento o nel caso di un eventuale scambio, tuttavia a quanto pare qualcosa di buono succede!


Nei nuovi giochi infatti si apre una nuova e inaspettata possibilità: un uovo ottenuto alla pensione che nel proprio gioco schiude come Shiny, SCHIUDERÀ COME TALE ANCHE SCAMBIANDOLO A QUALCUN ALTRO! (e perdonatemi il caps lock xD).

 

Ebbene sì ragazzi, che sia un lock della caratteristica cromatica al momento dell'ottenimento o al momento del primo scambio da parte del giocatore che lo ottiene, il risultato è lo stesso. Scambiandolo a un altro giocatore il nascituro resta Shiny, e tale resta anche nel caso in cui questi lo scambiasse a qualcun altro!

 

A questo link potete vedere da voi gli esperimenti che ho compiuto scambiando un uovo Shiny fra vari dei miei salvataggi, ottenendo sempre lo stesso risultato!

 

Questa novità apre dunque tante nuove possibilità di scambio, ma anche a nuovi rischi. 


Una delle possibilità è la clonazione delle uova Shiny. Ottenendo un uovo e clonandolo prima di schiuderlo sarà possibile tenerlo come preziosa merce di scambio, in quanto questo schiuderà come Shiny per chiunque, sempre con le stesse statistiche e info, fatta eccezione per l'AO e l'ID, determinati dal giocatore che lo schiude effettivamente.


I rischi però come detto ci sono. Fate estrema attenzione nel caso di uno scambio di uova, non semplicemente per il fatto che questo possa non essere effettivamente Shiny, quanto piuttosto per il fatto che potrebbe non essere stato legittimamente ottenuto. In questi giochi è infatti impossibile proofare l'ottenimento di un uovo Shiny, a meno di proofare l'ottenimento e la schiusa di ogni singolo uovo. 

Un uovo Shiny generato da zero a regola d'arte, per quanto immorale se scambiato come legit, costituisce solo un problema concettuale, mentre un uovo Shiny generato "male" da zero, potrebbe portare a problematiche di gioco più o meno serie, stile uovo peste per intenderci. 


Il mio consiglio è dunque di scambiare questi solo con utenti che conoscete e di cui vi fidate!

 

I miei esperimenti sul campo continueranno, voi però fate attenzione! :D

 

Buon breeding!
Slice

 

! Update - Ultra Shiny e dintorni!

 

Ciao a tutti! :D

 
Ulteriori esperimenti mi permettono di confermare come anche la tipologia di Shiny non cambia con lo scambio di Shiny eggs, il che è una gran cosa e rende ancora più probabile (forse?) il fatto che il lock della caratteristica cromatica avvenga al momento dell'ottenimento dell'uovo.

 

Ma di cosa stiamo parlando?

Con la nuova generazione sono stati introdotti gli Square Shiny, anche chiamati "Ultra" Shiny, vai a vedere perché poi xD
A quanto pare anche il loro essere Square Shiny non cambia nel caso in cui un uovo venisse scambiato con qualcuno e il mio "Ultra" Scorbunny ne è la prova :D

 

Ultra Mega Super Giga Dina Square Scorbunny

 

Perché avere questo dubbio, al di là del banale timore per la possibile perdita di valore per uno shiny? Ebbene il dubbio nasceva per via della meccanica di determinazione stessa della tipologia Stars o Squares. Come precedentemente re-introdotto per tutti, vecchi e nuovi Shiny hunters, un Pokémon si manifesta come Shiny nel caso in cui il suo PSV, o ESV nel caso di un uovo, corrisponda al TSV dell'allenatore che lo incontra o lo schiude. Questa è tuttavia una semplificazione esterna derivante dalla reale determinazione in game effettuata dal gioco, il quale di fatto non tiene realmente traccia di questi Shiny values.

 

Cosa "sa" dunque il gioco? 
Andando un po' più nello specifico, il gioco a inizio partita determina fra gli altri, un valore per il giocatore, ovvero il TrainerID, dal quale è possibile poi ricavare i consueti TID e SID, valori a 16 bit. Dal TrainerID è poi possibile determinare anche quello che viene visto come TSV. Questo è infatti un valore determinato dai 12 bit più significativi del TID e SID, portando dunque ad un range di valori ammissibili compreso fra 0 e 4095 (2^12).

 

Nel caso in cui TSV e PSV coincidano, come già detto, il Pokémon incontrato o schiuso risulterà essere Shiny, ma come determina ciò il gioco?

Non è facile semplificare la meccanica, ma cercherò di fare del mio meglio, magari sacrificando un po' la correttezza a livello informatico di quanto segue :oopsie:

A tal proposito sottolineo il fatto che una reale interpretazione a livello di linguaggio di programmazione di quel che manda in esecuzione il gioco era già disponibile dal datamine successivo all'uscita dei giochi, per il quale, se interessati rimando a questo screenshot di un tweet in merito alla questione.


Al fine di determinare se un pokemon debba essere mostrato al giocatore come shiny oppure no, l'operazione eseguita dal gioco è uno XOR bit a bit fra i valori di TrainerID e PID, il cui risultato, espresso in base dieci determinerà la caratteristica cromatica nel caso in cui il valore sia minore di 16. Avere un risultato di questo tipo significherebbe che i 16 bit ottenuti sarebbero divisi in due gruppi:


- i 4 bit meno significativi di valore qualsiasi compreso fra 0 (b0000) e 15 (b1111)
- i 12 bit più significativi tutti pari a 0, risultato equivalente al confronto fra TSV e PSV

 

Quando si ottiene allora uno Square Shiny al posto di un Star Shiny?
La differenza introdotta da Gamefreak andrà a premiare una sorta di match perfetto fra i due valori, ottenuta nel caso in cui anche i quattro bit meno significativi del risultato dello XOR siano tutti pari a zero. Quindi avremo uno Square Shiny in tal caso, contro uno Star Shiny per valori decimali compresi fra 1 (b0001) e 15 (b1111).

 

Fatte queste noiose premesse, sia che le abbiate lette, sia che non l'abbiate fatto, la conclusione è che potenzialmente questo match perfetto nel caso di uno Square egg scambiato sarebbe potuta essere persa, dal momento che il TrainerID del nuovo allenatore non dovrebbe meritare il match perfetto.

Ma così non è! :D

 

Già che ci siamo, tanto vale fare qualche aggiunta!


Qual è la probabilità di incontrare o ottenere uno Square Shiny?

  Apri contenuto nascosto

Dipende.

Dipende innanzitutto dal metodo utilizzato, poiché in caso dei wild encounter sfruttando il bonus che si ottiene sconfiggendo 500 esemplari della stessa specie, sembrerebbe che il gioco forzi la generazione di uno Square Shiny con una probabilità opposta a quella consueta.

Normalmente la probabilità di trovare uno shiny è di uno su 4096 e per quanto visto la probabilità che questo shiny sia di tipo Square è di uno su 16, portando dunque ad una probabilità teorica di uno shiny square di ogni 65536 pokemon... ma ne abbiamo visti molti di più Square Shiny, e non solo i wild encounter di cui parlavamo sopra, cioè, io ho ottenuto un Ultra Scorbunny, ma non ho sicuramente schiuso 65000 uova, neanche 1000 a dire il vero xD,

 

Come stanno veramente le cose?

In realtà le cose stanno esattamente così in linea di massima, e lo si può facilmente riscontrare cercando per un seed generico di una tana delle terre selvagge ogni quanti frame, mediamente, se ne ottiene uno square shiny. Tuttavia in genere si hanno vari fattori che incrementano la possibilità di trovare uno shiny, come il metodo masuda ad esempio. In questo caso la probabilità teorica di ottenere uno shiny (12 bit più significativi dello XOR pari a 0) diventa di 1/512 avendo anche il cromamuleto, per cui la probabilità di avere uno Square shiny (4 bit meno significativi dello XOR pari a 0) diventa allora (1/512)*(1/16), ovvero uno shiny square ogni 8192 uova, contro gli 1 ogni 547 circa di ottenere uno star shiny.

Questa probabilità ne ricorda probabilmente un'altra, e probabilmente non a caso come vedremo al prossimo punto.

 

Gli shiny che ho catturato e schiuso nelle generazioni precedenti e trasferito adesso con pokemon Home di che tipo saranno?

  Apri contenuto nascosto

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. MA..

C'è un "ma" che si lega all'allusione del punto precedente. Gli shiny ottenuti su virtual console infatti 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 :oopsie:

 

E gli Shiny ottenuti tramite evento nelle generazioni precedenti di che tipo sono?

  Apri contenuto nascosto

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.

 

C'è voluto più del previsto, ma per adesso credo sia tutto :D

Torno a sperimentare cose adesso.

 

Slice

Gigantamax UP! :D

 

Link al commento
Condividi su altre piattaforme

On 12/2/2020 at 14:23, SliceOfLife ha scritto:

[...]

Torno a sperimentare cose adesso.

Ti giuro questa conclusione mi ha ucciso :asduj1:

 

Comunque sei riuscito a far capire anche a me (che non ci capisco una mazza) in maniera semplice una cosa abbastanza astrusa. 

E pensa che io nemmeno ho Swo/Shi, ma ho letto tutto lo stesso perchè l'ho trovato interessante.

 

gg,wp :patpat:

Modificato da Kabe

TSV (Y) 1154 - TSV (UM) 0565

Link al commento
Condividi su altre piattaforme

innanzitutto bella ricerca, cose che non sapevo. :)

Comunque, ho qualche dubbio:

 

-pokemon square shiny sono più rari di quelli star shiny. Giusto? Ma ho sentito che in game, al momento ci sia qualche sorta di bug che interessa il chaining ( quello degli incontri). Che tu sappia fa trovare invece di 1 tipo di shiny, l'altro?

-Inoltre, ho sentito che gli square shiny sono più comuni negli incontri selvatici; mentre gli star shiny dalle uova

- Sicuro che i pokemon shiny che vengono da VC, possano essere solo square shiny?

 

-ultima domanda, come funziona per gli shiny evento ( quelli ottenuti per distribuzione e in pregio ball). Saranno solo un tipo di shiny o hanno probabilità di essere un tipo a caso tra i due?

Oh, un'altra cosa.. gli shiny softresettati in usum e titoli del 3ds ( quelli non shiny locked ovviamente): sono solo 1 tipo di shiny o è a caso tra i due?

 

Scusami per le troppe domande; ma stavo pensando ai vari shiny spostati dai vecchi giochi ( dai precedenti shiny hunt che ho portato a termine e accoppiamento).. dato che non possono essere tutti portati in Spada e Scudo, ero curioso di sapere che tipo di shiny saranno. Immagino che dovremo aspettare il momento in cui verranno rilasciati i DLC e vedere ( sempre se saranno resi disponibili nel gioco)

Modificato da Phil09
Link al commento
Condividi su altre piattaforme

@Phil09 Ciao!

 

40 minuti fa, Phil09 ha scritto:

pokemon square shiny sono più rari di quelli star shiny. Giusto? Ma ho sentito che in game, al momento ci sia qualche sorta di bug che interessa il chaining ( quello degli incontri). Che tu sappia fa trovare invece di 1 tipo di shiny, l'altro?

I Pokémon Square Shiny sono più rari in linea di massima, ad eccezione proprio dei wild encounters. Come ho scritto, la determinazione del fattore cromatico e del suo tipo viene fatta in base al PID di un Pokémon, ma in tutto ciò e nel calcolo delle probabilità che ho mostrato non abbiamo mai tirato in ballo sul serio i vantaggi derivanti dai bonus (cromamuleto, Metodo Masuda, Defeat counter etc). Ma per risponderti adeguatamente bisogna farlo prima :oopsie:

Ogni volta che il gioco deve determinare il PID di un Pokémon, selvatico in questo caso, esegue un determinato numero di reroll del PID stesso, in base a che moltiplicatori e vantaggi ha guadagnato il giocatore. I reroll aumentano dunque il numero di tentativi effettuati per ogni incontro, aumentando indirettamente le probabilità. 

In termini di programmazione la situazione è al momento poco chiara, anche per via del fatto che il wild RNG, come ho detto nella prima parte, è addirittura impossibile in questa generazione. Ciò A quanto sembra a causa di un errore di programmazione (non proprio un bug) il Pokémon incontrato sarà Star Shiny solo se Shiny al primo roll del PID, mentre sarà "forzatamente" Square Shiny se Shiny ad uno qualsiasi degli altri reroll (mentre in teoria sarebbe dovuto essere il contrario).. Fin qui, per carità, tutto fantastico, anzi meglio, un modo quasi garantito per ottenere Ultra Shiny facilmente.. be', non proprio, purtroppo le problematiche sembrerebbero ben più profonde poiché le probabilità sperimentali di trovare Shiny dalle Chain sembrerebbe essere ben più bassa di quelle teoriche dichiarate. In pratica sembra che il gioco ai reroll successivi cerchi di costruire un PID tale da garantire al giocatore uno Square Shiny, ma con le basse probabilità dello Square Shiny. 

Un po' di numeri per dare un'idea? Mentre la probabilità migliore dovrebbe essere (2^12)/8 ovvero 4096 (per il TSV) diviso 8 (il numero di reroll) e dunque la tanto sperata probabilità di 1 su 512, sembrerebbe che il gioco forzi lo Square Shiny, dunque (2^16)/8 ovvero 1/65536 (per lo XOR esattamente a 0) diviso il numero di reroll, portando a una probabilità di 1 su 8192, che rispecchia già meglio i risultati sperimentali, che coprono un range dai 1000 ai 10000 incontri.

 

E dopo tante parole, la sentenza: gli Shiny Square sono meno rari come wild encounters rispetto agli stars, ma comunque resta un inferno ottenerli. :oopsie:

 

1 ora fa, Phil09 ha scritto:

Inoltre, ho sentito che gli square shiny sono più comuni negli incontri selvatici; mentre gli star shiny dalle uova

In parte ho già risposto sopra, i wild encounters si comportano allo stesso modo delle "chains", semplicemente hanno meno reroll non avendo i bonus dei 500 esemplari sconfitti. Per le uova invece il comportamento è esattamente quello che ci si aspetterebbe, in linea teorica, 15/16 saranno Stars, mentre 1/16 sarà Squares.

 

1 ora fa, Phil09 ha scritto:

Sicuro che i pokemon shiny che vengono da VC, possano essere solo square shiny?

 

La risposta è "Sicuro". Non si trova nulla in proposito, perché sembra non importi a nessuno delle virtual console :oopsie:

Quel che ho sperimentato io è che tutti quelli che io 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.

Non è una certezza, ma visto quanti tentativi ho fatto, è almeno una probabilità decisamente alta.

 

1 ora fa, Phil09 ha scritto:

ultima domanda, come funziona per gli shiny evento ( quelli ottenuti per distribuzione e in pregio ball). Saranno solo un tipo di shiny o hanno probabilità di essere un tipo a caso tra i due?

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 dirti granché.

 

1 ora fa, Phil09 ha scritto:

Oh, un'altra cosa.. gli shiny softresettati in usum e titoli del 3ds ( quelli non shiny locked ovviamente): sono solo 1 tipo di shiny o è a caso tra i due?

Possono essere di entrambi i tipi, determinati secondo le stesse modalità dell'ottava gen, quindi per questi probabilmente 15/16 saranno Stars mentre 1/16 saranno Squares.

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

 

.. dovrebbe essere tutto.. e questo messaggio potrebbe essere quasi una terza parte della ricerca :oopsie:

Link al commento
Condividi su altre piattaforme

Allorah. Devo farti due domande in base a dei "recenti avvenimenti". 

1- Avevo letto che una volta che l'ovetto fortunato è stato riscattato (quello in cui l'ESV e il TSV coincidono) quell'uovo rimane Shiny anche se scambiato ad altre persone che non hanno il TSV "giusto". questo dato è stato confermato o smentito? 

2- In questa generazione è possibile applicare lo Swap breeding oppure è una meccanica non applicabile?

Spoiler

No perché ho fatto 112 uova di wimpod, faccio un uovo di Rookidee random per il competitivo ed è Shiny... Ho fatto swap senza saperlo oppure ho solamente avuto una fortuna sfacciata? :3

 

Link al commento
Condividi su altre piattaforme

Grazie per l' interessante approfondimento! Volevo condividere inoltre la mia esperienza con gli shiny. In pratica periodicamente, e sempre di sera tra le 23.30 e le 00.30 circa mi capita di trovare un ultrashiny. Il primo fu coalossal, che io ricordi intorno alle 23.50. Poi espeon, dopo la mezzanotte e circa due-tre settimane dopo. Un paio di settimane fa hatterene gigamax in un raid hostato da un tizio random, sempre dopo la mezzanotte. Ieri sera wobbufett alle 23.54 circa. Forse sono paranoico, considerando anche che gioco quasi solo la sera visto che il resto del giorno studio, ma tutte queste coincidenze mi fanno pensare che possa esserci un qualche meccanismo strano di spawn ciclico di ultrashiny. Ovviamente, ripeto, forse dovrei provare anche durante il giorno ma se a qualcuno è capitata un'esperienza simile mi farebbe piacere saperlo. 

Link al commento
Condividi su altre piattaforme

27 minuti fa, Rockink ha scritto:

1- Avevo letto che una volta che l'ovetto fortunato è stato riscattato (quello in cui l'ESV e il TSV coincidono) quell'uovo rimane Shiny anche se scambiato ad altre persone che non hanno il TSV "giusto". questo dato è stato confermato o smentito? 

@Rockink Questo te lo posso già confermare, è scritto anche nella prima parte, sotto spoiler nel messaggio principale. Al momento dell'ottenimento dell'uovo, o al massimo al momento dello scambio (su questo mi è difficile indagare fino in fondo e aspetto risposte "ufficiali"), tutte le caratteristiche dell'uovo sono stabilite definitivamente, cromaticità compresa. Quindi un uovo che schiude Shiny per una data persona, schiuderà Shiny anche per tutti gli altri! :D

 

31 minuti fa, Rockink ha scritto:

2 - In questa generazione è possibile applicare lo Swap breeding oppure è una meccanica non applicabile?

Qui la risposta purtroppo è negativa ed è purtroppo una causa indiretta del fatto che non sarà più possibile fare RNG sulle uova.

Come ho detto nella prima parte della ricerca e come risposta a qualche messaggio, nel momento in cui il gioco deve determinare le caratteristiche di un uovo, il PID in pratica, effettua una chiamata di funzione a un generatore casuale crittograficamente sicuro. Questi sono spesso caratterizzati dal fatto che i loro risultati dipendo si da un seed fisso già conosciuto al momento della chiamata, ma anche da dati scelti a caso, spesso anche in base a una lettura casuale della memoria ram. Ciò significa che il risultato della chiamata e dunque le caratteristiche dell'uovo ottenuto dipenderebbero anche dall'istante temporale in cui l'assistente alla pensione incrocia le braccia, per cui per forza di cose, attuando lo swap l'uovo ottenuto avrebbe caratteristiche differenti :(

 

24 minuti fa, Manu369 ha scritto:

Grazie per l' interessante approfondimento! Volevo condividere inoltre la mia esperienza con gli shiny. In pratica periodicamente, e sempre di sera tra le 23.30 e le 00.30 circa mi capita di trovare un ultrashiny. Il primo fu coalossal, che io ricordi intorno alle 23.50. Poi espeon, dopo la mezzanotte e circa due-tre settimane dopo. Un paio di settimane fa hatterene gigamax in un raid hostato da un tizio random, sempre dopo la mezzanotte. Ieri sera wobbufett alle 23.54 circa. Forse sono paranoico, considerando anche che gioco quasi solo la sera visto che il resto del giorno studio, ma tutte queste coincidenze mi fanno pensare che possa esserci un qualche meccanismo strano di spawn ciclico di ultrashiny. Ovviamente, ripeto, forse dovrei provare anche durante il giorno ma se a qualcuno è capitata un'esperienza simile mi farebbe piacere saperlo. 

@Manu369 Ciao!

Immagino tu stia parlando di raid, nel qual caso la periodicità o comunque la fascia oraria in cui capita più spesso di trovarne online con Pokémon Shiny ha effettivamente un fondamento, ma nulla a che vedere con una qualche ciclicità degli spawn :oopsie:

Il motivo per cui è facile trovare online raid Shiny è per via del fatto che ormai vengono condivisi quasi esclusivamente questi, dal momento che l'RNG dei raid segue una meccanica largamente prevedibile e ampiamente conosciuta ormai. La fascia oraria nasce invece dal fatto che molti degli hoster pubblici di questo tipo di raid sono di nazionalità statunitense, per cui quando da noi è mezzanotte da loro è pomeriggio, la fascia oraria in cui sono attivi maggiormente al di là dell'Atlantico. Aggiungendo gli SW giusti, in quelle fasce orarie tutti i raid online che ti spunterebbero sarebbero Shiny praticamente :oopsie:

Se invece parlavi di wild encounters, nel caso di Coalossal ed Espeon almeno, la risposta è negativa. Sebbene la determinazione del PID di un Pokémon può dipendere anche dall'istante temporale in cui viene determinato, questo non è certamente legato al valore stesso dell'istante temporale, bensì a dati casuali letti sulla ram all'istante in questione (se così non fosse in generatore crittograficamente sicuro non sarebbe poi tanto sicuro xD).

Link al commento
Condividi su altre piattaforme

3 ore fa, SliceOfLife ha scritto:

attuando lo swap l'uovo ottenuto avrebbe caratteristiche differenti :(

In breve, nel caso non avessi cambiato Wimpod con Rookidee proprio in quel momento e la tizia non avesse incrociato le braccia in quell'istante il pokémon non sarebbe stato Shiny? Grazie per la risposta. :3

Link al commento
Condividi su altre piattaforme

21 ore fa, SliceOfLife ha scritto:

@Rockink Questo te lo posso già confermare, è scritto anche nella prima parte, sotto spoiler nel messaggio principale. Al momento dell'ottenimento dell'uovo, o al massimo al momento dello scambio (su questo mi è difficile indagare fino in fondo e aspetto risposte "ufficiali"), tutte le caratteristiche dell'uovo sono stabilite definitivamente, cromaticità compresa. Quindi un uovo che schiude Shiny per una data persona, schiuderà Shiny anche per tutti gli altri! :D

 

Qui la risposta purtroppo è negativa ed è purtroppo una causa indiretta del fatto che non sarà più possibile fare RNG sulle uova.

Come ho detto nella prima parte della ricerca e come risposta a qualche messaggio, nel momento in cui il gioco deve determinare le caratteristiche di un uovo, il PID in pratica, effettua una chiamata di funzione a un generatore casuale crittograficamente sicuro. Questi sono spesso caratterizzati dal fatto che i loro risultati dipendo si da un seed fisso già conosciuto al momento della chiamata, ma anche da dati scelti a caso, spesso anche in base a una lettura casuale della memoria ram. Ciò significa che il risultato della chiamata e dunque le caratteristiche dell'uovo ottenuto dipenderebbero anche dall'istante temporale in cui l'assistente alla pensione incrocia le braccia, per cui per forza di cose, attuando lo swap l'uovo ottenuto avrebbe caratteristiche differenti :(

 

@Manu369 Ciao!

Immagino tu stia parlando di raid, nel qual caso la periodicità o comunque la fascia oraria in cui capita più spesso di trovarne online con Pokémon Shiny ha effettivamente un fondamento, ma nulla a che vedere con una qualche ciclicità degli spawn :oopsie:

Il motivo per cui è facile trovare online raid Shiny è per via del fatto che ormai vengono condivisi quasi esclusivamente questi, dal momento che l'RNG dei raid segue una meccanica largamente prevedibile e ampiamente conosciuta ormai. La fascia oraria nasce invece dal fatto che molti degli hoster pubblici di questo tipo di raid sono di nazionalità statunitense, per cui quando da noi è mezzanotte da loro è pomeriggio, la fascia oraria in cui sono attivi maggiormente al di là dell'Atlantico. Aggiungendo gli SW giusti, in quelle fasce orarie tutti i raid online che ti spunterebbero sarebbero Shiny praticamente :oopsie:

Se invece parlavi di wild encounters, nel caso di Coalossal ed Espeon almeno, la risposta è negativa. Sebbene la determinazione del PID di un Pokémon può dipendere anche dall'istante temporale in cui viene determinato, questo non è certamente legato al valore stesso dell'istante temporale, bensì a dati casuali letti sulla ram all'istante in questione (se così non fosse in generatore crittograficamente sicuro non sarebbe poi tanto sicuro xD).

Grazie mille per la risposta! Mi riferivo ad incontri casuali, solo hatterene l'ho preso in un raid. Immagino quindi che banalmente il motivo di questi shiny serali sia legato semplicemente al fatto che gioco per lo più di sera ahahah

Link al commento
Condividi su altre piattaforme

Crea un account o accedi per commentare

E' necessario essere iscritto a Pokémon Millennium per poter commentare

Crea adesso un account

Registra un nuovo account nella nostro forum. E' semplice!

Crea un nuovo account

Accedi

Hai già un account? Accedi qui!

Accedi adesso
  • Utenti nella discussione   0 utenti

    • Nessun utente registrato sta visualizzando questa pagina.
×
×
  • Crea...