所以我正在制作一个基于2D沙盒瓷砖的游戏,如Terraria。我已经知道如何生成像它这样的大规模世界,但是我很难理解如何存储这个世界。我知道我应该存储原始字节以保持文件大小。我正在考虑让每个磁贴都有自己的字节,但我不知道如何去做。我知道一个ASCII字符是一个字节,所以嘿为什么不让每个字符块变成一个不同的ASCII字符?像草有'G',污垢是'D',石头是'S'。然后我可以将每个字符存储到一个文件中,并在一天内调用它。我不知道这种方法是否可行或者是否有更好的方法?最好的存储方法
然后假设前面的方法没问题,我还需要知道.NET字符和字节是否可以很好地结合在一起。我的意思是,如果我将一个简单的ASCII字符转换成一个字节,就像一个字节,或者它会更多?也许.NET将char存储为比我不知道的字节更大的东西。
底线将每个瓷砖类型存储到文件中的最佳方式是什么?请记住,这些世界将是巨大的,所以文件很小是必须的。
谢谢!