【问题标题】:Efficient video game server data storage?高效的视频游戏服务器数据存储?
【发布时间】:2014-02-21 07:25:56
【问题描述】:

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

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

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

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

  • 字符自定义
  • 库存

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

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

【问题讨论】:

    标签: unity3d storage social-gaming


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-09
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 2012-12-14
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多