我想用權威服務器構建一個2人回合制遊戲來管理遊戲狀態/邏輯。我心目中的流程是一樣的東西:在權威遊戲服務器上使用Pusher/Pubnub
- 玩家訂閱了一個獨特的遊戲頻道(通過類似pubnub /推杆/某事)
- 玩家提交他們輪流通過HTTP直接到遊戲服務器
- 服務器運行遊戲邏輯和結果發佈到遊戲頻道(這兩個球員訂閱)
- 客戶端處理響應,並呈現結果
- 牽線搭橋種混淆了我,雖然。有什麼建議麼?
這是在這個場景中使用pub/sub服務的「正確」方式嗎?有沒有更好的方法(除了不斷地對服務器進行輪詢)?
我想用權威服務器構建一個2人回合制遊戲來管理遊戲狀態/邏輯。我心目中的流程是一樣的東西:在權威遊戲服務器上使用Pusher/Pubnub
這是在這個場景中使用pub/sub服務的「正確」方式嗎?有沒有更好的方法(除了不斷地對服務器進行輪詢)?
您的建議聽起來很棒,而且是「正確」的方式。您所面臨的挑戰是從計算機時代開始共享的,在這個時代,數據同步是移動智能手機等多種設備之間的需求。投票速度慢,成本高(對大量玩家來說沒有意義)。多人遊戲是配對玩家和提供遊戲室的一個很好的例子。您的解決方案是:
您可以解決產品如Socket.IO和一些其他的開源選擇這一技術難題。但是,您只想構建遊戲而不是專注於部署Node.JS服務器並將其連接到Express。
改爲使用雲服務,如PubNub,PusherApp或Beacon Push。利用Pub/Sub API輕鬆同步多人遊戲環境中的用戶。
這是我們辦公室裏激烈的話題!我一直在使用PubNub作爲權威遊戲服務器,使用創意的頻道名稱選擇。它的工作原理是這樣的:
這幾乎是我想到的。但是,從客戶端向服務器發送數據在技術上不需要超過pubnub。它可以是一個簡單的http請求。 – ehud