Where did the 18,446,744,073,709,551,616 number come from?

Where did the 18,446,744,073,709,551,616 number come from? - Collection of banknotes with dollar bill on top

Reading about No Mans Sky, and hearing about the 18,446,744,073,709,551,616 planets there are, I'm curious, where did that number come from? Does that mean there are 18,446,744,073,709,551,616 unique planets, and if1 they're all found, the next planet would be a repeat? Or does it mean they've places some kind of "hard limit" in the code for that number? Or something else completely?

My current guess, is they can calculate that their world generation algorithm has 18,446,744,073,709,551,616 unique output values, and any new planets after that would be repeats.

1 I know that this will never happen

Update: I've reached out to Hello Games, and if they reply (I imagine they're still a little busy at the moment!) I'll update this post with what they say.



Best Answer

I'm curious, where did that number come from?

18,446,744,073,709,551,616 is 2^64. In programming terms, 18,446,744,073,709,551,615 tends to be the upper limit of an unsigned long long, but this depends on the implementation. 18,446,744,073,709,551,616 will be all of the possible numbers for an unsigned long long, including 0 (i.e. 18,446,744,073,709,551,615 + 1).

Essentially, it is very likely brought about by the limits of a data type. In this game it appears the data type is the planet seed.

A seed is a variable for generating (pseudo) random data in an algorithm. Assuming the algorithm remains unchanged, the same seed will generate the same data.

Therefore, using the same planet seed will give you the same planet. If you have played Minecraft, you will probably understand the general concept of re-using seeds to get the same map.

2^64 for a seed appears to be chosen to give the illusion of infinite worlds. Technically, there can only be 18,446,744,073,709,551,616 worlds via this seed. Functionality, it would take 584 million years if you could visit a new world every 1 second, or to quote from the same article:

It would take about 7.3 billion persons, all working from birth until death, visiting a planet every second of their lives in this game, to see 18.4 quintillion worlds combined. The current population of Earth is 8 billion people. So, yeah, No Man's Sky has an infinite universe, to any reasonable person, anyway.


Does that mean there are 18,446,744,073,709,551,616 unique planets

No, there is no guarantee that 2 unique seeds will give 2 unique planets. For example, seed 1 and 90,000 may generate the same planet. This will all depend on the algorithm itself.

In order for the algorithm to generate a unique planet for all seeds:

  1. There are 18,446,744,073,709,551,616 or more unique combinations of planet properties
  2. The algorithm maps seeds to each of these unique states once only

Without any analysis on the algorithm involved we can only speculate if this occurs.

All I could find out about the algorithm is that it has 14,000 lines and was written in a way to create navigable worlds. Making them navigable suggests there is some simplification applied to prevent complex structures. Common sense would suggest that this limits the uniqueness of planets.

Functionally, it would seem likely that each planet you visit will be unique. Technically, well like I said above, it will depend on the algorithm.


My current guess, is they can calculate that their world generation algorithm has 18,446,744,073,709,551,616 unique output values, and any new planets after that would be repeats.

The algorithm would only allow a seed from 0 to 18,446,744,073,709,551,615, inclusive. If you could somehow add a value greater than 18,446,744,073,709,551,615 I would assume that you would either see a crash, error or an overflow to a valid number. For example, 18,446,744,073,709,551,616 may just overflow to 0.

Essentially, I am almost certain that 18,446,744,073,709,551,616 is the maximum seed, regardless of any tricks to force a higher seed value.




Pictures about "Where did the 18,446,744,073,709,551,616 number come from?"

Where did the 18,446,744,073,709,551,616 number come from? - Crop anonymous financier planning budget writing numbers in notebook
Where did the 18,446,744,073,709,551,616 number come from? - Composition of calculator with paper money and notebook with pen
Where did the 18,446,744,073,709,551,616 number come from? - From above of crop anonymous economist calculating total amount of income using calculator app on cellphone near piles of greenbacks and notebook with pen



What number is 18446744073709551616?

Eighteen quintillion, four hundred and forty-six quadrillion, seven hundred and forty four trillion, seventy three billion, seven hundred and nine million, five hundred and fifty one thousand, six hundred and sixteen. The number of grains of rice on the last square of the chessboard.

How many planets are in no mans sky?

Players are free to perform within the entirety of a procedurally generated deterministic open world universe, which includes over 18 quintillion planets.



The infinite life of pi - Reynaldo Lopes




Sources: Stack Exchange - This article follows the attribution requirements of Stack Exchange and is licensed under CC BY-SA 3.0.

Images: Pratikxox, Karolina Grabowska, Karolina Grabowska, Karolina Grabowska