代码之家  ›  专栏  ›  技术社区  ›  Johan

websocket游戏-持久化玩家数据

  •  2
  • Johan  · 技术社区  · 13 年前

    如果你看看像这样的websocket游戏 browserquest ,玩家数据存储在哪里?它在websocket-server.js文件中吗?

    因为,例如,如果一个新玩家加入游戏,游戏必须以其当前状态呈现,包括所有玩家、物品等。这些数据存储在哪里?

    2 回复  |  直到 13 年前
        1
  •  3
  •   Philipp    13 年前

    在线游戏通常有一个管理世界状态的中央服务器组件。每个客户端都直接与服务器通信。服务器向每个客户端发送关于周围环境的数据(这就是地图的外观,有一个暴徒a,还有一个项目B),客户端向服务器发送关于它正在做什么的信息(我走到x:y;我攻击暴徒a;我拿起项目B)。

    在Mozilla浏览器中,此服务器组件编程在 NodeJS

    关于保持当前注销的玩家的游戏状态:这也应该在服务器上通过将这些数据存储在某种数据库中来完成。一个可能但更糟糕的替代方案是将玩家的进度存储在客户端的本地网络存储中(另一个新的HTML5功能)。这将减轻服务器的责任,但会给玩家一个轻松作弊的机会,因为他们可以编辑自己的游戏状态。

        2
  •  2
  •   Luke    13 年前

    这取决于您将其保存在服务器端的位置。 昨天我看了一些关于流星的不错的屏幕截图,它使用了node.js,mongoDB。这是一个框架,允许做你正在谈论的事情。