Je suis curieux, d'où vient ce chiffre ?
18,446,744,073,709,551,616 est 2^64 . En termes de programmation, 18.446.744.073.709.551.61 5 tend à être la limite supérieure d'une unsigned long long
mais cela dépend de l'implémentation. 18,446,744,073,709,551,61 6 seront tous les nombres possibles pour un unsigned long long
y compris 0 (c'est-à-dire 18 446 744 073 709 551 615 + 1).
Essentiellement, il est très probablement provoqué par les limites d'un type de données. Dans ce jeu, il semble que le type de données soit la graine de la planète.
A graines est une variable permettant de générer des données (pseudo) aléatoires dans un algorithme. En supposant que l'algorithme reste inchangé, la même graine générera les mêmes données.
Par conséquent, l'utilisation de la même graine de planète vous donnera la même planète. Si vous avez joué à Minecraft, vous comprendrez probablement le concept général de réutilisation des graines pour obtenir la même carte.
2^64 pour une graine semble avoir été choisi pour donner l'illusion de mondes infinis. Techniquement, il ne peut y avoir que 18,446,744,073,709,551,616 mondes via cette graine. Fonctionnement, il faudrait 584 millions d'années si vous pouviez visiter un nouveau monde toutes les secondes. ou pour citer le même article :
Il faudrait environ 7,3 milliards de personnes, travaillant toutes de la naissance à la mort, visitant une planète chaque seconde de leur vie dans ce jeu, pour voir 18,4 quintillions de mondes combinés. La population actuelle de la Terre est de 8 milliards de personnes. Donc, oui, No Man's Sky a un univers infini, pour toute personne raisonnable, en tout cas.
Cela signifie-t-il qu'il y a 18 446 744 073 709 551 616 planètes uniques ?
Non, il n'y a aucune garantie que 2 graines uniques donneront 2 planètes uniques. Par exemple, les graines 1 et 90 000 peuvent générer la même planète. Tout cela dépend de l'algorithme lui-même.
Pour que l'algorithme puisse générer une planète unique pour toutes les graines :
- Il existe 18 446 744 073 709 551 616 combinaisons uniques ou plus des propriétés des planètes.
- L'algorithme associe les graines à chacun de ces états uniques une seule fois.
Sans aucune analyse de l'algorithme impliqué, nous ne pouvons que spéculer si cela se produit.
Tout ce que j'ai pu trouver sur l'algorithme est qu'il a 14 000 lignes et a été écrit de manière à créer mondes navigables . Le fait de les rendre navigables suggère qu'une certaine simplification est appliquée pour éviter les structures complexes. Le bon sens voudrait que cela limite le caractère unique des planètes.
Fonctionnellement, il semblerait que chaque planète visitée soit unique. Techniquement, et bien comme je l'ai dit plus haut, cela dépendra de l'algorithme.
Je pense qu'ils peuvent calculer que leur algorithme de génération de monde a 18 446 744 073 709 551 616 valeurs de sortie uniques, et que toutes les nouvelles planètes après cela seraient des répétitions.
L'algorithme n'autorise que les graines comprises entre 0 et 18 446 744 073 709 551 615, inclus. Si vous pouviez d'une manière ou d'une autre ajouter une valeur supérieure à 18 446 744 073 709 551 615, je supposerais que vous verriez soit une panne, une erreur ou un dépassement de capacité à un nombre valide. Par exemple, 18,446,744,073,709,551,616 peut déborder sur 0.
En fait, je suis presque certain que 18 446 744 073 709 551 616 est le nombre maximal de graines, sans tenir compte des astuces pour forcer une valeur plus élevée.
4 votes
Un fait amusant ! Ce nombre est si élevé que chaque joueur sur Terre devrait atteindre un cumul de ~ 607 000 000 (six cent millions) de planètes pour avoir une probabilité de seulement 1 % d'avoir des planètes répétées. Ce n'est pas tout à fait déraisonnable si le jeu connaît un succès fou pendant une longue période, mais c'est très très improbable.
0 votes
Je ne pense pas qu'ils utilisent ce numéro comme une semence mais simplement comme un numéro d'identification, mais je peux me tromper.
92 votes
Eh bien fils, quand deux entiers s'aiment beaucoup...
2 votes
En fait, il a 18 446 744 073 709 551 616 caractères uniques. entrée valeurs.
0 votes
@corsiKa : Oh, c'est quand ils commencent à se multiplier ?