1. If you're looking for help-related things (for example, the key rebinding tutorial), please check the FAQ and Q&A forum! A lot of the stickies from this forum have been moved there to clean up space.
    Dismiss Notice

Size of save files?

Discussion in 'Starbound Discussion' started by Phymone, Sep 16, 2013.

  1. Phymone

    Phymone Void-Bound Voyager

    I was just wondering:

    if every planet is (nearly) infinite, and the number of these planets is also theoretically infinite, how could the game save every single bloc of the many planets we'll encounter?

    It seems logical that every planet will be generated the first time a player "land" on it. But what if, after hundred hours of playtime, I have been visiting near a thousand of planets?

    I can remember that on Minecraft, some servers asked the player to avoid going to far away from the spawn point, because it will increase the data too much causing issues on the server.

    I'm certain that the amount of planets the game could memorize can't be infinite, but I hope it will be fulsomely high! For the sake of explorers like me ;)
     
  2. Mianso

    Mianso Black Hole Surfer

    Minecraft was coded by throwing cows at the keyboard. Starbound saves the differences from the seed.
    So yeah the save files will be small.
     
  3. wubnut1

    wubnut1 Scruffy Nerf-Herder

    Edit: What he said^

    I remember hearing that it only saves changes to the planet, and not the planet itself, so if you built a house and left it saves the house but not the planet.
     
    Passarbye and Serenity like this.
  4. Phymone

    Phymone Void-Bound Voyager


    Ow! It could be quite sad!

    Imagine you find the perfect place to settle down, juste in front of a small lake with giant golden dolphins. Then you come back few hours later, and you find your house stuck in the middle of a centennial pink oak forest (with is neat too!)

    In any case, I'm curious to know a little bit more about the way data will be saved! Thanks for the respond anyway ;)

    I like the image, which is not so far from truth ^^
     
    Mianso likes this.
  5. Spike

    Spike Supernova

    Oh yeah, that is one of the problems I have with save files. However, I sure hope home planets are entirely saved, since they're the most important planets to you, and possibly the only planet with your structures on it. Although things generated with a seed will always be the same, so the planet won't change drastically when you come back, although it will change if the code for seed generation changes, like in an update or so.
     
    Serenity likes this.
  6. TheFinny

    TheFinny Phantasmal Quasar

    I'm quite sure the planets don't change after you've discovered them. Seed can contain some pretty nifty stuff if everything is coded properly. There are plenty of games which use seed and I've yet to find a change after the seed is made. So, I'd say the nice house at the beach will be at the beach until somebody horribly destroys it. ;)
     
  7. Spike

    Spike Supernova

    I agree, but if an update changes how seeds generates planets, your discovered planets MIGHT change into something undesirable. But this is one of the reasons the beta is being delayed, so that the Devs may finalize how seeds are generated, so that little changes to how seeds are generated could occur.
     
    darkparadise and Serenity like this.
  8. misho

    misho Big Damn Hero

    and you now this how?. can we have a link for where they did that?.
     
  9. plaYer2k

    plaYer2k Pangalactic Porcupine

    Well iam writing somehting that is known already but for the sake of completeness i will add them.

    Starbound is using procedual generation to create its worlds. Its a pseudo-random mechanism that generates datas that look random to you but they are deterministic. That means that when using seed=1 and seed=2 they look quite different to each other, thus they look "random". But for each time you use seed=1 you get the exact same world over and over again. So yes it wont change.

    Ofc changing the worldgeneration can mess with that and this has been discussed many times. I am not aware of an official statement within the forum so far that accounts this "issue". But a feasible solution IMO is to make "versioned worldgenerations". Each later version derives from its precessor. In addition you always store the worldgen version you visited the planet the first time with so it never changes up to that point. This way you can generate the old state even though you already have a much newer available.

    But the current state of starbound is simply that worldgens do not have versions and thus there is only one worldgeneration and that might not change that soonTM. Which is why the early development time is that valuable and important. The worldgen HAS to be done before release, otherwise worldchanges would occur just too often and ruin your fun by messing with your shiny homeworlds etc.


    So to go stricktly back to topic. What is saved so far is worldchanges, your ship (probably as deltas aswell), the character itself (most likely absolute because nothing else makes sense, its the delta to nothing xD) and maybe some other yet unknown stuff like racial relations or whatever.

    But as rule of thumb, it doesnt matter how many planets you visit .. only the changes you do to them matter. Like what planets did you mine for resources and where did you build fancy buildings. The playersave size is most likely neglectable.

    I hope that somewhat helps or clears SOMETHING up xD

    Edit:
    Nearly forgot
    19:23:12 < plaYer2k> oh Omneh good oyu are here .. its one of thos "what happens when the world generation changes" discussions and i noted that i never found an official statement to what happens to your old deltas when the chunkgeneration changes
    19:23:29 < plaYer2k> you* those* ... TYPOS! \o/
    19:23:43 <+Omneh> plaYer2k, they're invalidated.
    19:24:16 < plaYer2k> so there are no worldgeneration versions that make old worlds consistent for further changes?
    19:24:28 <+Omneh> plaYer2k, they're not versioned right now
     
  10. Passarbye

    Passarbye Phantasmal Quasar

    that's got to be one of the most intelligent things i've ever heard about a game.
    bravo SB team! \o/
     
  11. Spike

    Spike Supernova

    I had only heard this from others, so I can't really provide you the source, but I'm sure this guy can:

     
  12. Jman1177

    Jman1177 Void-Bound Voyager

    The way it's supposed to work is like this (as far as I understand):

    The planet's coordinates are it's seed. The seed is given to a random number generator that spits out numbers. This creates the level. In other words, every time you visit a particular planet, it's generated exactly the same. If you make changes to that planet in any way, those changes are saved. So if you have a HUGE planet, but all you do is dig out a cave, the only thing saved are those blocks where you dug out the cave. So save files should be pretty small. Like others have said, Minecraft was coded pretty poorly, so I wouldn't use it as a reference to file size.

    So when I land on a planet, the game goes like this. "Okay, generate the planet as it was originally. Okay, now did he change anything last time? Okay, well then make those changes again (place "changed" blocks where they need to be)".
     
  13. Voyager

    Voyager Spaceman Spiff

    Why do I feel like the saves are going to be messed up when the beta comes out?
    I almost think that I should wait a week or two after the beta comes out to start playing.
     
  14. Numbers-wise:
     
    TheLoanArranger likes this.
  15. OmnipotentEntity

    OmnipotentEntity Code Monkey Forum Administrator

    Some updates on this. (Generally executable files on Windows are larger than Linux, so these might be lowballing.)

    Player files are now around 8kb. The universe files are also a touch bigger starting at between 125kb and 250kb and scaling up from there.

    The game is now 2.5GB with symbols and full distribution. However without symbols the size of the game with assets included drops to just 902MB.

    Our build bot makes a fresh build every git update. Currently 7z compressed they're at 592MB, 601MB and 607MB for Linux, Mac, and Windows respectively.
     
    Ordona, misho and Hippolv like this.
  16. Skarn

    Skarn Existential Complex

    To my knowledge, that's the kind of update that would invalidate your save anyway.
     
  17. Red Space Monkey

    Red Space Monkey Phantasmal Quasar

    Wow, 2.5GB...That is pretty huge for a 2D game from an indie company. A great sign of how much content is in this package! Amaaaazing!
     
  18. OmnipotentEntity

    OmnipotentEntity Code Monkey Forum Administrator

    One of the surprising results of using very heavily templated code is that the code becomes bigger than the source file. :)
     
  19. Phymone

    Phymone Void-Bound Voyager

    Ok, thanks for the clarifications! I was thinking about that problem for quite a while!

    I take this opportunity to say that it's always surprising and pleasant to see developers taking time to read and even answer fans' questions! A big thanks for that (thanks to the community as well of course ;)!
     
  20. darkparadise

    darkparadise Big Damn Hero


    That is the best analogy i have heard all day... its only 9am, but still awesome.
     

Share This Page