1

我目前正在开发一款多人 iOS 视频游戏,我希望将玩家数据存储在云中。在游戏中,玩家通过放置物品、种植树木等来创建一个区域,然后其他玩家可以实时访问和四处走动。

从游戏地图方面需要存储的是:

  • 一个 50x50 的瓷砖网格 - 瓷砖的类型(草等)和瓷砖的高度
  • 所有放置的物品和任何相关的物品特定数据(例如,一棵树在种植时会存储)

在播放器方面,我需要存储他们的:

  • 角色定制
  • 存货

该信息需要相当少地读取(每次客户端连接到该区域),但需要相当定期地写回(每次放置项目等),以便任何未来连接的客户端都可以读取正确的数据.

我的问题真的是从哪里开始以有效的方式为服务器存储这些数据?我考虑使用几个 XML 文件来存储地图的不同部分,然后将其他每个部分(库存、字符等)存储在它们自己的 XML 文件中。但从服务器的角度来看,这是最有效的方法吗?我想尽量减少客户端更新时必须写回的数据量:)

4

1 回答 1

1

TL;DR:为所述数据库使用数据库和 Unity 插件。

通过服务器管理 XML 文件只会导致一堆文件锁定/同步问题,您不应该手动处理这些问题(除非这是您的项目/研究的重点)。

您可以使用大量的数据库后端,并且与 Unity 配合得很好。一些我能想到的副手:

• Parse.com --- 他们有一个 Unity 插件

• 编写您自己的基于 HTTP 的 Web 服务器(使用 PHP/MySQL、JavaScript、Ruby 等),然后使用 REST 接口库(Unity Asset Store 上的一堆)与其通信并存储您的数据。

于 2014-04-10T17:24:33.767 回答