自走棋陣容挖掘及平衡性分析

Jiayu發表於2020-08-06
自走棋是目前市場上最受歡迎的遊戲型別之一。在此遊戲中,玩家構建自己的遊戲陣容,自動與其他玩家進行戰鬥。遊戲中的棋子、羈絆組合種類繁多,對遊戲平衡性進行分析極具挑戰性。本文以戰歌競技場為例,探討了自走棋遊戲中陣容強度的快速評估方法,研究使用遺傳演算法進行陣容挖掘。然後,通過遍歷不同約束進行陣容挖掘,通過統計所得到的陣容的棋子和羈絆個數,從而幫助遊戲開發人員在遊戲上線前進行平衡性分析。除此之外,所提出的方法可以推廣到其他遊戲的平衡性分析。

自走棋陣容挖掘及平衡性分析

自走棋陣容挖掘及平衡性分析

引言

自走棋型別遊戲是源於2019年初基於自定義的DotaA2定製地圖。自走棋遊戲是8名玩家從公共牌庫購買棋子,並將棋子放置棋盤上,通過合理的陣容安排,最終決出最後的勝者。整個戰鬥的過程是全部自動的。遊戲中的棋子擁有不同的種族和職業劃分,包括戰士、法師、哥布林、人類等。如果棋盤上相同種族和職業的棋子達到一定的數量時,即會觸發羈絆獎勵。例如戰士將會獲得一個Buff來增加所有己方戰士的護甲。高星級棋子可以顯著提高棋子的戰鬥力。目前市場上的主流遊戲包括騰訊的王者榮耀自走棋、戰歌自走棋、巨鳥多多的多多自走棋等。因此自走棋遊戲的陣容挖掘及平衡性分析成為遊戲開發者的研究課題。

在自走棋遊戲中,平衡性是影響玩家體驗的最重要因素之一。一款具有良好平衡性的自走棋遊戲擁有多套不同的陣容組合,玩家可以根據所抽到的棋子進行合適的組合進行遊戲。如果平衡性不好,所有玩家都會傾向組合同一套陣容,從而使得難以組合成型,從而影響玩家的操作體驗。多樣化和平衡的陣容會帶給玩家新奇感,給與有經驗的玩家更大的操作空間,可以保持良好的遊戲活躍度。

自走棋平衡性分析雖然非常重要,但是在實際的體驗中有非常多的困難需要克服。首先,自走棋一般包含200多個不同星級的棋子,以及20多個不同種類的種族和職業,一旦某個棋子或者職業得到加強,就會影響到眾多陣容組合,難以進行量化和分析。其次,自走棋是八位玩家進行多輪比賽從而決出勝負,因此有必要對陣容的實力進行綜合的考量。最後,不同的棋子和羈絆擁有不同的特殊效果,很難進行量化表述。

本研究的目的就是通過陣容挖掘,找到在不同約束條件下的最強陣容,並且通過分析異常陣容調整棋子及羈絆,從而提高遊戲平衡性。除此之外,還可以通過陣容挖掘演算法進行玩家實時陣容推薦。本文的所有資料和實驗都是基於騰訊的戰歌自走棋為例進行。該款遊戲在國際市場上取得了成功,在中國、韓國、泰國等多個國家擁有眾多玩家。

研究方法

為了解決平衡性問題,首先需要確定一個陣容強度評價系統。只有一個合理的陣容強度評價系統,才能為陣容挖掘制定評價依據。除此之外我們需要找到一個合適的陣容挖掘演算法,該演算法可以在不同的約束條件下,例如等級、花費、羈絆等約束下找到最強的陣容組合。最後根據挖掘出來的陣容進行統計,從而對較強的羈絆和棋子進行調整,整體過程如圖1所示。

自走棋陣容挖掘及平衡性分析
[ 圖1 陣容挖掘系統整體流程 ]

圖1首先建立了一個陣容強度評估系統,該系統使用歷史陣容或者隨機陣容的強度作為訓練資料。神經網路模型經過訓練可以快速得到陣容的強度預測。快速的陣容強度預測是挖掘演算法的關鍵。

當訓練好陣容評估模型後,首先確定挖掘的約束條件,例如花費、棋子數等。挖掘演算法在約束下利用陣容評估模型進行陣容強度評估,通過多輪迭代從而得到較強的陣容。通過對花費及羈絆的遍歷條件下,如果發現某個羈絆的出現頻率明顯高於其他羈絆,那麼可以認為該羈絆過於強大需要在上線前進行調整。該系統除了可以應用於平衡性調整之外,還可以應用於陣容推薦,玩家託管等方面,具有良好的應用前景。

A.陣容評估模型

由於自走棋陣容強度影響因素眾多,所以其評價模型非常複雜,直接採用棋牌類遊戲的評價模型比較困難。陣容強度需要綜合考慮,一個陣容不能因為剋制另外一個陣容而獲得較高的陣容強度。一個陣容需要更平衡表現才能得到更高的強度。本研究中提取玩家歷史對戰陣容最常用的前1000套陣容。當一套陣容需要評估其強度時,將其對戰提取出來的提取的1000套陣容從而計算該勝率,勝率越高證明該陣容強度越高。單核CPU上完成1000次對戰大概需要花費5分半鐘。因此我們採用分散式計算機叢集進行平行計算,所得到的陣容強度結果儲存到資料庫中,以備後續模型訓練。

自走棋陣容挖掘及平衡性分析
[ 圖2 分散式陣容強度計算 ]

在明確了陣容強度評價衡量標準後,接下來的步驟就是選擇適合的特徵作為陣容評估神經網路模型的輸入。特徵選擇是模型訓練效果的關鍵,如果選取不適合的特徵,模型難以收斂。棋子時遊戲中最為重要的因素,而血量魔法及攻擊力與棋子特徵緊密掛鉤,並且棋子的歷史勝率在版本上線前無法取得,因此只將棋子作為輸入特徵。在本專案中,為了綜合考慮羈絆的作用,將在不同羈絆作用下的相同棋子定義為不同的棋子。在不同羈絆的影響下,陣容實力完全不同。在這個版本的戰歌競技場中,棋子等級和羈絆組合總共有2012種可能性。將2012維向量定義為模型輸入。當某種羈絆作用下的棋子上場時,相應的位置編碼被設定為1。編碼示意圖如圖3所示。經過上述編碼後,能夠全面反映棋子的羈絆生效狀況,從而有效地提高了陣容強度預測的準確性。陣容強度模型是一種迴歸模型,因此選擇了深度神經網路模型進行陣容強度評價,能夠表達高度複雜特徵之間的非線性關係。

自走棋陣容挖掘及平衡性分析
[ 圖三:棋子陣容模型編碼 ]

B.基於遺傳演算法的陣容挖掘演算法

遺傳演算法(GA)是一種模擬自然選擇的生物進化過程的計算模型。它通過模擬自然進化過程來尋找最優解。它的主要特點是不受導數和函式連續性的限制。此外,它具有並行性和良好的全域性優化能力,不需要一定規則的概率優化方法,能夠自動獲取並引導優化後的搜尋空間自適應調整搜尋方向。遺傳演算法以群體中的所有個體為目標,使用隨機化技術指導編碼引數空間的有效搜尋。其中,選擇、交叉和變異構成了遺傳演算法的遺傳操作,而引數編碼、初始種群設定、適應度函式設計、遺傳操作設計和控制引數設定五個要素構成了遺傳演算法的核心內容,如圖4所示。

自走棋陣容挖掘及平衡性分析
[ 圖4 遺傳演算法主要流程 ]

在戰歌競技場陣容挖掘中,針對性地對遺傳演算法進行調整和優化,以獲得所需的結果。對於遺傳演算法來說,羈絆是否生效與遺傳演算法沒有直接的關係,因此遺傳演算法編碼是直接基於棋子進行。在傳統的遺傳演算法中,初始種群設定是按一定概率隨機產生的。然而,對於戰歌競技場陣容挖掘來說,一個純粹隨機生成的初始種群會導致挖掘速度變慢。挖掘之前確定棋子的個數。如果棋子個數限制為8,則初始個體從162個編碼中選擇8個棋子。此方法減少了遺傳演算法的迭代次數和時間。通過上面得到的陣容評價模型對生成的陣容進行評價,如果陣容強度更強,這樣它在進化中就有更大的交叉和變異選擇機會。以這種方式迭代進化,最終得到一個近似最優解。如果一個陣容不滿足約束條件,它的適應度函式被設定為0.01,以加強個體的約束並保持特定的種群多樣性。在初始群體產生後,根據個體的適應度選擇個體,並基於基因進行交叉和突變。

交叉是指兩個個體之間基因編碼的交換,而突變是指單個個體的編碼隨機變化。由於自走棋陣容挖掘的特點,其遺傳個體需要滿足棋子總數的約束。在交叉時,兩個個體需要在基因中選擇一個合適的位置進行交換,這樣雜交後棋子的數量不會發生變化。當突變從一個基因上取下編碼為1和0的位置並將其逆轉時,也需要獲得恆定數量的片段。遺傳演算法的控制引數需要根據實驗結果進行優化,以達到效率和結果的平衡。

實驗結果

A.陣容評價模型

本文提取了一千個未經訓練的陣容,並計算了比賽的實際勝率和由評估模型得出的勝率。資料繪製在圖5中。橫座標是真實的勝率,縱座標是預測的勝率。理想的預測結果應該是45°斜線。然而,由於預測誤差,實際點位於45°斜線的兩側。儘管如此,所有的點都更接近理想值,證明具有較好的預測效果。其中,勝率接近1和0兩端時預測結果最好,中間值的預測效果較差。圖中上下虛斜線表示預測偏差範圍為±0.06。97%陣容強度預測值與真實值誤差在0.06範圍內。預測精度滿足下一步遺傳演算法挖掘的要求。

自走棋陣容挖掘及平衡性分析
[ 圖5 陣容預測勝率與真實勝率關係 ]

B.陣容挖掘分析

一般來說,遺傳演算法需要多次迭代。隨著迭代次數的增加,它可以逐漸收斂到區域最優解,但在接近最優解時會振盪。圖6描述了迭代次數和陣容強度之間的關係。遺傳演算法進入第100輪迭代後,陣容強度趨於穩定。

在使用遺傳演算法挖掘陣容時,需要確定陣容的約束條件,因為玩家在組合陣容時,抽取概率的存在以及總成本也有限。四費和五費棋子最高僅為二星,一個陣容中的三星棋子不超過兩個,且三星棋子必須是花費最低的棋子。只有在滿足上述約束條件的情況下,挖掘出的陣容才與玩家的實際情況相一致。歷史玩家陣容強度和遺傳演算法挖掘得到的陣容強度關係如圖7所示。

自走棋陣容挖掘及平衡性分析
[ 圖6 陣容強度與遺傳演算法迭代輪數的關係 ]

自走棋陣容挖掘及平衡性分析
[ 圖7 歷史陣容強度與挖掘得到陣容強度的對比 ]

如圖7所示,當棋子個數為10個時,歷史陣容與挖掘得到的陣容強度比較。圖中顯示,最高陣容強度隨著花費的增加而增加。該陣容挖掘演算法具有很強的優勢,挖掘所得到的陣容強於絕大部分歷史陣容,該演算法可以有效地幫助遊戲開發者優化遊戲平衡。然而,隨著成本的增加,該演算法的優勢並不明顯,但仍然比95%的歷史陣容強。

然而,上述演算法得到的結果會有一定的隨機性。經過多次迭代,它們將趨向於單一羈絆陣容。事實上,得到的結果可能是區域性最優的。如果能對每一職業和每一種族進行遺傳演算法計算,這將產生更好的效果。因此,使用分散式計算進行羈絆遍歷。每臺計算機負責在單個種族或職業約束下進行挖掘。經過多輪迭代,彙總所有計算結果,可以得到一個趨於全域性最優解的陣容。使用分散式計算的羈絆遍歷挖掘陣容強度高於不進行遍歷的挖掘演算法。

C.平衡性分析

自走棋陣容挖掘及平衡性分析
[ 圖 8 不同種族及職業的使用率 ]

圖8顯示了挖掘後所得到的陣容和玩家歷史最常使用的Top300陣容之間的種族和職業的使用率差異。從陣容挖掘得到的陣容在玩家歷史陣容分佈上具有一定的相似性。其中,Race0、Race2、Race7和Class1在挖掘得到陣容和歷史陣容中的使用率較高,這表明該羈絆更強,有必要削弱該羈絆。而陣容中Class4和Class8使用率很低,有必要對其進行增強。

陣容平衡分析值得廣泛研究,需要綜合考慮棋子和羈絆的平衡。該陣容強度評估模型和陣容挖掘方法為開發人員提供了參考。遊戲新版本釋出前可以利用該技術預測棋子和羈絆的強度,為遊戲開發者提供理論和技術支援。

總結

本文針對自走棋型別遊戲進行平衡性分析進行研究,以參考陣容為基準,以待評價陣容對參考陣容的勝率作為陣容強度。將大量陣容及強度作為輸入,訓練深度神經網路模型得到了一個陣容強度評價模型。使用陣容評價模型的結果作為適應度函式,利用遺傳演算法進陣容挖掘和優化。最後,得到了多約束條件下的陣容挖掘結果。挖掘得到陣容的表現優於現有的歷史陣容。遊戲開發者可以使用獲得的陣容來優化遊戲棋子和羈絆,並在遊戲釋出前進一步調整整體平衡。

參考文獻:

1. Aung, V. Bonometti,A. Drachen, et al. “Predicting skill learning in a large, longitudinal moba dataset,”IEEE Conference on Computational Intelligence and Games, 2017.
2. Katona, R. Spick,V. J. Hodge, et al. “Time to die: death prediction in dota 2 using deeplearning,” IEEE Conference on Games, 2019.
3. Yang, Qin T, Y. H.Lei. “Real-time esports match result prediction,” arXiv preprintarXiv:1701.03162, 2016.
4. Kalyanaraman. “Towin or not to win? A prediction model to determine the outcome of a DotA2match,” Technical report, University of California San Diego, 2014.
5. Kinkade, L. Jolla,and K. Lim. "Dota 2 win prediction." Univ. California, Tech. Rep.2015.
6. Hodge, S. Devlin,N. Sephton, et al. “Win prediction in esports: Mixed-rank match prediction inmulti-player online battle arena games,” arXiv preprint arXiv:1711.06498, 2017.
7. Wang, W. Shang.“Outcome prediction of DOTA2 based on Na?ve Bayes classifier,” 16thInternational Conference on Computer and Information Science, pp.591-593, 2017.
8. E. Almeida, R. C.Correia, D. M. Eler, et al. “Prediction of winners in MOBA games,” 12th IberianConference on Information Systems and Technologies, pp. 1-6, 2017.
9. Porokhnenko, P.Polezhaev, A. Shukhman. “Machine Learning Approaches to Choose Heroes in Dota2,” 24th Conference of Open Innovations Association, pp. 345-350, 2019.
10. Y. Wang, J. J.Zhang, X. Zheng, et al. “Where does AlphaGo go: From church-turing thesis toAlphaGo thesis and beyond,” IEEE/CAA Journal of Automatica Sinica, vol. 3(2),pp. 113-120, 2016.
11. F. Sironi, M. H. M.Winands. “Analysis of self-adaptive monte carlo tree search in general videogame playing,” IEEE Conference on Computational Intelligence and Games, 2018.
12. ?wiechowski, T.Tajmajer, A. Janusz. “Improving hearthstone ai by combining mcts and supervisedlearning algorithms,” IEEE Conference on Computational Intelligence and Games,2018.
13. Bravi, D. Perez-Liebana,S. M. Lucas, et al. “Shallow decision-making analysis in general video gameplaying,” IEEE Conference on Computational Intelligence and Games, 2018.
14. Jiang, K. Li, B.Du, et al. “DeltaDou: expert-level doudizhu AI through self-play,” Proceedingsof the 28th International Joint Conference on Artificial Intelligence,pp.1265-1271, 2019.
15. Zhang, H. Pan, Q.Fan, et al. “GBDT, LR \& Deep Learning for turn-based strategy game AI,”IEEE Conference on Games, 2019.
16. G. Diaz, P. Perry,R. Fiebrink. “Interactive machine learning for more expressive gameinteractions,” IEEE Conference on Games, 2019.
17. Yang, D. L.Roberts. “Knowledge discovery for characterizing team success or failure in (A)RTS games,” IEEE Conference on Computational Inteligence in Games, 2013.
18. F. Gudmundsson, P.Eisen, E. Poromaa, et al. “Human-like playtesting with deep learning,” IEEEConference on Computational Intelligence and Games, 2018.
19. J. Kim, C. W. Ahn.“Hybrid fighting game AI using a genetic algorithm and Monte Carlo treesearch,” Proceedings of the Genetic and Evolutionary Computation ConferenceCompanion, pp.129-130, 2018.
20. J. Nielsen, M.Scirea. “Balanced map generation using genetic algorithms in the siphonboard-game,” International Conference in Software Engineering for DefenceApplications, pp. 221-231, 2018.
21. Morosan, R. Poli.“Speeding up genetic algorithm-based game balancing using fitness predictors,”Proceedings of the Genetic and Evolutionary Computation Conference Companion,pp.91-92, 2017.


來源:騰訊遊戲學院
原文:https://mp.weixin.qq.com/s/KG4BxQIjAmKWzwNR6F56AQ

相關文章