我正在创建一个基于伪转弯的在线策略浏览器游戏,其中许多人在同一个世界上玩了很长时间(几个月)。为此,我想要一张64000x64000瓷砖=40亿瓷砖的地图。我需要大约6-10字节的数据,组成一个大约30 10的数据来存储地图。
每块瓷砖都应具有类型(水、草、沙漠、山)、资源(木材、奶牛、黄金)和playerBuilt(道路、建筑)等特性。
客户端只需要同时访问大约100x100块。
我已经控制了客户端的地图。我面临的问题是如何在服务器端存储、检索和修改此地图上的信息。
所需功能:
到目前为止,我所考虑的是:
我计划在这个项目的后端使用java+mysql。我还处于早期阶段,如果需要的话,我愿意改变技术。
我的问题是:上述三种方法中哪一种似乎可行和(或)是否有其他我没有考虑过的办法?
发布于 2018-01-11 15:05:03
取决于:
如果稀疏,则使用hashmap而不是2D数组。
如果密度很大,那么它将更加具有挑战性,您可能需要使用数据库或一些特殊的数据结构+缓存。你可以探测到热点区域,并将它们保存在记忆中一段时间,死区(没有玩家,没有活动.)可以存储在数据库中,按需读取。您还可以多次加载数据:首先是地形,然后是其他对象.每个层可以以不同的方式存储。例如,地形可以是perlin噪声产生的+另一层,可以修改。
https://stackoverflow.com/questions/42945963
复制相似问题