@nightfire
Uh don't get me started on that 64Bit crap.
remember you could easily subdivide the space into sectors and only Positional Data needs to adress the floating point error (not quaternion neither scale)
32Bit Range = 2^31 − 1 = 2,147,483,647
Positional Data: (unsigned) Vector3(32b_X, 32b_Y, 32b_Z)[1cm Scale], Vector3(32b_X, 32b_Y, 32b_Z)[1.000km Scale], Vector3(32b_X, 32b_Y, 32b_Z)[1.000.000.000.000km Scale]
Positional Data max: 1.000.000.000.000.000.000.000km with a precision of 1cm in all axes
this is without touching the range of floating point error because I used only half of the 32bit total range (factor 1.000.000.000)
Whoaaahhh .. triple precision that musste be double double float!!! ... no it isnt't ... it's 3times 32bit which renders to 34bit (with one 32bit value left over) NOT 64 or 128 bit ...
the binary Data per axis would look like:
[00] [0000 0000 0000 0000 0000 0000 0000 0000] < 32 Bit + 2Bit that gives us 4 32 Bit values - (for easy computing and rendering we pass just 4 32 bit values to the GPU)
Basically KSP is doing it that way, though with 2 32 Bit Values not 3 as seen in this example.
Fake Edit: if you took the 4th 32bit value into the positional data you get ... tadaa ... in the sextillion range and if I shit on Floating point error safe zone in the 100 sextillion range (sounds familiar?)
Star Citizen is selling 34 bit as 64 bit without knowing how binary calculation is working (or with knowing and blantantly ...uhm... not telling the truth)
And this makes me angry, this is something we are working with for decades (tricking out variables was always there) ... now CIG comes in the year 2015 and is selling this as new feature ... and the blinded cultist are cheering and chanting that all other devs are to incompetent not to come with this earlier ... we did but we didn't lie to you and never make a fuss about it.
Aaaand another fake edit:
This sextillion range includes the whole game with all planets, planets surfaces and so on.
Now the funny part. we have a planet that not only rotates, on top of that it should orbit around a sun.
Planets are ... spheres (or potatoes or aubergines depends on what NASA is telling you that day) but we take good ole Spheres.
Spheres are funny because all calculation on the surface is based on pi which is never correct and always an estimate to a point.
Now we shit on floating point error because we are just out of college and think we can avoid it because reasons and our manager likes BIG numbers.
We have to populate a planet with physic bodies (and all physic engines are a little bit .. uhm ... not so precise (this includes physX)) we need physic bodies in a 100 sextillion km range with 1cm precision, on a sphere, which rotates, which circles around a sun (another pi value), thousands of them, with multiple "physics grids".
Basically I may not think too much about it because this is the part my brain heats up.
this system alone would take years of development with a very good and specialised team. Now take a look at port olisar which is not rotating, a flat plane (kind of) and not orbiting around anything.
Take a look at it and see with your own eyes how precise the physic is working there - now imagine this team that produced that buggy mess has to make it work on planets and orbits.
fake fake edit of the fake edit:
Don't get me started on multiple local physics grids or I will start to explain how simple it is to design an elevator in a physic based game ... now just instead of a script give the player control over the elevator and instead of a simple platform just design it as a spaceship alooklike room with a change in the character controller behavior.
If you are into Unity3D there is a module in the shop called Alien Sky for $40 that is doing what Star citizen does (
https://www.assetstore.unity3d.com/en/#!/content/68425)
But CIG is selling it as ... oh I really hate this company with their rebranding of old tech and lying to their community ...