【发布时间】:2012-02-06 19:54:18
【问题描述】:
所以我正在制作一个基于沙盒图块的 2D 游戏,例如 Terraria。我已经知道如何生成像它这样的巨大世界,但是我对如何存储世界感到困惑。我知道我应该存储原始字节以保持文件较小。我正在考虑让每个图块都有自己的字节,但是我不知道该怎么做。我确实知道一个 ASCII 字符是一个字节,所以为什么不让每个图块都变成一个不同的 ASCII 字符呢?就像草是'G',泥土是'D',石头是'S'。然后我可以将每个字符存储到一个文件中并收工。不知道这个方法好不好,有没有更好的方法?
然后假设前面的方法没问题,我还需要知道 .NET 字符和字节是否可以很好地配合使用。我的意思是,如果我将一个简单的 ASCII 字符(例如草砖的“G”)转换为一个字节,那将是一个字节还是更多?也许 .NET 将 char 存储为大于我不知道的字节的东西。
最重要的是,将每种图块类型存储到文件中的最佳方式是什么?请记住,这些世界将是巨大的,因此文件必须很小。
谢谢!
【问题讨论】:
标签: char byte storage file-storage