如何使用 Google Play Games 在实时多人游戏中处理应用程序版本?
How to handle app versions in real-time multiplayer using Google Play Games?
示例如下:
- 第一个游戏版本 (v1) - 初始多人游戏功能。
- 第二个游戏版本 (v2) - 修复了小错误,仍然与 v1 兼容。
- 第三个游戏版本 (v3) - 添加了一些新的游戏机制,此版本与 v1 和 v2 不兼容。
在这种情况下,我希望 Play 游戏服务允许自动连接 v1 和 v2 版本,但 v3 上的玩家只能连接到其他 v3。
如何使用 Google 玩游戏实时多人游戏?
RoomConfig 有一个用于匹配玩家的变体字段。变体值必须完全匹配才能连接玩家。有关详细信息,请参阅:https://developers.google.com/android/reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.Builder.html#setVariant(int)
构建房间时,您的代码看起来像(其中 GameVersion 是您的游戏版本):
int minPlayers = 2;
int maxPlayers = 2;
long bitmask = 0;
Bundle am = RoomConfig.createAutoMatchCriteria(minPlayers, maxPlayers, bitmask);
// build the room config
RoomConfig.Builder roomConfigBuilder = makeBasicRoomConfigBuilder();
roomConfigBuilder.setAutoMatchCriteria(am)
.setVariant(GameVersion < 3 ? 1 : 3);
RoomConfig roomConfig = roomConfigBuilder.build();
// create room:
Games.RealTimeMultiplayer.create(mGoogleApiClient, roomConfig);
示例如下:
- 第一个游戏版本 (v1) - 初始多人游戏功能。
- 第二个游戏版本 (v2) - 修复了小错误,仍然与 v1 兼容。
- 第三个游戏版本 (v3) - 添加了一些新的游戏机制,此版本与 v1 和 v2 不兼容。
在这种情况下,我希望 Play 游戏服务允许自动连接 v1 和 v2 版本,但 v3 上的玩家只能连接到其他 v3。
如何使用 Google 玩游戏实时多人游戏?
RoomConfig 有一个用于匹配玩家的变体字段。变体值必须完全匹配才能连接玩家。有关详细信息,请参阅:https://developers.google.com/android/reference/com/google/android/gms/games/multiplayer/realtime/RoomConfig.Builder.html#setVariant(int)
构建房间时,您的代码看起来像(其中 GameVersion 是您的游戏版本):
int minPlayers = 2;
int maxPlayers = 2;
long bitmask = 0;
Bundle am = RoomConfig.createAutoMatchCriteria(minPlayers, maxPlayers, bitmask);
// build the room config
RoomConfig.Builder roomConfigBuilder = makeBasicRoomConfigBuilder();
roomConfigBuilder.setAutoMatchCriteria(am)
.setVariant(GameVersion < 3 ? 1 : 3);
RoomConfig roomConfig = roomConfigBuilder.build();
// create room:
Games.RealTimeMultiplayer.create(mGoogleApiClient, roomConfig);