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