6 votes

Qu'est-ce qui fait que certaines graines génèrent des grottes infinies dans Minecraft ?

J'ai vu les deux graines suivantes générer des grottes infinies :

107038380838084
164311266871034

Mais pourquoi cela se produit-il ?

9voto

IronAnvil Points 5606

Cela vient de cette page :

Seed 107038380838084 casse Minecraft de manière intéressante. Il génère des puits de mines infinis, des grottes, etc. Cela se produit parce que la fonction Random() de Java renvoie zéro avec cette graine et Minecraft se brise alors de manière intéressante.

Quelques détails supplémentaires cette page :

Notez que seuls les grottes et les puits de mines sont affectés par le bug de répétition puisqu'il résulte d'une valeur de multiplicateur fixée à 0 et qu'ils sont les seuls à l'utiliser, du moins directement (le jeu dérive une graine unique pour chaque chunk en multipliant les coordonnées x et z par deux nombres dérivés de la graine du monde, et l'un d'eux (mais pas les deux) peut être 0, ce qui fait que la coordonnée correspondante n'a aucun effet sur la graine du chunk. Les villages et les temples utilisent un algorithme supplémentaire, qui est immunisé contre ce bogue, pour déterminer où ils sont situés dans une région donnée de 32x32 chunk, mais devraient toujours générer la même chose s'ils ont les mêmes décalages x et z. Les éléments tels que les arbres et les minerais ne sont pas du tout affectés car les multiplicateurs sont toujours des nombres impairs, ce qui exclut implicitement 0).

Plus sur la même page, quelque chose que j'ai trouvé intéressant :

De plus, comme mentionné dans le deuxième fil de discussion ci-dessus, pratiquement toutes les graines ont un bug (dû à la façon dont la graine du morceau est déterminée) qui fait que les mêmes grottes et puits de mines sont générés à des paires de coordonnées inversées (par exemple 100, -100 et -100, 100), avec jusqu'à 1/3 de tous les morceaux qui correspondent (quand j'ai étudié cela plus en détail, quelques graines semblent être immunisées et le pourcentage de morceaux qui correspondent était toujours 1/(3*n) ; par exemple 1/3, 1/6, 1/12, etc).

Il semble que le chiffre 0 soit utilisé comme multiplicateur pour la génération "aléatoire" de mondes et que la même section soit générée à plusieurs reprises. De plus, ce ne sont pas les deux seules graines. Il y en a des dizaines de milliers, si ce n'est plus.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X