保持同时运行的多个游戏实例的一致性

时间:2013-05-06 04:59:40

标签: php mysql

我正在制作基于文本的浏览器RPG,我偶然发现了一些问题,我不知道该如何继续。如何在同时运行的多个游戏实例之间保持一致性?我不知道这样做的技术术语,但是例如....

假设用户正在一个窗口中玩游戏。他/她被提供超链接“打开蓝门”,它将加载一个新的游戏屏幕。假设用户在新窗口中打开该链接。现在将有两个游戏运行实例,可以在一个窗口中沿着一个故事情节玩游戏,并在另一个窗口中沿着另一个完全独立的故事情节玩游戏。换句话说,游戏会同时运行两个实例,但它们会不一致。

或者另一个例子是,如果用户处于游戏中间,打开新窗口,进入网站并点击播放,它应该直接转到用户在另一个窗口中的位置而不是开始新游戏

如果这是一个菜鸟问题我很抱歉,并且感谢您提前的时间。

1 个答案:

答案 0 :(得分:0)

您需要在服务器上同步这些事件。例如,您对服务器进行AJAX调用,该服务器写入表,已打开的门,播放器所声明的内容以及它们的位置。

您可以使用长轮询或短轮询来查找数据(查找它们)。

甚至更好,使用firebase !! Firebase是一种服务,可让您在浏览器中的多个端点之间同步数据。我过去使用过firebase,它非常令人印象深刻:

https://www.firebase.com/