騰訊IEG開源AI SDK:自動化測試吃雞、MOBA類游戲
SDK 還能自動玩游戲?這個 SDK 有點「酷」。
近日,騰訊互娛(IEG)開源了一款名為 GAME AI SDK 的自動化測試平臺,該平臺封裝好了多種工具供開發者使用,目前支持的游戲類型有跑酷類、吃雞類、射擊類、MOBA 類等。
項目地址:https://github.com/Tencent/GameAISDK
SDK(軟件開發工具包)一般是軟件工程師為特定的軟件包、軟件框架、硬件平臺、操作系統等創建應用軟件時可使用的開發工具集合。
似乎有些抽象。在實際項目中,我們只需記住,SDK 是手游渠道提供的,集成了用戶登錄、社區功能、社交分享功能、數據后臺統計功能的功能模塊。接入 SDK 后,游戲廠商和渠道都要對 SDK 包進行測試,測試通過才能上線。
看了上文展示的酷跑動圖效果,是不是想上手試試吃雞類、射擊類的游戲體驗呢?這個開源項目可以滿足你的需求,它支持使用者進行項目接入以及二次開發。
AI SDK 平臺
AI SDK 平臺是一個基于游戲圖像來開發游戲 AI 的開源工具包。工具包主要完成了 UI 檢測、游戲內元素識別、AI 算法(DQN、IM)等功能。開發者可以基于此工具包完成游戲自動化測試。
目前該平臺已支持的游戲類型有跑酷類、吃雞類、射擊類、MOBA 類等。特定場景下它可以代替人工進行游戲場景的自動化,減少游戲場景測試的人力投入。
該工具包主要包括 AI SDK、AI Client、SDKTool(配置文件工具)這幾部分。
SDKTool 幫助我們生成跟具體游戲相關的 AI SDK 所需配置文件。如在游戲運行過程中,整個流程中需要動作交互的 UI、需要識別的游戲元素等。AI 開發過程中用到的信息可來自于游戲圖像(AI Client 獲取)或其他數據。AI SDK 能夠自動化完成游戲 UI 操作并進入游戲場景,像玩家一樣操作手機玩游戲。
功能簡介
GAME AI SDK 平臺具備以下功能:
提供多種圖像識別算法,識別游戲場景中的關鍵特征數據,如游戲場景中的技能狀態、按鈕位置、目標物位置等。
提供模仿學習和強化學習 AI 算法,可直接用于訓練游戲場景 AI。
提供了配套的樣本采集、圖像標注工具。
AI SDK 模塊簡介
AI SDK 主要包括 AI Client 模塊、MC 模塊、IO 模塊、UI 模塊、GameReg 模塊、AI 模塊。

圖 1:AI SDK 模塊圖。
AI Client 主要與手機端交互,獲取游戲圖像,并執行 UI 或 AI 輸出的動作;
IO 模塊與 AI Client 交互,作為 AI SDK 的數據輸入輸出控制;
MC 模塊與 IO 模塊交互,將數據分發至 AI SDK 后端的 UI 和 AI 模塊,并做一些業務邏輯的管理控制;
UI 模塊根據游戲圖像,識別出需要進行的 UI 操作;
GameReg 模塊根據游戲圖像,識別出游戲場景內的數字、血條、目標物等元素;
AI 模塊根據識別到的游戲元素,依照 AI 算法執行業務邏輯。

圖 2:架構圖。
環境部署
運行 AI SDK 中的 demo,首先需要安裝依賴,然后將本地 PC 機連接手機(或手機模擬器),通過 AI Client 實時采集手機(或手機模擬器)的游戲畫面,并傳給 AI 服務進行處理。把 AI 服務處理的動作結果反饋到連接 PC 的手機上,完成動作的交互。

圖 3:AI SDK 和手機的交互圖。
部署依賴環境
部署依賴環境主要是安裝 AI SDK、SDKTool(配置文件生成工具)、AI Client 的環境依賴。
該項目提供了兩種操作系統的部署過程。
Ubuntu:目前 SDK 工具包運行在 16.04 的 64 位 Ubuntu 系統上,使用的深度學習框架為 TensorFlow,所以使用前需要安裝依賴的 ubuntu 系統和相應的依賴第三方工具包,如 TensorFlow、OpenCV、protobuf 等。
環境主要依賴 nvdia-cuda 9.0、cudnn 7.0、opencv 3.4.2、protobuf 3.2.0、android adb、poster 工具集等依賴包。具體請參考:https://github.com/Tencent/GameAISDK/blob/master/doc/environment/InstallStepByStep.md。
Windows:SDK 包下自帶要安裝的依賴包文件「requirements.txt」,所以 windows 下只需要安裝「requirements.txt」中的依賴。具體請參考:https://github.com/Tencent/GameAISDK/blob/master/doc/environment/SDKToolEnv.md。
此外,該項目還介紹了配置文件工具 SDK Tool、項目接入、二次開發以及調試技巧,詳情請參考項目鏈接。