Pikachu
Pokébip Pokédex Espace Membre Forum
Inscription

NGC 224 Andromeda [Blog en reconstruction]
de Aрзамакоv

                   



Si vous trouvez un contenu choquant, vous pouvez contacter la modération via le formulaire de contact en PRECISANT le pseudo de l'auteur du blog et le lien vers le blog !

» Retour au blog

Emerald RNG Broken (Repost d'un article de 2012)

Introduction


Le bug de l'horloge des versions Rubis et Saphir (et Emeraude) est l'un des bugs les plus dérangeants des jeux pokémon. Le mot « bug » est en réalité un abus de langage puisqu'en réalité, c'est la pile bouton située à l'intérieur de votre cartouche de pokémon Rubis ou Saphir qui est épuisée. Bien que ce ne soit qu'une bête pile, celle-ci est très importante pour la « vie » du jeu ! En effet, elle gère l'horloge interne et tout ce qui s'y rapporte dans le jeu (Baies, île mirage et caetera) . Elle a notamment un très grand rôle dans les PRNG (Pseudo-Random Number Generator) et de ce fait, il y a un certain impact sur les pokémon et donc, les shinies.

Durant les années 2004, Nintendo a proposé à tous les possesseurs de RS aux piles mortes de renvoyer leur cartouche afin que ceux-ci réparent cette pile défectueuse et, par la même occasion, leur distribuer un zigzaton shiny ayant comme do :

« Rubis » s'il provenait d'une version rubis ;
« Saphir » s'il provenait d'une version saphire

Nintendo ne s'en est pas arrêté à là : un débogueur a été implanté dans les versions Rouge-Feu et Vert Feuille ainsi que sur la version Emaraude et sur le Jirachi CHANNEL. Celui-ci a pour but de relancer les évènements journaliers s'il arrive à ce qu'une version RSE soit en deuil de sa pile.

Certes, ces débogueurs ont arrangé ce problème de pile, les évènements journaliers ont pu facilement être réactivés CEPENDANT on a délaissé l'aspect Ô combien important du PRNG ce qui a gêné, et gène encore, les shinies hunters.

Problématique


Depuis assez longtemps (environ 2004-2005) , on a remarqué quelques cas assez étrange dans la shasse :

Tout d'abord, certains trouvaient des shinies sur ces versions en faisant peu mais très peu de resets tandis que certains n'en trouvaient aucun après les 20000 resets de passé.
Les shinies obtenus sur ces versions à PRNG cassés (même si on ne soupçonnait pas ça dans le temps) avaient très souvent la même nature, les mêmes IVs et, si on y va plus loin, le même PID !

De ce fait, les SH et certains spécialistes (Notamment smogon) se sont penchés sur cette problématique. Divers recherches ont été entamées par les SH pour essayer de découvrir le pourquoi du comment. Du coté de nos amis anglophones, ils se sont penchés sur le RNG d'Emeraude en essayant de trouver ce qui ne va pas.

Puis un jour on a découvert que la Seed d'émeraude était constante et ne change pas quoi qu'il arrive. Le problème, c'est que cette seed redondante a valu un bannissement de la shasse sur Emeraude et sur les versions Rubis et Saphir avant que ces versions soient ré-autorisées parmi la communauté SH le 2 Avril 2010.

Pourquoi ce bannissement ? Que se passe-t-il au niveau des shinies dans ces versions ? Pourquoi les avoir ré-autorisé ?

Notions de Seed, frames et PRNG


Les RPG pokémon se basent sur un Générateur de nombres congru-linéaire. Ce générateur se nome aussi, comme dit un peu plus en haut, le Pseudo Random Number Generator traduit littéralement par : « Générateur de nombre pseudo-aléatoires » . Ce générateur de nombre peut être considéré comme le cœur des jeux pokémon car il génère toutes les infos pour les pokés, les combats, les captures, les IDs, ... SANS LUI, LES JEUX POKEMON NE SERAIENT PAS CE QU'ILS SONT !

Comme le dit si bien le terme « générateur » , le PRNG génèrera une liste infinie de nombres dont le jeu s'en servira pour « générer » ses pokémons, actions, ect...
Pourquoi ce terme Pseudo-aléatoire ? Tout simplement la suite des nombres sera généré aléatoirement cependant, tout cela se fera au biais d'une équation de type : X^n+1 = (a * X^n + c) mod m. Et parce que la liste de nombres sera périodique tous les 4 294 967 295 nombres . De ce fait, on ne peut pas vraiment qualifier ces nombres comme aléatoires en conséquence, le terme « Pseudo-Aléatoire » est bien choisi pour qualifier cette liste gigantesque de nombres.

Et comment ça fonctionne tout ça ? Tout cela se fera par l'équation sur laquelle j'ai fait un petit briefing au dessus de ces lignes.

L'équation générale est : X^n+1 = (a * X^n + c) mod m

• Mod ou « modulo » se traduit littéralement par « le reste de la division de x par m » (Ex : 10 mod 3 = 1 car le reste de la division de 10 par 3 vaut 1 (3*3+1 = 10)
Les valeurs a, c et m resteront inchangées en fonction du jeu dans lequel on se trouve.
• X^n est un nombre pseudo-aléatoire issu de ce générateur
• X^n+1 est le nombre pseudo-aléatoire suivant qui sera obtenu via le précédent nombre pseudo-aléatoire qui sera pris en compte dans l'équation du dessus. On utilisera toujours le précédent nombre obtenu pour générer le nombre suivant ! Autrement dit X^n servira à générer X^n+1 qui servira à générer X^n+2 qui servira à générer X^n+3, ...) .

De ce fait, cette équation déterminera la liste de tous les nombres pseudo-aléatoires, avec chaque nombre ayant un rapport avec son prédécesseur.

Quand on commence un jeu pokémon, celui-ci génèrera un tout premier nombre à partir d'une autre équation. Ce tout premier nombre, ce nombre matrice est appelé Seed ou « graine » car c'est le tout premier nombre qui ira mettre en marche l'équation qui génèrera sa liste de nombres. Et une autre seed sera appelée à chaque vois que vous mettrez en route votre jeu.

Et là, nous entrons dans d'autres termes mais ceux-ci auront un rapport avec les pokémons.
Lorsqu'on allumera un jeu pokémon, celui-ci appellera un premier nombre (Seed) , ce nombre sera ensuite envoyé dans l'équation qui prendra le relais à son tour et formera sa liste de nombres. Ces nombres défileront ensuite en fonction du temps au rythme de 60 nombres à la seconde.

Mais comment le jeu utilise-t-il ses nombres pour déterminer les infos d'un pokémon ?

Lorsqu'un combat est engagé dans, le jeu prend, en quelques millièmes de secondes, 2 de ses nombres issus du PRNG, il les « croise » et ces 2 nombres de 16bytes forment donc un nombre de 32 Bytes appelé PID. Le PID, c'est comme l'ADN d'un pokémon car ce nombre contient : la nature, le sexe et le caractère shiny d'un pokémon.
Le PRNG prend ensuite les 2 autres nombres suivant et forment ainsi un second nombre de 32 Bytes : les IVs. Ces 2 données issus du PRNG sont donc regroupées et forment une frame (PID et IVs) et cette frame envoyée au pokémon : le pokémon a donc été créé et le combat commence.

Voilà comment un pokémon est créé, certes il y a aussi d'autres méthodes de créations mais je n'en parlerai pas pour le moment car cela n'a aucune impotence pour ce que je vais vous dire par la suite.

Au passage, pour ceux qui n'ont pas trop compris ou qui ont scrollé la page, voici un petit schéma de la situation :


RNG de Rubis et Saphir



A partir des précédents titres, je vais vous expliquer les RNG de Rubis/Saphir, du moins la création de la seed puisque c'est la création de cette donnée qui fait la différence entre un PRNG de R/S avec un PRNG d'Emeraude ou de RougeFeu/VertFeuille.

Comme, vous le saviez tous à présent, lorsqu'on allume un jeu poké, une seed est générée avant d'être transférée vers le timer avec l'équation qui déterminera la liste des Random Numbers. L'équation de défilement des versions 3G est : X^n+1 = (X^n*[0x41C64E6D] + [0x6073])&0xFFFFFFFF.

Comme pour la liste des nombres, la seed a aussi sa propre méthode de génération et c'est là que vous verrez que la pile a une énorme impotence pour les RNG car c'est elle qui servira à déterminer la seed. Voilà comment, la seed est créée sur Rubis ou Saphir (Source).


« Soit d[b]:

[b]•
le nombre de jours après Dec 31, 1900, si l'année est 1999 ou passée ;
le nombre de jours après Dec 31, 1999, si l'année est 2000 ;
le nombre de jours après Dec 31, 2000, si l'année 2001 ou plus tard.

Soit h, le nombre d'heures après minuit ce jour-là. Soit th le chiffre des dizaines et uh le chiffre des unités pour cette heure.
Soit m, le nombre de minutes après l'heure. Soit tm le chiffre des dizaines de cette minute et um le chiffre des unités de cette minute.

Calculez v = 1440d + 960th + 60uh + 16tm + um.
Soit x = floor(v / 65536)
Soit y = v mod 65536. Convertissez x et y en hexadécimal.

Donc la seed est:

0x0000XXXX
ou XXXX = x xor y.



Ex.
2011 Février 6 14:16:18

Nombre de jours après Dec 31, 2000: d=365*10+2+31+6=3689
h=14, th=1, uh=4
m=16, tm=1, um=6
Les secondes n'ont pas d'impotence

v = 1440*3689 + 960*1 + 60*4 + 16*1 + 1*6 = 5313382
x = floor(5313382/65536) = 81 = 0x51
y = 5313382 mod 65536 = 4966 = 0x1366

x xor y = 0x51^0x1366 = 0x1337

Par conséquent, la seed initiale est 0x00001337.

Remarque: Si l'horloge GBA (horloge temps réel) ne fonctionne pas, le jeu suppose qu'il est toujours le 1 janvier 2000, 00:00:00 sans changer, et la seed initiale est 0x000005A0. »

A partir de ça, nous remarquons que :

• La pile interne sert à générer la seed
• Que la seed change toutes les minutes. Eh oui ! Vous aurez la même seed le 13/12/2011 à 14h10'34 qu' à 14h10'49, le même jour.
• Que si la pile meurt, le jeu croira qu'on sera le 1er Janvier 2000 à 00h00 et fera donc une seed constante de 0x000005A0.


Par conséquent, le PRNG de Rubis/Saphir fonctionne ainsi :

La pile génère une seed de 16 bytes à partir de la méthode située au dessus
Dès que la seed est créée, elle est aussitôt envoyée vers un timmer qui créera la liste des nombres avec la forme : X^n+1 = (X^n*[0x41C64E6D] + [0x6073]) mod FFFFFFFF. Et le timmer fera défiler 60 Frames à la seconde.
Lorsqu'on engagera un combat avec un pokémon sauvage, le jeu utilisera ces nombres afin de créer le pokémon.

Voilà comment les versions RS fonctionnent. Vous voyez donc à présent l'importance de ces nombres ?

PRNG d'Emeraude


Emeraude fonctionne presque comme une version Rubis ou Saphir : le jeu génère une seed, elle est envoyée au timmer, il établit la liste et la fait défiler. Voilà !
La différence réside dans le fait que la génération de la seed d'émeraude est simple comme je-ne-sais-quoi. En effet, ce jeu aura toujours une seed constante quoi qu'il arrive, que sa pile interne soit morte ou non, la seed ne changera jamais et sera la même pour toutes les versions Emeraude existantes : 0x00000000 .

C'est un peu le même principe que la seed d'une Rubis ou Saphir à pile morte sauf que ça reste inchangeable.

Les raisons de cette seed sont encore indéterminées. D'après certains, ça a été programmé par Nintendo pour contrer la mort de l'horloge cependant on a découvert récemment que cette version aurait pu fonctionner comme une version Rf/Vf puisqu'on a remarqué qu'il y avait la même fonction de création de seed que pour celle des 2 remakes mais cette fonction est automatiquement désactivée et donc par défaut la seed vaudra 0x0.

C'est ce qu'on appelle le « Emerald RNG Broken » ou RNG cassés d'émeraude étant donné que la seed est identique et donc la liste de frames elle aussi.

Et les shinies dans tout ça ?


Comme cela a été dit auparavant, c'est le PID qui stocke l'info du caractère. Pour savoir si un pokémon est shiny ou non, le jeu utilise nos IDs et appliquent cette condition :

ID xor SID = E
u16PID xor l16PID = F
E xor F = G
Si G < 8 alors le pokémon est shiny

A partir de tout ça, on saura déterminer si une frame sera shiny ou non en fonction du PID, sachant que dans les versions Emeraude et dans les versions Rubis ou Saphir ayant « le bogue de l'horloge » , la seed sera toujours constante, ce sera soit 0x000005A0 (RS aux piles mortes) ou soit 0x00000000 (Emeraude).
Sachant que la seed impliquera la liste de pseudo-random numbers qui elle-même impliquera les frames et par conséquent le PID alors, on aura toujours la même liste de frames ! Et c'est là le problème puisque les caractères shiny sont stockés n'importe où et diffèrent selon les parties par conséquent, on ignore où la première frame shiny se situe. Elle peut très bien se situer vers les 10 secondes après le reset, les 30 secondes voire les 4 minutes après si vous avez une partie comme la mienne (La première frame shiny de ma version émeraude se situe à 4min 30 après le reset) .

Imaginez donc, qu'on ait une partie de pokémon Emeraude dans laquelle la première frame shiny se situe à 6 minutes après le reset et que vous shassiez Rayquaza. Un reset dans ces versions prend entre 10 à 30 secondes. Donc vous resetez, la liste de frames défile et vers les 15 secondes vous engagez le combat face à Rayquaza par conséquent le jeu prend une frame et l'incorpore à ce poké. La première frame se situant à 6 minutes après le reset, le pokémon ne sera pas shiny. Donc on reset et en resetant on reprend la liste à 0, on la relie, on engage le combat et comme il ne faut pas 6 minutes pour reseter un Rayquaza , celui-ci ne sera pas shiny. Donc on resete et on reprend la liste à 0.

Et comme on reprend la liste depuis le début vers les 30 secondes après l'avoir commencé et que la première frame shiny est située à 6 minutes après le reset alors il sera logiquement impossible de tomber sur cette fameuse frame si on reset, à moins qu'il se passe quelque chose vous obligeant à engager le combat après plus de 5 minutes mais cela est presque impossible. Par conséquent, on ne verra aucun rayquaza apparaître en noir sur cette version étant donné qu'il apparaitra vers 6 minutes après le début du jeu mais le joueur lambda ne se doutera pas de ça car il n'a soit pas le matériel adéquat pour aller vérifier les frames ou il ignore ce concept de PRNG, ...

Tout comme il se peut que la première frame shiny soit après 5 minutes de jeu, il arrive parfois à ce qu'elle se situe après les 10 ou 20 secondes de jeu. Reprenons le problème du Rayquaza tout en changeant de partie et donc d'ID et par conséquent on changera l'emplacement du caractère shiny qui se situera dans la fourchette des 10 à 20 secondes. Donc le joueur resete engage le combat à 15 secondes, le jeu prend une frame du PRNG et cette frame est située près de celle qui est shiny mais en raison du la vitesse du défilement et de l'imprécision de l'être humain, le Rayquaza ne sera pas shiny. Donc il reset, on réengage le combat et le jeu reprend une autre frame qui est elle aussi non loin de celle possédant le caractère chromatique donc la personne resete, réengage le combat, resete, combat, resete, ...
Et comme la frame shiny se situe vers le moment où il engage le combat, il tombera sur le Rayquaza shiny au bout d'un moment. Cool se version produira des shinies par reset me direz-vous. Mais à la différence du premier cas, le problème apparaitra à long terme.

Imagions encore, le joueur a eu son Rayquaza et décide alors de faire le trio de Hoenn et s'attaque donc à Kyogre. Comme la liste sera toujours identique et qu'un reset pour le dieu de la mer prend entre 20 et 30 secondes, la frame shiny sera encore située dans ces environs. Donc il va reseter, il ne tombera pas forcément sur la frame shiny dès le début mais au bout d'un moment le Kyogre sera violet. Le dresseur va donc le capturer, sauvegarder puis aller voir ses données et c'est là qu'il va y avoir un problème ! Comme la seed est identique, la liste de nombres le sera aussi et la liste de frame le sera aussi par conséquent il sera tombé sur la même frame que celle de Rayquaza. Une frame, c'est ce qui contient le PID et les IVs. De ce fait, le Kyogre aura la même nature, le même caractère shiny, le même PID et les mêmes IVs que Rayquaza ! Il sera presque comme un clone du dragon noir !

Nous pouvons donc en conclure que si nous resetons sur une version RS à pile morte ou sur une version émeraude, nous aurons 2 cas de figure :

La première frame shiny est située assez loin de la « fourchette du reset » (Temps qu'on met pour faire un reset) par conséquent on verra presque aucun shiny par reset.

La première frame shiny est située dans la fourchette du reset par conséquent on verra des shinies par reset mais il y a de très fortes chances qu'ils aient tous la même nature et les mêmes IVs.

Le Emerald RNG et les piles mortes de RS n'affectent pas seulement les shinies, mais le PRNG en lui-même ! Par exemple si vous tombez sur un Zigzaton après 14 secondes de jeu en jouant sur ces versions puis que vous resetiez et que vous réengagez un combat contre X pokémon après 14 secondes de jeu alors le nouveau pokémon aura la même frame que celle du précédent et de ce fait, la même nature, les mêmes IVs, ...


Tout cela a été la raison du bannissement de la shasse sur ces versions. Vous avez donc la réponse sur ce qu'il se passe au niveau des shinies et ce qui a conditionné cette prohibition.

La shasse par fuites (Emeraude (Resetables et Rencontres) et RS (Rencontres uniquement)


Lorsqu'on a qu'une version Emeraude pour seule version 3G et qu'on veut se faire un légendaire ou fixe, il faudra shasser par un système relativement spécial nommé : « Shasse par Fuites » .

Contrairement aux versions Rubis et Saphir, les légendaires de la version émeraude ont le merveilleux don d'être fuyables. Comment ça ?! Lorsqu'on engage un combat avec un pokémon fixe ou resetable puis qu'on fuit face à ce poké et qu'on sort de son lieu puis qu'on y retourne, le pokémon sera de retour dans son lieu et vous pourrez de nouveau le recombattre sachant que le poké sera différent du précédent puisque le RNG aura tourné et repris une autre frame. On peut aussi refuir devant le pokémon puis le recombattre, il reviendra et sera différent du précédent et cela fonctionnera toujours jusqu'à ce que vous attrapiez le pokémon ou que vous le mettiez K.O !

Ceci contourne donc le problème des resets, vous voulez un légendaire « émeraldien » ? Alors il ne faudra en aucun cas le reseter mais seulement le « fuir » et réengager le combat jusqu'à ce qu'il soit shiny.
On peut aussi faire des rencontres de pokés sauvages sur la version émeraude ainsi qu'aux versions Rubis et Saphir puisqu'on fuie chaque poké non shiny à chaque rencontre et par déduction on fait comme le système des fuites cité précédemment...

Par conséquent, si on veut shasser sur l'une de ces versions, il faudra en aucun cas reseter mais privilégier les fuites qui ont le même effet que des rencontres. Cependant, ces shasses exigent d'être faites sur longues périodes afin d'éviter de faire répéter la liste des PRNG au jeu et donc éviter de retomber dans le bon vieux cercle vicieux des frames identiques...

Il existe 2 moyens pour shasser sur longue période :

On laisse sa console allumée durant toute la recherche.
On ne laisse pas sa console allumée durant la recherche MAIS on est obligé de la laisser allumée entre 3 à X heures lorsqu'on shasse.

Le premier moyen est le plus efficace des deux pusique la console ne sera jamais resetée jusqu'à ce qu'on trouve le shiny, cela permettra aux frames de défiler librement sans qu'elles ne soient répétitives par le reset de la version cependant ce moyen n'est pas très économique ni écologique puisque ça exige à la console d'être constamment chargée durant une période indéterminée. De ce fait, ça consomme de l'énergie et de l'argent.

Le deuxième moyen est légèrement moins efficace que le premier mais beaucoup plus économique et écologique. La console ne sera pas perpétuellement allumée : on n'échappera pas à le redondance des frames cependant on shassera pendant un nombre d'heures déterminé en fonction du nombre approximatif de frames shinies qu'on aura pendant cette période, le rapport se calcule de cette façon :

Nombre de frames total = 216000x
Nombre de frames shinies = Nombre de frames total / 8192

x = Temps (en heures)



Le but de cette shasse est de tomber sur l'une de ces frames shinies. Les frames se répèteront à un certain moment puisqu'on devra redémarrer le jeu mais celles-ci défilent à 1 frame tous les 60ièmes de seconde et l'univers à voulu que nous, humains, soyons imprécis de ce fait on retombera parfois sur des frames déjà eues auparavant comme on pourrait en tomber sur d'autres...

Par exemple, on va dire que vous shassez Registeel sur la version émmeraude. Comme vous êtes un peu écolo, vous décidez de ne pas laisser votre GBA allumée durant toute la recherche de ce fait, vous opterez pour la seconde méthode.
Comme vous êtes en vacances et que le temps n'est pas fameux, vous décidez de faire 5 heures de shasse intensive sur cette version (Considérons la frame shiny comme la frame 21) .

Calculons alors le nombre approximatif de frames SH qui pourraient défiler durant ces 5 heures :

Nombre de frames total = 216000.5 = 1080000 Frames en tout

Nombre de frames shinies = 1080000 / 8192 ≃ 131 Frames shinies

Le nombre est pas mal, par conséquent, on a des chances de voir un shiny durant cette recherche.

Durant les 5 heures de recherche de la journée on tombe sur les frames : 1, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 6940, ..., ..., ..., 51562, y, n, ...

Après 5 heures, vous éteignez la console et allez : manger, se laver, sortir, ...

Le lendemain vous reprenez encore 5 heures et vous tombez sur les frames : 1, 3, 6, 9, 12, 15, 18 et 21 !

Comme ceci est prouvé ci-dessus, vous avez reseté le jeu, vous êtes tombé sur des frames identiques mais comme le rythme était légèrement différent (Comme dit précédement, on a 60 frames par seconde) vous êtes tombé à un certain moment sur la frame 21, la frame shiny. Ce qu'il faut retenir là-dedans, ce n'est pas la suite de nombres (Etant donné qu'en temps normal c'est aléatoire puisqu'on ne sait pas à quel moment x frames auront défilé dans la réalité) , mais la logique. En effet, il vaut mieux visualiser ce que j'ai dit d'un point de vue logique et non mathématique.

Nous pouvons alors conclure que :

• On pourra retomber sur des frames vues précédemment.
• On pourra cependant tomber sur d'autres frames étant donné que nous sommes pas précis à 100% et que c'est 60 frames par secondes (Ce qui est assez rapide) .
• Durant ces 5 heures de défilement, on aura peut-être la chance de tomber sur une frame shiny vu que 5 heures permet de faire défiler un nombre colossal de frames.


Nous pouvons donc en conclure en disant que chaque technique marche aussi bien que l'autre à la différence ou il y en a une qui sera moins écologique que l'autre et qu'une de ces deux techniques n'emploiera en aucun cas le reset.

Doit-on attendre un certain temps avant de commencer à shasser ?


Certains ont sans doute déjà dit d'attendre quelques minutes avant de commencer une shasse sur une version ayant un problème aux seeds afin de laisser défiler les frames mais est-ce forcément obligatoire ? Ce temps d'attente à pour but :

D'éviter tout soupçons de RNG abuse car à partir de 10 minutes de défilement il devient extrêmement difficile d'employer le RNG reporter afin de faire apparaître un shiny volontairement. Malgré ça, ce n'est pas vraiment conseillé puisqu'on shasse pour nous et que même en trichant avec le RNG reporter, on sait faire passer le pokémon sans aucun doute

D'éviter de retomber sur une frame shiny obtenue précédemment peu de temps après avoir démarré le jeu. Si, par exemple, vous avez obtenu untel shiny au bout de 6 minutes alors il vous sera fortement conseillé d'attendre un certain temps afin de laisser défiler les frames et donc laisser défiler la frame shiny afin de ne pas retomber sur celle-ci sous peine de se retrouver avec un pseudo-clone cependant, c'est à vous-même de déterminer le nombre de minutes d'attente en fonction du nombre de shinies que vous avez obtenu précédemment sur la même partie et en fonction du temps qu'il a mis pour apparaître. Par exemple, si vous n'avez trouvé aucun shiny avant le début de cette shasse alors on ne sera pas obligé d'attendre. Si vous avez eu un shiny à 4 minutes de jeu alors il vous sera recommandé d'attendre 5 à 10 minutes avant de commencer votre shasse afin d'éviter la frame shiny présente à 4 minutes de jeu. Si vous avez trouvé 3 shinies entre 1 minute et 30 minutes de jeu alors il vous sera conseillé d'attendre 45 minutes avant de shasser et d'opter pour la première méthode puisque le temps d'attente est relativement long... Si vous avez trouvé 1 shiny après 5 h de jeu, il n'est pas nécessaire d'attendre (A condition que vous n'ayez rien trouvé, auparavant, entre 1 et 30 minutes après le début du jeu... ) puisque c'est relativement long...


C'est à vous-mêmes de juger s'il est préférable d'attendre ou non en fonction de vos précédentes trouvailles sur cette partie !

La chance de trouver un shiny reste globalement du 1/8192 cependant celle-ci peut fluctuer à court terme puisque si on joue pendant 15 minutes de ce fait on ne voit qu'une partie des frames issues de la seed. De ce fait, il se peut que la concentration de frames shinies fasse fluctuer la proba entre 1/8000 et 1/8400. Mais cela n'a pas vraiment d'impotence puisque toutes les versions peuvent avoir ce taux qui varie à cause du court terme (Les probas se jouent souvent à long terme) . De ce fait, il n'est pas vraiment utile d'attendre 45 minutes juste pour être sur d'être dans le 1/8192 puisque globalement, la proba reste inchangée.


« Ouaip, ça ne sert pas à grand-chose d'attendre après avoir lancé le jeu, si ce n'est pour éviter des frames shiny qui seraient déjà tombées auparavant (pour ceux qui n'acceptent pas le concept de deux shinies différents avec mêmes natures et IV).
Par exemple j'ai attendu 3h après avoir lancé ma recherche de Mew pour me laisser ça de marge au cas où je voudrais shasser sur ma emeraude normalement, après mew, sur un intervalle de quelques heures (bon la trouvaille en un mois fait que du coup ce problème ne se pose plus ...).
Mais pour des gens qui ont déjà eu des shinies sur emeraude, il peut être bon d'attendre que le temps passe pour qu'ils ne retombent jamais sur les frames correspondant à leurs anciens shinies.
» - MaîtreArmand


Astuce pour shasser sur RS et Emeraude si on est sur émulateur


Pour ce qui est des astuces suivantes, tout cela se jouera sous l'émulateur Visual Boy Advance (VBA) qui est l'un des meilleurs émulateurs GBA, à ce jour.

L'émulateur possède une option relativement utile pour ce qui est de la shasse sur les versions Rubis et Saphir. Rappelez-vous, dans ces deux versions, la seed est générée avec le temps qui est lui-même généré avec la pile située dans la cartouche. Malheureusement, la pile est inexistante sur les ROM (Rien de plus logique, me direz-vous) . Cependant l'émulateur a le pouvoir d'utiliser l'horloge de notre ordinateur afin de créer la seed pour ces versions et donc de rendre la shasse par resets tout à fait possible.

Cette option s'appelle : « Horloge interne à temps réel » ou, en anglais, « Real Time clock ». Pour l'activer, rien de plus simple, il suffit de faire : Options >> Emulateur >> Horloge interne à temps réel.

Pour ce qui est de la version émeraude, il reste impossible de reseter dessus (Du moins, c'est hyper déconseillé) puisque, comme il a été démontré un peu plus au-dessus, la seed reste identique quoi qu'on fasse. De ce fait on sera toujours obligé de shasser par fuites. En revanche, l'émulateur possède aussi une autre option afin de « faciliter » la shasse sur émeraude. L'option consiste en la création d'une sauvegarde en temps réel (Save state) . Autrement dit, en plus de sauvegarder la partie, on sauvegarde tout ce qui se déroule au moment présent aussi bien la situation dans laquelle on s'y trouve tout comme le défilement des PRN. De ce fait, il est tout à fait possible de shasser sur cette version (par fuites) tout en évitant la redondance de la seed due a l'extinction de l'ordinateur (Puisque le défilement est sauvegardé avec la save state) . De ce fait, on peut très bien shasser pendant une journée, puis faire une save state avant d'éteindre son ordinateur afin de reprendre la partie, le lendemain sans pour autant se retaper tout le défilement depuis le début. Après il suffira de refaire une seconde save state avant de ré-éteindre son ordi pour la reprendre le lendemain, et cætera...

Pour faire une save state, rien de plus simple : Shift + F1/F2/F3/.../F12

L'émulateur créera aussitôt un fichier de la forme : [Nom du jeu + N° du F (1 si F1)].sgm

Pour charger une save state : F1/F2/F3/...F12 (N'oubliez pas qu'il faut charger la save correspondant au numéro enregistré).


Conclusion


Ce RNG cassé est bien embêtant ! Pour Rubis&Saphir, il suffit de remplacer la pile par une autre (Si possible une pile bouton de référence CR1616, 3V si pas la pile du pokéwalker ou la pile d'émeraude (On peut l'enlever car la seed est constante même avec la pile et pour ce qui est des évènements journaliers, on peut facilement les réactiver avec le programme baie) qui peuvent servir de « greffons » ) ou jouer sur émulateur en activant l'horloge à temps réel. Quant à émeraude, on a pas le choix : On déconseille toute shasse par resets sur cette version. Il faudra donc faire que des fuites et privilégier les versions RS pour ce qui est des resets. Cependant, les techniques présentées ci-dessus rendront la shasse par fuite nettement moins fastidieuse.

Malheureusement, hormis se soumettre à ces « règles », on ne saura rien changer. De ce fait, doit-on pour autant prohiber la version émeraude à cause de son RNG cassé ? Or que – pour votre mémoire – la version émeraude fut une version qui a révolutionné la shasse. En effet, ce fut la première version qui a instauré la shasse avec les capacités spéciales (Statik, Magnipiège, Synchro, ... ) ainsi que la première version à avoir offert le bonus de la pierre stase pour ce qui est de la reproduction. Après, cette version recèle de nombreux pokémons rares et magnifiques. Je ne citerai que le rarissime Mew qui n'est que disponible sur cette version, ou encore la seconde zone du parc safari qui comporte de nombreux pokémons de la 2G et tout aussi magnifiques en shinies : Teddiursa, Ecremeuh, Malosse, Tournegrin, Natu, ...

N'oublions tout de même pas les grands classiques de RS tels que : le trio des regis, le trio climatique, les starters ou encore les fameux Morphéo/Kecleon/Terhal. Ou bien les légendaires bonus d'émeraude comme le duo 2G ou Deoxys...
Et, qui parmi-vous serait tenté par le défi de barpau ?

Par conséquent, doit-on forcément éviter toute shasse sur ces versions sous prétextes qu'elles peuvent se retourner contre nous ?

Article ajouté le Samedi 05 Mars 2016 à 19h32 | |

Commentaires

Chargement...