1)
64-Bit sized scenes: how
big you can make a scene which has extents within the
−(263) to 263 − 1 range
2)
64-Bit programs: memory address space related; 32-Bit vs 64-Bit integer types, program, OS, CPU math op performance benefits etc
3)
64-Bit world positioning: a position (x,y,z) within a scene (1)
My comment that backers have no clue what the differences are between the three, still stands as it was originally written. It is irrelevant and immaterial if (1) and (3) are the same (by definition, they are
not). That isn't, and never was, the argument that I was making.
FYI:
i)
Star Citizen backers theory-crafting about 64-Bit world because, as I said, they have no understanding as to what it
means. July 2015
ii)
Star Citizen backers theory-crafting Star Citizen's 64-Bit engine.
Nov 2015
iii)
Tweet I made about this same thing.
Dec 2015. Bonus: If you type "64-bit world positioning" right now in Google, that Tweet is the 2nd of "
About 6,910,000 results".
iv) Interview with Sean Tracy about
64-Bit Engine Tech & Procedural Edge Blending Sept 2016. Bonus: "
One of the big, fundamental changes was the support for 64-bit positioning. What a lot of people maybe misunderstand is that it wasn't an entire conversion for the whole engine [to 64-bit]. The engine is split up between very independent and – not as much as they should be, but – isolated modules. They do talk to each other, but things like physics, render, AI – what are the purposes of changing AI to 64-bit? Well, all the positioning that it will use will be 64-bit, but the AI module itself doesn't care. There were a lot of changes to support these large world coordinates. […] The actual maximum is 18 zeroes that we can support, in terms of space."
1) Ok, you got me there, "64-bit sized scenes" is a meaninglessly vague term in isolation, it doesn't specify units or format, or even that it's a number. I assumed you were of the belief that some specific meaning of (1) was what had been done, because...
2) You clearly didn't think number 2 was relevant, and I agree. My post history here will show how many times I had to tell Elite fans that, no, you don't need a 64-bit exe to get 64-bit numbers.
3) Number three is the thing that actually was done (though I'm cautious of the word "scene", as you sometimes use it as a technical term), and is the thing that you seem to keep saying was not done.
i) Star citizen
backer theory-crafting about that, two highly-upvoted responses correcting them.
ii) I scroll down and find someone quoting, uh,
me, of all people, to correct them. Tier 1 obfuscation. The thread ends with a knowledgeable fan explaining things in a totally sensible way.
iii) A true post, but since SC has both of those things, it's not exactly a harmful or misleading misunderstanding. A burger isn't spicy rice, but I'm having both for dinner.
iv) Sean is an artist, and he occasionally gets things wrong. That said, he's on the money except for the 18 zeroes (assuming he means metres), when I did the rough numbers it came out more like 10 AU IIRC (it's in this thread somewhere). I'm not sure why you highlighted the other stuff, is it an example of him misleading? Evidence for some other vital point? Admittedly, the article then runs off with stuff about 64-bit architectures and we're back to iii.
I guess what I'm trying to say is that I don't see how any of these things falsify the fact that they're using 64-bit floating points for positioning.
I never made those claims. Do try to keep up. Or at least, cite sources like I tend to do, so we can debate them based on merits.
I imagine when one writes as many missives as you, it gets hard to keep track of what you did or didn't claim. I'm here to help:
"As I tweeted this morning, this is done by going the (32-bit * 2) route, whereby you use a 32-Bit positional reference for that fixed object, then treat the player position as a 32-Bit value by using that fixed object as a reference." You obviously disagree with it too - "It's messy. It's rudimentary. OMG! And it can/will break
everything."
You wrote basically a whole essay about how the large-world conversion isn't really 64-bit, and I'm sure I remember something from some other point about this resulting in large ships not fitting inside an 8km map?
Added bonus further down, you refer to the position conversion as "64-bit addressing", which is exactly the kind of muddy phrasing that keeps the 64-bit exe vs 64-bit float misunderstanding alive
Isn't the maximum map size an effect from the 32-bit float meaning that precision gets lower and lower as you go futher out to the edges of the map? Hence the size of the box is the mapsize you can define with acceptable positional precision?
As I understand the floating point data type, that would make sense. It's a case of scale vs precision (or mantissa and exponent). I'm not an expert on game engine stuff though, and it seems there are further complications/restrictions/benefits which are graphics hardware based - which is beyond my current knowledge. I'm a database guy, I understand data and how to model it. To me, it's all 1's and 0's
Absolutely correct. Default CryEngine's 8km is an arbitrary map size limit, you'd be just as functional just outside the boundary, but ~4km from the origin is definitely the place where things start to go weird and I expect that's why they picked the cutoff.