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:
- There are 18,446,744,073,709,551,616 or more unique combinations of planet properties
- 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.