1

我是多人遊戲開發新手。我基本上是爲Android製作一款棋盤遊戲,它需要有一個輪到的時間限制,有點像在線多人國際象棋,對於兩位玩家都有一個輪流計時器。計時器在玩家必須進行移動時運行,並在同一玩家需要移動時從其離開的地方繼續。類似的定時器爲第二個玩家保持。實時多人或基於多人遊戲的API?

我不完全知道應該爲此使用哪個API。實時多人或基於回合的多玩家API?有什麼建議麼?

更新: 我終於使用了實時多人(RTM)API,因爲它提供了幾乎所有的功能。基本上,它會創建一個空間,用於檢查玩家是否退出,而不是基於異步的Turn Based API,並且沒有直接檢查玩家退出的方法。 Plus RTM提供了我需要的實時共享,這是由於我的遊戲複雜性(我需要一種方式讓我可以展示其他玩家在做最後一招之前做出的轉換)。

現在沒有提供的東西是我在Real Time API中實現的轉向機制。我已經修改了按鈕唱首歌,結果如下:

其他球員被選作第一個球員

http://i.stack.imgur.com/VbBvt.png

一旦按鈕上的其他玩家點擊,轉彎的變化,也得分更新1 (分數被修改爲一個沒有。這是兩種常見的。所以,如果我按一下按鈕就會變成2)

http://i.stack.imgur.com/Jwt0R.png

+0

nikhil你成功地做過任何多人遊戲? ,因爲現在我陷入困境,無法理解任何事情:https://developers.google.com/games/services/android/turnbasedMultiplayer – Usman 2015-08-05 10:21:07

回答

3

氏s內置於Google Play Game Services

特別是gms包com.google.android.gms.games.multiplayer.turnbased

你真的不需要一個定時器可內置於API,因爲它是在Android核心CountDownTimer class

你會做什麼是你將建立CountDownTimer,然後爲onFinish()方法,你會說開關玩家轉。

new CountDownTimer(30000, 1000) { 

    public void onTick(long millisUntilFinished) { 
     mTextField.setText("seconds remaining: " + millisUntilFinished/1000); 
    } 

    public void onFinish() { 
     mTextField.setText("done!"); 
    } 
    }.start(); 
+0

計時器也內置? – Nikhil 2014-09-25 06:48:58

+0

謝謝你的回覆。但是我的觀點是如果碰撞或打電話會發生什麼?定時器將在本地維護時被解除。是否有解決辦法,以便在計時器到期之前他/她回來時可以繼續遊戲? – Nikhil 2014-09-26 18:40:14

+0

@Nikhil這是對遊戲設計更多的一點,而不是一個適當的API,我覺得。您可能想要訪問[Android StackExchange](http://android.stackexchange.com/)或[Game Development StackExchange](http://gamedev.stackexchange.com/)。我不是一個Android開發者,但我假設你將有一個數據庫來存儲用戶信息,所以你可能想跟蹤服務器端的時間。 – aug 2014-09-26 19:42:15