Uhh... okay. Well, I made area save/load work fine. That was the easy part.
I was thinking of making a looping 64x64 grid of areas. I did that, then I checked the filesize of an area save.
One area is 772kb.
So, that makes a total 3088mb if you go to every single area.
Hell, even a 16x16 grid makes 193mb of space.
So I guess making out that you're on a small planetoid is kind of gonna take a lot of space, huh.
Well anyway the good news is that it works, the better news is that it makes the areas as you step into them (and saves them when you leave), so anywhere you haven't been won't be saved.
I'm going to work on this system a bit more (I could maybe make a custom save/load function that just reads data from a string (like 1,1,1,3,2,2,2,3,0,0,0,3,2,2,2,etc. parsing that into the array with a loop).
The question is, will that use less space than the array save/load function? If it does (I plan to do it anyway because I'm pretty sure it will) I'll implement it properly and then we can all rejoice in the possibility of a looping grid of stacks of grids.
I haven't updated it yet though. I'm going to get a version of that parsing system done before I do.