Correlated randomness in Slay the Spire 2
L'auteur a découvert que de nombreux générateurs de nombres aléatoires de Slay the Spire 2 sont corrélés, rendant certaines sorties prévisibles. Parmi les exemples concrets, Neow's Bones en Underdocks donne environ 54 % de chances d'accorder Debt, la carte Rebound est impossible à obtenir via Trash Heap en solo, et le premier combat laisse tomber une potion ~76 % du temps en Underdocks contre ~4 % en Overgrowth. La cause provient de l'implémentation de System.Random en C#, dont l'état initial dépend linéairement de la valeur absolue de la graine, tandis que le jeu crée de multiples RNG en ajoutant des offsets fixes, produisant ainsi des sorties corrélées et exploitables. Ces corrélations biaisent reliques, événements, cibles aléatoires, récompenses et autres mécaniques, pouvant rendre certains objets introuvables ou déséquilibrer le gameplay. L'auteur propose des solutions simples comme remplacer System.Random par un PRNG non linéaire (par exemple PCG32), utiliser des fonctions de hachage ou des RNG basés sur compteur, et invite les développeurs à corriger ce bug.