2

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

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

4

2 回答 2

3

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

在 Mozilla Browserquest 中,这个服务器组件是用 NodeJS 编程

关于保持当前退出玩家的游戏状态:这也应该在服务器上通过将这些数据存储在某种数据库中来完成。一个可能但更糟糕的选择是将玩家进度存储在客户端的本地 Webstorage 中(另一个新的 HTML5 功能)。这将减轻服务器的责任,但会给玩家一个容易作弊的机会,因为他们能够编辑他们的游戏状态。

于 2012-09-23T11:51:39.863 回答
2

这取决于您将其保存在服务器端的位置。昨天我在看一些关于流星的不错的截屏视频,它使用 node.js、mongoDB。它是一个框架,可以完全按照您所说的去做。

于 2012-09-23T11:51:58.867 回答