Avatar

Things that inexplicably aren't patched yet (Destiny)

by uberfoop @, Seattle-ish, Thursday, January 15, 2015, 14:45 (3401 days ago) @ Cody Miller
edited by uberfoop, Thursday, January 15, 2015, 14:52

Dude, the vault would be KILLOBYTES at most, not anywhere near a meg. You need to save what weapon, it's exp progression, and what slot it's filled in. That's a handful of numbers.

Yep, 1MB seems extremely high.

How much information could you possibly use?

A weapon has:
-Some object ID
-Experience
-Base stats, including required level (let's suppose that they left room for 100 such numbers, just to be ridiculous)
-A table of upgrades. Each might consists of an ID, a status (whether it's been learned), and possibly a splash of extra data as a modifier. Who knows how big the table can get, let's pretend it's something huge like 15x20.

Okay, now let's suppose that we don't try to do any sort of compression or bit-packing, and let's also suppose we're lazy jerks who always use a 64-bit value for every single data point. Then we're up to 6576 bytes per entry. If all 60 entries are given equal space, that's around 400kB total.

But, this estimate was created under very generous assumptions. Armor could probably use a bit less memory and other items could use almost nothing. There are spots where I'm storing a boolean into a 64-bit value, and although most of the data in the table probably wouldn't be that shrinkable, you could still squeeze representations down tremendously. Furthermore, ability tables don't vary much by object ID, so it's entirely possible that they only have to store a few entries (rather than several hundred). Ditto for base stat dependencies (base stats might be derived from the other information including the object ID and not actually stored independently per-object). So on and so forth.

I would personally guess that if the object system was built with storage and tight memory usage in mind, each player's vault could probably be squeezed down to a few kB. I would be stunned if it's as high as 1MB, as even the ridiculously naive and very expandable layout I described above would be less than half that.

(It still might not be trivial to expand system like this, though.)


Complete thread:

 RSS Feed of thread