• smeg@feddit.uk
    link
    fedilink
    English
    arrow-up
    0
    ·
    2 years ago

    It still feels like it should be orders of magnitude less. For example, if each piece of cheese has an ID number that maps to cheese, an ID for what area it’s in, three coordinates for where exactly it is, and maybe a few more variables like how much of it you’ve eaten. Each of those variables is probably only a couple of bytes, so each item is probably only 20B or so, which means that even if you interacted with a million different items and there was no compression going on then that’s still only 20MB of save data.

    • wax@feddit.nu
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 years ago

      Each object also needs the orientation, possibly also velocity and angular rates.

    • vithigar@lemmy.ca
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 years ago

      Bold of you to assume the data in save files is packed binary and not something like JSON where { “x”: 13872, “y”: -17312, “z”: -20170 } requires 40 bytes of storage.

      • addie@feddit.uk
        link
        fedilink
        English
        arrow-up
        0
        ·
        2 years ago

        Agreed. JSON solves:

        • the ‘versioning’ problem, where the data fields change after an update. That’s a nightmare on packed binary; need to write so much code to handle it.
        • makes debugging persistence issues easy for developers
        • very fast libraries exist for reading and writing it
        • actually compresses pretty damn well; you can pass the compress + write to a background thread once you’ve done the fast serialisation, anyway.

        For saving games, JSON+gzip is such a good combination that I’d probably never consider anything else.

    • tehevilone@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 years ago

      Save bloat is more often related to excess values not being properly discarded by the engine, if I remember right. So it’s not that the objects themselves take up a lot of space, but the leftover data gets baked into the save and can end up multiplying if the same scripts/references/functions get called frequently.

      It was a lot worse with Skyrim’s original engine, and got better in Fallout 4 and Skyrim SE. The worst bloat happens with heavy modlists, of course, as they’re most likely to have poor data management in some mod.