0

安卓市场上有一款游戏叫《好奇》。

对于那些不知道的人来说,它是关于一个由许多(数十万个)较小的立方体组成的巨大立方体。通过点击一个立方体,它会被移除。

当所有的立方体都被移除时,游戏结束。

问题是,游戏完全在线,即时。所有玩家一起移除立方体。

作者是如何做到这一点的?或者实际上,如何以最高效的方式实现这一点(出于好奇)?到目前为止,我认为服务器端可以使用 redis 作为数据库来存储立方体数据(位置等),并使用 node.js+socket.io 的组合来发出被破坏的立方体的数据。

但是放大并获得特定区域中的所有立方体呢?我们正在谈论大量的数据。

另外,多维数据集以什么方式存储在数据库中?乍一看,这似乎是一个非常简单的项目,但它可能比看起来更难。

这是所述立方体的图像;绿色“区域”是需要在http://www.yourlocalguardian.co.uk/resources/images/2219589/?type=articleLandscape上点击的较小立方体

提前致谢。

4

1 回答 1

1

您需要为每个多维数据集发送一个布尔值:多维数据集存在或多维数据集不存在。然后在每次更新时,您只发送已更改状态的多维数据集。在这方面它有点与我的世界相媲美。它可能是一个基本的套接字,我认为它根本没有存储,它只是从 RAM 运行,可能是一个大的 3d 数组。

这听起来比它可能更容易。

于 2012-12-05T11:36:06.820 回答