- Home /
Saving tile based game
So my plan is to save every tile in one long array of ints, then reconstruct it when loading kind of like a printer, loading the first x tiles onto the bottom row, then the next x tiles on the second row, etc. I'm wondering though that this seems like I'm saving a lot of variables, and looking at other games that do similar tile based worlds like Terraria, using my method a large Terraria world would be saving over 30 million ints (I think, may be wrong). This seems excessive, and I was wondering if anyone else had any more efficient ideas?
Answer by DawidNorasDev · Jun 18, 2018 at 08:03 AM
The whole world would take than ~115 MB. Is it to large? I do not think so. You could try to optimize it, but I wouldn't worry to much, until it would be really a problem. (Optimizing early is the key to all evil :) )
For example: I suppose You have tiles that are specific types (grass / dirt / stone / diamond etc.) and you want to save the type to file. So 0-Air, 1-Dirt, 2-Grass, And the file would be just those numbers. (in TextFile you would have to add additional characters ex. spaces to tell when the number ends. Thus I highly recommend binary files to save it, because it will save you lots of space) The question is, do you have over 2 millions of tile types? I don't think so. You probably doesn't have more than 200 tile types. If that's the case, do not save ints! (they take 4 Bytes of space). Use simple bytes (They can have values 0-255), and they take a quarter of space the ints take! :)
Than the world will take 29MB, which is not that big, isn't it?
Your answer
Follow this Question
Related Questions
Letter Ranking System, Checking Higher Rank 1 Answer
Serialization Exception Error When Trying to Load 2 Answers
Saving Data 1 Answer
Save and Load Prefab and Mesh 1 Answer
Having issues with PlayerPrefs... 2 Answers