我正在开发一款网络游戏。本场比赛的 map 至少为2000公里×2000公里。我希望能够以某种粒度(例如 100m X 100m)对海拔和地形类型进行编码。
对于 2000 公里 x 2000 公里的 map ,如果将此信息存储在 100m2 存储桶中,则意味着数据库中有 20000 x 20000 个元素或总共 400,000,000 条记录。
还有其他方法来存储此类信息吗?
更多信息
map 本身永远不会完整显示。单位将以回合制方式在 map 上移动,玩家将获得有关它们所在位置以及本地区域情况的反馈。地形将决定速度和移动限制。
我想我想说的是, map 将用于游戏,而不一定用于图形或显示目的。
最佳答案
这取决于您想要如何生成地形。 例如,您可以按程序生成所有内容(使用低分辨率地形/高度图的插值 - 存储为两个“位图” - 使用从 xy 坐标播种的随机插值以确保地形不会变形),并使用最小的存储空间。 如果您想要完全定义的地形区域,您可以单独存储这些区域并在适当的情况下使用它们,随机生成其余部分。)
如果您想要完全定义的地形,那么您将需要研究某种压缩/流技术来仅拉动您当前感兴趣的地形。
关于storage - 游戏地形数据库模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/326497/