利用AI技术自动测试游戏
1、引子
近年來,游戲AI已從一種“偽智能”迭代成了真正的人工智能。3年前AlphaGo的成功只是證明了AI技術在游戲領域取得了巨大的發展,但另一方面AI技術對整個游戲行業的幫助仍然不足,還有很大的挖掘空間,一個重要的方向——幫助玩家提高游戲體驗,例如:AI玩家與人類玩家新的游戲模式、更仿真的NPC等等;另一個重要的方向——幫助游戲制作提高效率,例如:減少規則和行為樹的編碼難度、游戲測試、關卡生成等。
在這篇文章中我們重點介紹AI是如何提高游戲測試的效果和效率。
2、游戲測試中的挑戰
傳統的游戲開發技術已經足夠成熟,但仍然無法應對今天游戲行業的高速迭代帶來的挑戰。
當需要測試的場景包含較多策略內容時,傳統的測試方式就顯得有些力不從心。常規自動化測試手段幾乎只能用來保證游戲能夠正常運行,而無法對游戲的可玩性進行可靠、高效的測試。
有些團隊最初會使用一些基于規則的測試用例或機器人輔助測試工作,然而簡單的規則通常無法充分測試游戲場景,甚至無法通關;復雜的規則又會帶來巨大的維護成本。隨著開發期間游戲內容的不斷調整,最終不得不依賴效率相對較低的人工方式完成測試工作。
不僅如此,規則較為復雜的游戲,例如卡牌類,戰棋類游戲,將會產生巨量的策略組合,憑人力極難有效覆蓋所有場景。
游戲上線前的Beta測試是游戲正式上線前的重要環節之一,這項工作完全依賴參與的玩家完成。受限于參與測試玩家的水準和種種主觀因素,不僅反饋周期長,測試基準和結果基本上只能通過經驗篩選判斷。
3、如何在測試中應用AI技術
近年來迅猛發展的AI技術,為解決測試工作中的困境帶來了新的可能性。使用深度神經網絡、強化學習等技術創造出的AI智能體能夠像高水準的玩家一樣應對復雜游戲策略,協助QA充分的完成復雜場景的測試。
通過用戶數據,AI也能夠模擬出不同水平玩家的真實行為,很大程度上能夠替代人類玩家進行大規模測試,充分覆蓋測試場景,縮短反饋調整周期。
不僅如此,由于神經網絡的泛化性,AI只需要很少的調整就能應對游戲升級帶來的改變,極大減少維護成本。并且AI具備可復制,可加速,測試結果穩定等特性,這些都是傳統測試方法不可能做到的。
4、成功案例
自動化測試的優點在于速度快、規模大,引入AI技術的自動測試也不例外。在下面的案例中,測試工作都可以在分布式環境并行執行。游戲本身都是運行在容器中,AI智能體通過程序接口控制游戲的操作,從而模擬用戶的行為。
?
AI技術在經歷了學術派的游戲模擬器之后,新的行業應用往往是直接與游戲通訊,從而測試游戲的設計問題、數值問題、發現bug等等。
案例1:Cygames的卡牌組合測試
Shadowverse是一款由日本Cygames發行的卡牌游戲,從2016年發行至今一直熱度不減,一個重要的原因是這個游戲每三個月就會加入一個新的卡牌包,讓玩家一直有新鮮的游戲體驗。
?
如何測試新卡牌是一個難題。對于卡牌游戲來說,二手QQ賣號一張新卡牌被設計出來之后,它被采納的前提是能融入舊卡牌構成的系統,即和其他卡牌配合時沒有bug、不會破壞數值系統的平衡。而卡牌游戲有極其復雜的玩法,例如2個玩家,一局游戲需要5輪操作,一共10步,每步可選10張卡牌,那么就一共有100億種玩法可能。更何況真實的游戲遠一步就有多種操作,組合更加復雜。因此,傳統的QA測試方法耗時耗力,嚴重影響游戲開發。
研究部門Cygames Research提出用神經網絡技術解決測試卡牌組合的問題。他們收集了大量的游戲日志,這些日志記錄了玩家們是怎么玩這個游戲的。然后把這些日志轉化為可以用于訓練神經網絡的數據,訓練出一個可以玩這個游戲的AI。AI的水平和訓練數據相似,再經過復制得到很多AI。
接下來,這些AI們就可以自動化地在加入了新卡牌的新游戲中無限地每時每刻地進行游戲對局,去發現bug和強大到不平衡的某種玩法,開發者再根據這些反饋修改或重新設計。這種方法極大地提高了效率,節省了大量的開發成本。
案例2:蒙特卡洛科技的游戲難度測試、數值微調測試
蒙特卡洛科技的自動測試框架是針對國內某著名游戲公司的一款三消游戲。三消游戲是一類廣受歡迎的休閑游戲,除了精美的畫面,關卡的難度變化極大地影響了游戲是否成功:過低的難度會被認為毫無挑戰,過高則很容易挫傷玩家的積極性。然而,不幸的是難度這一指標線的較為主觀,通常對難度的評價只能依賴經驗豐富的策劃人員,或是玩家的反饋。
針對測試游戲難度的問題,蒙特卡洛科技提出的解決方案是用AI技術測試過關步數。通過統計過關所需要的操作次數會獲得一個步數的分布圖,游戲限制的步數越少,難度就越難,過關的人數就越少。
?
AI技術做自動測試的意義在于縮短測試周期。由于游戲本身的隨機性很強,策劃和QA的人工測試為了遇到各種運氣場景,就需要更大量的測試。據計算,人工在100個關卡上的充分測試需要超過5人月,因此在傳統的開發周期中測試往往被弱化。而AI技術可以在集群中計算,將這一過程縮短至數小時。
這個項目另一個有趣的拓展是輔助數值體系設計。由于三消游戲不斷加入新的游戲元素,是數值體系設計的一部分。自動測試平臺加速了對關卡的難度評估,也就縮短了數值體系設計的周期。
游戲策劃提交正在修改的游戲之后,系統把先前在線上版本中訓練好的AI智能體復制到集群中。由于新的游戲版本有差異,智能體在測試過程中需要用強化學習技術適應一段時間,AI技術的這種適應新版本的能力稱為泛化能力。
適應后的AI智能體的游戲水平與線上玩家的水平仍是相似的,因此在新版本上獲得的測試報告可以近似認為是線上玩家的測試反饋。數值策劃根據報告修改數值,形成一個完整的測試閉環。
?
對于游戲制作而言,數值策劃微調數值體系是個很普遍的工作,除了經驗和模型之外主要依賴測試。除了玩家反饋的感受之外,存在一些客觀指標可以使用自動測試輔助設計,例如PVP勝率、通關時間、與氪金的比例等都是可能的自動測試指標。
除了三消游戲之外,如何加快數值調整的過程,蒙特卡洛公司稱目前正在積極探索之中。今時今日,機器學習領域層出不窮的成果勾勒出的線條似乎讓我們看到了未來游戲和游戲開發行業的的雛形。長久以來幾乎沒有太大變化的游戲AI體系,在人工智能大潮的沖擊下有了無限的可能性。蒙特卡洛更期待期待能夠在與游戲行業的持續合作中繼續探索,尋找人工智能時代游戲領域的入口。
4、總結和展望
游戲行業有許多產品正在走向精品化,用戶也越來越挑剔;游戲的制作過程、測試過程也正在走向細致化的道路。而在測試過程中引入的AI技術,正是一種把傳統QA測試中的不可能變為可能,并且極大提高生產效率的手段。
除此之外,新的AI技術也在滲透到傳統基于行為樹的游戲AI中,使NPC、隊友、對手更加智能。長久以來幾乎沒有太大變化的游戲AI體系,在人工智能大潮的沖擊下有了無限的可能性。AI在游戲中的使命不再僅限于保證游戲體驗,在模擬人類、增強游戲可玩性、提高游戲設計效率方向上有了更多的要求。相信除了IP因素之外,游戲內容的智能化也將是人工智能時代游戲領域的新熱點。
作者簡介
朱天馳,曾任百度基礎架構部和云架構部高級工程師,現任蒙特卡洛科技(北京)有限公司首席極客,游戲AI從業者。關注機器學習和人工智能技術,并致力于數據和AI驅動的游戲行業的應用。
總結
以上是生活随笔為你收集整理的利用AI技术自动测试游戏的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Unity动画系统经验谈:换装系统与骨骼
- 下一篇: 《轩辕传奇手游》主程序带你拆解MMORP