我正在尝试制作一款基于四人游戏的游戏。
现在,如果他们不到4个人类玩家,我想要启动X人类玩家和4-X AI玩家。是否可以使用基于谷歌回合制的多人游戏https://developers.google.com/games/services/android/turnbasedMultiplayer
如果人类玩家离开,我想用AI玩家替换它而不是取消游戏。它支持这个吗?
答案 0 :(得分:0)
我正在实施这项工作,让它工作90%。当我的游戏中出现新的转弯时,我会检查下一位玩家是BOT还是人类玩家。这是使用座位算法预先安排的,这样我就可以整齐地分配出人类。即当有两个人类玩家时相反。当下一位玩家是BOT时,我会转弯,但不要推进Particpant。这样它就会持续并发送更新,而不会将转弯传递给其他玩家。当下一个玩家是人类时,我会转动并切换到下一个玩家。代码看起来像这样....
if(玩家[playerTurn%4] == BOT){ Games.TurnBasedMultiplayer.takeTurn(MainActivity.mHelper.getApiClient(),MainActivity.mMatch.getMatchId(), MainActivity.mTurnData.persist(),myParticipantId)。setResultCallback( new ResultCallback(){ @覆盖 public void onResult(TurnBasedMultiplayer.UpdateMatchResult result){ processResult(结果); } });
state = GameState.Playing;
} else {
Games.TurnBasedMultiplayer.takeTurn(MainActivity.mHelper.getApiClient(), MainActivity.mMatch.getMatchId(),
MainActivity.mTurnData.persist(), nextParticipantId).setResultCallback(
new ResultCallback<TurnBasedMultiplayer.UpdateMatchResult>() {
public void onResult(TurnBasedMultiplayer.UpdateMatchResult result) {
processResult(result);
}
});
state = GameState.multiplayerWait;
}
我不确定如何将非活动玩家与其他玩家交换。我不认为这是可能的,除非你运行自己的服务器或使用像Parse这样的东西。