18 votes

Comment fonctionnent les graines de niveau ?

Je vois des graines de minecraft répertoriées, et j'ai commencé à essayer les miennes.

J'ai remarqué que l'utilisation de la même graine produit des cartes très similaires au niveau des styles, c'est-à-dire commencer dans un biotope spécifique, des montagnes très hautes, etc., mais reproduisent-elles les cartes exactement et vous apparaissez simplement au même endroit, ou sont-elles simplement un ensemble de règles très spécifiques pour la région où vous apparaissez pour la première fois?

Si j'ai deux cartes de la même graine, et je marche 1000 blocs vers le nord, les cartes seront-elles identiques/similaires ou totalement aléatoires après la première zone d'apparition?

45voto

Jax Points 1877

Les ordinateurs sont des machines déterministes, incapables en tant que telles de comportements non déterministes (= aléatoires). Ce qu'ils peuvent faire, c'est utiliser des mathématiques complexes pour simuler des comportements aléatoires : cela donne des nombres pseudo-aléatoires.

Par exemple, lorsque j'exécute Python 3 pour Windows 7, j'obtiens :

>>> import random
>>> random.seed(1) #Je fixe la graine à une valeur fixe...
>>> random.random() #et demande 3 nombres "aléatoires"
0.13436424411240122
>>> random.random()
0.8474337369372327
>>> random.random()
0.763774618976614

Ensuite, je me connecte à une machine Ubuntu 11.04 avec Python 2, et j'obtiens :

>>> import random
>>> random.seed(1) #Je fixe à nouveau la graine à la valeur fixe précédente
>>> random.random() #et demande à nouveau 3 nombres "aléatoires"
0.13436424411240122
>>> random.random() #...ne semble pas très aléatoire, n'est-ce pas ?
0.8474337369372327
>>> random.random()
0.763774618976614

Ainsi, le moteur pseudo-aléatoire identique donnera toujours les chiffres identiques dans le même ordre. Cela n'implique pas que le jeu utilise réellement les mêmes chiffres de la même manière, cependant, comme l'a remarqué avec perspicacité yx_. Cependant, le jeu pourrait être écrit de manière à garantir cela ; par exemple, on pourrait dériver de chaque graine (disons "foo") une graine différente pour chaque bloc (disons "foo@1@2" pour déterminer le chunk 1,2). Comment pouvons-nous savoir comment cela est fait ?

Il n'y a qu'une seule façon de le savoir !

J'ai utilisé la graine "Mersenne" pour créer deux mondes, un monde A et un monde B.

Dans le monde A, j'ai apparu dans le monde A à (262,5, -280,5) ; j'ai tenté de me déplacer dans la direction où j'ai apparu aussi droit que possible pendant 500 unités, puis en arrière pour mille. Voici ce que j'ai obtenu.

Carte de Mersenne A.

Dans le monde B, j'ai apparu à (+259,5, -276,5), juste pour simplifier les choses. J'ai essayé de me déplacer dans la direction opposée à celle où j'ai apparu pendant 500 unités, puis en arrière pour mille ; en bref, j'ai voyagé en arrière et en avant sur le même 1,5 km, juste dans un ordre différent. Voici ce que j'ai obtenu.

Carte de Mersenne B. Principalement identique.

(Gardez à l'esprit que, en explorant, j'ai enlevé des blocs ici et là à des fins de navigation.)

Ces résultats sont étonnamment identiques. Je dis étonnamment car j'avais certainement l'impression que les deux mondes étaient assez similaires... mais pas tout à fait les mêmes.

En effet, si nous zoomons sur le point d'apparition, nous pouvons voir quelques différences... mais il s'agit principalement de différences concernant les arbres. La zone souterraine n'est pas représentée, et identique.

Point d'apparition, zoomé.

En bref : le système de graine est presque parfait et la même graine vous donnera deux mondes qui sont presque identiques l'un à l'autre. Je n'ai pas essayé le Nether, mais je n'ai aucune raison de croire qu'il se comporterait différemment.

3voto

ADB Points 1548

La graine dans Minecraft est utilisée comme une graine aléatoire, c'est-à-dire qu'elle fait en sorte que le générateur de terrain produise un terrain aléatoire, mais de manière reproductible. Utiliser la même graine entraînera un terrain identique, aussi loin que vous marchiez, jusqu'aux fleurs, et le Nether.

Votre point d'apparition peut ne pas être identique, cependant.

Il existe environ 18 quintillions (18 000 000 000 000 000 000) de graines possibles différentes.

2voto

Martin C. Martin Points 1145

Les graines pour une carte dans minecraft sont utilisées à l'intérieur d'un Générateur de Nombres Pseudo-aléatoires.

Un générateur de nombres pseudo-aléatoires (PRNG) est un algorithme permettant de générer une séquence de nombres qui approxime les propriétés des nombres aléatoires. La séquence n'est pas vraiment aléatoire en ce sens qu'elle est entièrement déterminée par un ensemble relativement restreint de valeurs initiales, appelé l'état du PRNG.

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