首頁>科技>

近些年,像英雄聯盟、絕地求生、多塔2這樣的線上多玩家遊戲成為一種主流。

在這些遊戲中,平衡是非常重要的,這裡的平衡包括角色對角色、技能對技能的平衡。畢竟,如果一個角色可以完爆其他所有角色,其他的角色又有什麼意義呢。

為了保證遊戲的平衡,遊戲測試者與開發者會不斷地對遊戲進行修正:

測試者試玩遊戲開發者根據反饋對遊戲進行修正步驟1和2反覆重複,直到開發者與測試者均對遊戲的平衡滿意

這個過程往往是非常耗時的。與此同時,使用人力的測試可能是不完美的。隨著遊戲變得越來越複雜,角色越來越多,操作越來越多,使用人力的測試,可能無法發現遊戲潛在的一些缺陷,也就是說,遊戲可能無法達到真正的平衡。

為此,谷歌提出了一種基於機器學習的遊戲測試方法,訓練人工智慧成為遊戲玩家,體驗遊戲,併為遊戲體驗提供反饋。

這個方法被率先用在了遊戲Chimera(譯:合成獸)中,透過數以萬計的遊戲以及資料收集的過程,人工智慧可以幫助遊戲開發者高效地提高遊戲的平衡效能,讓遊戲變得更加有趣。

Chimera遊戲

遊戲Chimera的本身,就極大地依賴於機器學習技術。比如,玩家可以隨意合併兩種生物,以生成合成獸,合成獸和合成獸之間也可以進一步合併。下圖給出了很多可愛的合成獸們。

值得注意的是,在這樣任意合併的設定下,合成獸的數量是非常巨大的。假設有100種基本生物,允許最多10個生物依次合併,那麼最終可能的合成獸有17310309456440種!

這就意味著,開發者和測試者可能都不瞭解所有可能的合成獸的種類。當不同的合成獸被賦予不同的技能值,這對測試者來說簡直是一種災難。

同時,玩家可以對(由合成獸構成的)卡牌進行不同的操作,如放置在不同的板塊、執行咒語等等,這樣多樣的操作更為測試者帶來困難。

訓練機器來玩遊戲

對於這張幾乎有無限多種可能的卡牌遊戲Chimera來說,人類是無法測試的。

為此,我們可以藉助機器的力量,使用卷積神經網路,來預測給定遊戲狀態下,不同玩家的勝率。

這個過程非常的直觀且有效。最初,機器會被給予隨機的遊戲策略,之後,重新建立一個新的機器(智慧體,agent),目的是打敗前一個機器,並在遊戲中反覆的收集資料。這些新的資料會被用於訓練另一個新的機器。

這個過程會不斷反覆。在這個過程中,資料的質量之間提升,機器也越來越會玩遊戲。

橫座標:機器的版本,縱座標:勝率

在這個過程中,如何表徵遊戲在某一時刻的狀態?有至少兩種方式。其一,遊戲的資料,如多少個合成獸,這些合成獸是什麼,有多少個板塊等。其二,遊戲的影象,即當前時刻遊戲的畫面是什麼樣的。

有趣的是,第二種方式,直接由遊戲影象來表徵遊戲狀態,會有更好的效果。這些影象會被輸入到卷積神經網路當中,同時,這裡卷積神經網路非常簡單(即神經元少、層數少),這使得電腦可以實時處理,同時,可以實現神經網路的快速傳輸。

這個方法可以迅速地模擬百萬次的遊戲過程,透過那些最優秀的機器玩家的遊戲資料,我們可以發現玩家套牌之間不平衡的地方。

比如,在Chimera測試過程中,遊戲開發者發現了這些不平衡點:

進化合成獸永遠是有利的,當一個玩家比另一個玩家進化了更多次合成獸,他非常有可能獲得勝利。相應的勝率也可以被量化,由於測試的次數數以百萬計,這其中幾乎沒有誤差。有些生物的能力過高,當這些生物被使用,玩家極有可能獲勝。在人工智慧測試員的幫助下,高的程度也可以被量化。

根據這些不平衡點,遊戲開發可以進一步最佳化遊戲體驗。值得注意的是,像Chimera這樣有數以百萬計可能性的遊戲來說,用人力找到上述不平衡點,幾乎是不可能的。

參考文獻:

Ji Hun Kim and Richard Wu, “Leveraging Machine Learning for Game Development”, https://ai.googleblog.com/2021/03/leveraging-machine-learning-for-game.html,accessed on March 18, 2021."Empowering game developers with Stadia R&D (Google Games Dev Summit)", https://www.youtube.com/watch?t=239&v=hMWjerCqRFA,accessed on March 18, 2021.

遺憾的是,暫時沒找到遊戲和演算法的程式碼。

3
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 讓蘋果、三星打錢的底氣,華為投入超十年,任正非:華為離不開它