storage - 游戏地形数据库模型

标签 storage terrain

我正在开发一款网络游戏。本场比赛的 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/

相关文章:

swift - View 关闭后存储 sender.tag 进度

c++ - 在行星上实现四叉树地形(Geomipmapping)

java - jCaptcha 线程安全吗?

terrain - 调整六边形网格的高度图生成

unity-game-engine - 如何在运行时操纵地形的形状区域 - Unity 3D

c++ - 大面积钻石方形地形生成

ios - 使用 GL_LINE_STRIP 绘制三角形轮廓时的奇怪顺序

安卓内部对象存储

android - 如何在 Android 上获取多个存储文件路径?

mysql - MySQL NDB 引擎上的 Blob 存储