2013-05-06 20 views
0

我正在製作基於文本的瀏覽器RPG,並且我偶然發現了一些問題,我不知道如何繼續。你如何保持在同一時間運行的遊戲的多個實例的一致性?我不知道這樣做的技術術語,但例如......保持同時運行遊戲的多個實例的一致性

說一個用戶在一個窗口中玩遊戲。他/她會看到超鏈接「Open Blue Door」,它將加載遊戲的新屏幕。假設用戶在新窗口中打開該鏈接。現在有兩個遊戲正在運行,並且可以在一個窗口中沿着一個故事情節玩遊戲,並在另一個窗口中沿着另一個完全獨立的故事情節玩遊戲。換句話說,遊戲會同時運行兩個實例,並且它們會不一致。或者另一個例子是,如果用戶處於遊戲中間,打開新窗口,前往網站並點擊播放,則應該直接進入用戶在其他窗口中的位置,而不是開始新的遊戲。

我很抱歉,如果這是一個noob問題,並提前感謝您的時間。

+0

這取決於你想如何處理遊戲中的內容。我過去也遇到類似的問題,我的解決方案是有一個「區域」(如果你願意的話可以選擇'level'),玩家是做出更改但不喜歡實例的人。該區域保持不變,所有玩家(例如)實際上可以打開和關閉「藍色門」,但每次只能進行一次。 (通過'ajax'等),並且玩家實際上能夠看到,因爲我發送了一個信號,打開了'藍色門'(再次通過每隔X秒輪詢服務器再次'ajax')。 – 2013-05-06 05:09:47

+0

通過檢查什麼是有效的,您應該阻止用戶採取行動,如果他們無法從當前狀態中採取行動。 – Patashu 2013-05-06 05:17:01

回答

0

您需要在服務器上同步這些事件。例如,您向服務器發出了一個AJAX調用,該調用會寫入一個表格,打開了哪些門,玩家的狀態以及它們的位置。

您可以使用長輪詢或短輪詢來查看數據(查看它們)。

甚至更​​好,請使用firebase! Firebase是一項服務,可讓您在瀏覽器中的多個端點之間同步數據。我用火力點,在過去,這是相當令人印象深刻:

https://www.firebase.com/

相關問題