Encyclopédie DQ9

Le hasard du jeu (pour les speedrunners)

L'essentiel

  • Le jeu a trois suites de nombres au hasard, les « tables » A, B et C.
  • Table A : apparition des monstres, butin ordinaire, coffres bleus, meubles… Le menu des cartes au trésor la remet à une valeur connue : c'est la base des manipulations.
  • Table B : soins hors combat, alchimie miracle, fontaine, composition des groupes… On peut retrouver où l'on en est grâce aux PV que rend un sort de soin.
  • Table C : tout ce qui se passe en combat. Elle repart de zéro à chaque combat : on ne peut pas la prévoir.

Le jeu a trois sources de hasard, les « tables » A, B et C de la communauté, lues et vérifiées dans son code (le portage Python donne exactement les mêmes tirages que le code du jeu exécuté dans un émulateur).

Table A : générateur 32 bits

Sous le capot

x = x × 0x41C64E6D + 0x3039, tirage = (x ≫ 16) & 0x7FFF (0 à 32 767).

  • Semé avec la graine d'une carte au trésor pour fabriquer l'antre : un antre est toujours le même pour une même carte. Ouvrir le menu des cartes le ressème avec la graine de la dernière carte de la page, suivie de 33 tirages : c'est le « map method » de la communauté (voir Manipulations d'expérience).
  • Il tire la composition des combats en mer (voir plus bas), l'apparition des monstres sur la carte, l'attaque surprise, le butin des monstres ordinaires, les coffres bleus, les meubles et les étincelles, les déplacements des PNJ (2 tirages par décision : la direction, puis une attente de 2 à 4 s), la secousse de la tête cognée au plafond (29 tirages, un par image) et le choix des objets de la DQVC (voir table B).
  • Butin ordinaire : une chance par groupe ; l'objet rare tombe si ⌊N × (tirage − 1) ÷ 32 767⌋ = 0 (presque exactement 1 chance sur N) ; s'il tombe, le commun n'est pas tiré.
  • Attaque surprise : tirage sur 100 inférieur à adresse × 0,05 + 2 (la plus haute adresse de l'équipe ; +10 en touchant le monstre de dos). Sinon, embuscade si le tirage est inférieur à 2 (12 quand le monstre nous prend de dos).

Table B : générateur 64 bits global (la « table Hoimi »)

Sous le capot
  • x = x × 0x5D588B656C078965 + 0x269EC3 (modulo 264) ; chaque tirage rend les 32 bits de poids fort. Entier de 0 à n−1 : min(n − 1, ⌊n × tirage ÷ 4 294 967 295⌋), un seul tirage.
  • Semé en même temps que la table A, avec le compteur matériel de la console : A reçoit les 32 bits bas, B les 64 bits. Juste après la mise sous tension le compteur est petit, d'où B = A et peu de graines possibles par console.
  • Il tire les soins hors combat, l'alchimie (miracle), la fontaine, à terre le nombre et la composition des groupes de monstres (le groupe du monstre touché reste toujours en tête, à gauche), en mer l'ordre des groupes et l'attente avant le combat suivant, les PV de départ des monstres (80 à 100 % de la fiche), le butin des boss d'antre et légendaires, le stock des objets de la DQVC et l'arrivée d'un compagnon appelé chez Tulipe (1 tirage pendant son entrée en scène).
  • C'est ce qui rend la « table Hoimi » prévisible : les PV rendus par un sort de soin sortent de ce flux, donc ils révèlent la position dans la suite.
  • Combien de tirages (mesuré en jeu : Soin +1 par lancer, même à PV pleins ; herbe médicinale et eau magique +2 ; Examiner en combat +1 ; début de combat +2 pour 1 groupe, +5 pour 2 (+7 pour 3, lu dans le code), puis +1 par monstre ; chez Tulipe, créer un compagnon +1 (ce tirage, de 0 à 15, choisit sa couleur, celle du menu « modifier la couleur de chaque membre de l'équipe » : on la voit sur la tenue qu'il porte quand il n'a rien sur le corps) et l'appeler dans l'équipe +1 ; élixir elfique et aile de chimère 0 ; connexion à la DQVC +6. D'après la communauté, cohérent avec le code : Multisoin +1 par cible, Omnisoin +2 par cible, alchimie miracle +1, fuite +1 quand elle n'est pas d'office ; auberge, sauvegarde, Téléportation 0).
  • DQVC +6 : à chaque connexion réussie, la table A choisit les 6 objets dans la liste de la semaine (tirage % N, refait en cas de doublon : 6 tirages au moins), puis la table B tire le stock de chacun, min + entier(max − min + 1) : +6 (moins si la semaine a moins de 6 objets). Connexion ratée ou « VPC DQ sans connexion » : 0. Le +6 était connu de la communauté (blog japonais drakue9, 2010) ; sa cause est le stock, recalculé exactement en jeu avec la DQVC chez soi.
  • Butin des boss : lot rare, lot commun, puis lot garanti ; chacun tombe si entier(100) < pourcentage. Avec les « Vérités du Voleur », les trois lots sont retirés à pourcentage × niveau ÷ 100 (tronqué : −1 au niveau 99), le lot garanti à 0 %.

Table C : générateur 64 bits du combat

  • Même générateur que la table B, mais une instance propre au combat, ressemée à chaque combat avec le compteur matériel.
  • Il tire le déroulement du combat : dégâts, critiques, ordre des tours, choix des monstres… Il n'avance pas la table Hoimi.

En mer

  • Aucun monstre visible : un compte de pas tiré dans la table B entre 30 et 100 baisse d'environ 1 par unité naviguée ; à 0, combat. La zone (centre, anneau, bords, coins : voir le lieu Océan) est celle de l'eau sous le navire.
  • Composition dans la table A, avec des restes de division : nombre de groupes = tirage % (p1 + p2 + p3) + 1 comparé aux poids de la zone (centre 6 / 4 / 2, anneau 5 / 4 / 3, bords et coins 4 / 4 / 4) ; pour chaque groupe, espèce = tirage % total des poids + 1, nombre = tirage % (max − min + 1) + min. Soit 3, 5 ou 7 tirages A. Au-delà de 5 monstres, retrait comme à terre.
  • Puis l'ordre des groupes est mélangé dans la table B (entier(2) ou entier(6)) et, contrairement à la terre ferme, le mélange se voit : l'ordre à l'écran, de gauche à droite, est l'ordre mélangé. Vérifié en jeu sur une cinquantaine de combats.

La mémoire du combat (à terre comme en mer)

  • Avant de charger les monstres, le combat prend la place libre de sa mémoire (environ 153 Ko) et passe les espèces dans l'ordre des groupes ; chaque espèce en réserve une part fixe (glacyclone 42 Ko, vilerequin pèlerin 52, ardamphibien 63, grand troll 96…). La première espèce qui ne tient plus est retirée avec toutes les suivantes, et leurs groupes avec elles.
  • Ainsi, dans les mers des bords et des coins, jamais trois espèces ensemble ; aux Falaises d'Altis, un griffeur avec un grand troll reste seul. Les « % des combats » de l'encyclopédie en tiennent compte. Vérifié en jeu : 30 trios d'espèces imposés en mer (gardés jusqu'à 153 Ko, perdus dès 154 Ko) et des combats imposés à terre.
  • À terre, l'espèce du monstre touché est remise en tête juste avant ce contrôle : elle n'est jamais retirée. La taille de l'équipe ne change rien (même place libre mesurée avec le héros seul et avec 4 membres).

Où naissent les monstres

Lu dans le code du jeu, qui refait ce calcul à chaque image, et recoupé avec les vidéos de TKG qui affichent les points d'apparition : Spawn Node Display, 3.5m Radii, Party Member Bias, Scoring System, AT Stops in Nipple Maps.

Le point devant le plus en face du regard :choisi sans tirage aucun point devant :1 tirage au hasardà moins de 5 unités : ignorés
Le héros (rond) regarde dans le sens de la flèche ; les losanges sont les points d'apparition de la zone.
Le cercle de 3,5 unités compagnon hérospoint choisi un membre à moins de 3,5 :rien ne naît,rien n'est tiré
Un membre de l'équipe trop près du point choisi bloque l'apparition et le tirage de cette image.
Dans un antre▲ regarder l'escalier qui montedepuis la case voisine :table figée salle d'une case :aucun tirage
Un point par case praticable (points), reliés de case en case ; l'escalier qui monte (▲) n'accueille jamais de monstre.
  1. Rien ne se passe tant que le minuteur d'apparition n'a pas passé 1 seconde, ni quand 12 monstres sont déjà là.
  2. Le jeu prend les points d'apparition de la zone situés à plus de 5 unités du héros ; les plus proches sont ignorés.
  3. Le point le plus en face du regard est choisi sans tirage. S'il n'y en a aucun devant, un tirage en choisit un au hasard parmi les autres.
  4. Si ce point est trop loin de la ligne du regard (au-delà de 10 unités), le jeu abandonne sans rien tirer : tourné dans cette direction, le héros fige la table A. Ce sont les « points d'arrêt » des manipulations.
  5. Si un membre de l'équipe est à moins de 3,5 unités du point choisi, rien ne naît et rien n'est tiré à cette image : un compagnon posé sur le point fige lui aussi la table.
  6. Sinon, un tirage donne l'espèce dans la table de la zone, et le monstre apparaît.
  • Dans un antre : un point par case praticable, relié aux cases voisines ; seuls comptent les points reliés à celui du héros. L'escalier qui monte n'accueille jamais de monstre : regardé depuis une case voisine, il fige la table. Dans une salle d'une seule case coupée du reste (hors limites), il n'y a plus aucun candidat, donc plus aucun tirage. En entrant dans un étage, la table A est ressemée avec l'horloge : c'est pourquoi la map method d'antre se fait sur place.
  • Étage sans monstre (un étage d'antre dont la mémoire est pleine, voir Génération des antres) : le jeu tire bien une espèce, mais elle ne peut pas naître. Le minuteur n'est remis à zéro qu'à une naissance : une fois les 5 secondes passées, le jeu retente à chaque image, et la table A avance d'un tirage de plus par image (l'espèce). Les points d'arrêt la figent quand même. Sur un étage à un seul monstre, c'est pareil jusqu'à ce que l'espèce tirée soit la bonne.
  • En multijoueur, les autres joueurs comptent aussi : une tentative par image et par joueur, 4 au plus.

8 objets au plus par combat

  • Le butin d'un combat tient dans un tableau de 8 places : au-delà, plus rien ne s'ajoute. Il y a une chance par groupe de monstres, plus une passe par porteur des « Vérités du Voleur » (voir les tables A et B plus haut).
  • Records filmés par TKG, tous dans la limite : 8 objets sur Mortamor niveau 1 ; 4 et 5 objets sur des boss légendaires ; à 4 joueurs, 5 objets dont l'armure victorieuse et 8 éclats de bombe ; graines de vie ×3 et ×4 en un seul combat.

La table Hoimi : ce que la communauté en fait

  • Butin des boss (antres et boss légendaires) : tiré dans la table B, lot rare, lot commun puis lot garanti, chacun si entier(100) < pourcentage. Les lots à 2 % se visent comme l'alchimie miracle : on retrouve sa position avec quelques soins, puis on avance jusqu'à une position qui fait tomber le lot. Voir l'outil Table Hoimi.
  • Le combat suivant : à terre, le nombre de groupes et leur composition se tirent dans la table B (le groupe du monstre touché reste en tête). On peut donc prévoir si le prochain monstre sera seul ou accompagné.
  • PV de départ des monstres rencontrés : (int)(PV × hasard(0,8 ; 1) + 0,5), aussi dans la table B. Gluant de métal (4 PV) : 3 PV 37,5 % du temps, 4 PV le reste (Sylwer donne 37 % et 60 %).
  • Graine au démarrage : les tables A et B partent de la minuterie de la console, lue quand la séquence d'ouverture commence, avant le logo Nintendo, environ 0,4 s après le lancement du jeu. Rien d'autre n'y entre : ni date, ni heure, ni touche, ni sauvegarde. La graine mesure donc seulement la durée du démarrage, à deux millionièmes de seconde près. Sur DS, des écarts de deux millièmes de seconde donnent environ un millier de graines possibles. Une console qui démarre toujours exactement au même rythme donne toujours la même graine : c'est ce que la communauté constate sur 3DS et 2DS.
  • Astuce du couvercle : sur une DS « fat », TKG retrouve la même graine quatre fois en fermant le couvercle juste après le « tic » de l'écran d'avertissement, pendant le lancement du jeu. Le jeu, lui, ne regarde le couvercle qu'après avoir pris la graine : sa mise en veille ne la change pas. L'effet vient donc de la console pendant le lancement, ce que le code du jeu ne peut pas montrer.
  • La graine de speedrun de Sylwer : 1A26E, choisie parce qu'elle offre beaucoup de bonnes positions (tutoriel « Allons plus loin dans la Hoimi »).
  • Couleur d'un compagnon : le tirage fait en le créant chez Tulipe choisit sa couleur personnelle (modifiable ensuite dans le menu de l'équipe), visible sur la tenue qu'il porte sans rien sur le corps.

Recoupé avec le guide RNG de hurblub (2026), les recherches du Discord « The Quester's Rest » (TKG, MelonGx, DaisukeDaisuke) et les tutoriels de Sylwer (table Hoimi, hasard) : mêmes formules, à quelques détails près que le code tranche (en mer : poids des groupes propres à chaque zone, nombre de monstres par reste de division, retrait divisé par 3) ; la mémoire du combat n'est dans aucune des deux sources.

Ouvrir dans l'encyclopédie complèterecherche, filtres, ma collection, outils des antres