Sorry if this has been asked before (couldn't quite find anything)!
So, how procedural is SpaceEngine? How is it possible that I can fly to some random galaxy to some random solar system to some random planet and can send those coordinates to someone else and they can see the EXACT same thing I can?
If it's procedural then shouldn't that mean that EVERYONES universe is different? If it isn't that procedural then how is having every planet in every solar system in every galaxy even possible in a 1.3GB game? That would be an extreme amount of data would it not? This game has to have billions if not trillions of solar systems within itself...how are all the planets and what not the same between everyone?
I don't know...I'm just confused...can anyone explain just how this is possible?
Pseudorandom number generators are mathematical functions that produce very complicated and random-appearing numerical sequences. But if you put the same initial value into the function, you get the same sorta-random result.
In the case of games and universe simulators, these results are close enough to randomness to be convincing, and they have the added benefit of generating the same sequence for each player, so long as they all use the same inputs.
Here's a very simplified example. Let's say I have a game called Toy Room, where you walk around a virtual toy room and see a collection of toys placed there by a pseudorandom number sequence. You check floor tile 2-4, and those numbers (when passed through the pseudorandom generator) come back with the code for "Blue Stuffed Elephant". Everyone who plays Toy Room and looks at floor tile 2-4 will see the same thing.
I hope that sheds a little light on your question.
To break it down simply: everything is just a series of mathematical equations and expressions. As with any case in math, for any given input you will always get the same output. For example, if x=14, then x3 - 4x + 7 * (1/x) will always equal 2688.5, no matter how many times you calculate it. Anyone who tries to solve that equation for x=14 will get the same result.
The same is true for procedural generation from a fixed seed.