实时多人游戏或回合制多人游戏 API? [关闭]
Posted
技术标签:
【中文标题】实时多人游戏或回合制多人游戏 API? [关闭]【英文标题】:Real time Multiplayer or Turn based multiplayer API? [closed] 【发布时间】:2014-11-19 19:31:47 【问题描述】:我是多人游戏开发的新手。我基本上是在为 android 制作一个棋盘游戏,它需要有一个回合的时间限制,有点像在线多人国际象棋,它对两个玩家都有一个回合计时器。计时器在玩家必须移动时运行,并在同一玩家需要移动时从它离开的地方继续。为第二个玩家维护类似的计时器。
我并没有确切地知道我应该为此目的使用哪个 API。实时多人游戏或基于回合的多人游戏 API?有什么建议吗?
更新: 我终于使用了 Real Time Multiplayer(RTM) API,因为它提供了几乎所有东西。基本上,它创建了一个检查玩家退出的房间,这与基于回合的 API 不同,后者是异步的,并且没有直接的方法来检查其中的玩家退出。另外,RTM 提供实时共享,由于我的游戏复杂性,我需要这种方式(我需要一种方法,可以显示其他玩家在做出最终移动之前所做的每一个动作,这将充当转场变换器)。
现在没有提供的是我自己在实时 API 中实现的转向机制。我修改了Button Clicker,结果如下:
另一个玩家被选为第一玩家
一旦其他玩家点击按钮,回合就会改变,并且分数也会更新为 1。 (分数被修改为两个通用的数字。所以如果我点击按钮,它会变成 2。)
【问题讨论】:
nikhil 你有成功制作多人游戏吗?因为现在我被卡住了,无法理解:developers.google.com/games/services/android/… 【参考方案1】:这是Google Play Game Services 内置的。
特别是 gms 包com.google.android.gms.games.multiplayer.turnbased。
您真的不需要将计时器内置到 API 中,因为它位于 Android Core 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();
【讨论】:
定时器也内置了? 感谢您的回复。但我的意思是,如果发生崩溃或电话,会发生什么?计时器将被关闭,因为它在本地维护。是否有一种解决方法,以便在他/她在计时器到期之前回来的情况下继续游戏? @Nikhil 这更像是游戏设计,而不是我觉得合适的 API。您可能想访问Android StackExchange 或Game Development StackExchange。我无论如何都不是 Android 开发人员,但我假设您将有一个数据库来存储用户信息,因此您可能希望跟踪服务器端的时间。 当您接到电话时,应用程序不会退出 - 它只是在后台运行,因此您仍然可以让您的计时器在本地运行。如果你的手机真的崩溃了,我相信你需要依赖服务器。就像我说的,这真的取决于你如何设计游戏——如果有人的手机死机,你真的希望其他玩家等这个人吗?你可能只是希望那是一种投降。这是how to save data to a SQL database的信息。以上是关于实时多人游戏或回合制多人游戏 API? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
将 Google 回合制多人游戏与 Google App Engine 集成
我应该如何为基于回合制的多人 iPhone 棋盘游戏构建我的 DB 和 API 服务器? (考虑 nodejs、mongo、沙发等)
Android Google Play 游戏服务回合制多人游戏不自动匹配