背景
我們在進行玩家匹配時,難免因為遊戲線上玩家人數少或玩家屬性差異大不符合匹配條件等原因,導致玩家匹配不到合適的對手。這時候如何才能增加玩家匹配成功機率呢?
解決方案
方法一:優化匹配規則
華為聯機對戰服務配置匹配規則時,允許配置放寬屬性。什麼意思呢?
當某個匹配規則中屬性區間內無法匹配到線上玩家,此時還有屬性差異較大的線上玩家可以進行匹配時,可以配置放寬屬性區間和放寬屬性時長。當超過放寬條件匹配時長時,即觸發放寬屬性區間,也就是玩家可以再更大屬性區間進行匹配,以達到增加匹配成功機率。
這種方式可以比較好的兼顧玩家公平性和遊戲可玩性。
方法二:機器人填充
如果以上方式,還無法達到效果,玩家匹配時仍然有較大概率無法匹配到線上玩家,可以考慮開通填充功能。
開通方法:在進行匹配規則配置時,將“機器人填充”選項,選擇開啟即可。開通服務後,玩家匹配到的整體超時時間時,仍然無法匹配到真實玩家,則系統會根據玩家資訊進行計算,返回符合玩家能力範圍的機器人玩家,機器人玩家資訊包含匹配規則中配置的所有玩家屬性資訊,開發者可以根據屬性值進行機器人能力構造。
功能開通很簡單,重要的是遊戲如何使用。
如上截圖,開通機器人填充後,玩家總是能夠匹配成功的,開發者需要根據匹配成功返回的room例項獲取房間內玩家列表,解析玩家isRobot屬性,如果該值為1表示該玩家為機器人玩家,如果該值為0,表示為真實玩家。開發者根據如上屬性判斷是否觸發遊戲本地機器人邏輯。
不同客戶端之間機器人操作如何同步呢?
華為聯機對戰服務提供了偽隨機數生成器,開發者可根據根據該方法進行不同端的隨機數生成。參考文件:https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/gameobe-randomnumber-js-0000001250978031