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

圖 1:AI SDK 模塊圖。
AI Client 主要與手機(jī)端交互,獲取游戲圖像,并執(zhí)行 UI 或 AI 輸出的動(dòng)作;
IO 模塊與 AI Client 交互,作為 AI SDK 的數(shù)據(jù)輸入輸出控制;
MC 模塊與 IO 模塊交互,將數(shù)據(jù)分發(fā)至 AI SDK 后端的 UI 和 AI 模塊,并做一些業(yè)務(wù)邏輯的管理控制;
UI 模塊根據(jù)游戲圖像,識(shí)別出需要進(jìn)行的 UI 操作;
GameReg 模塊根據(jù)游戲圖像,識(shí)別出游戲場(chǎng)景內(nèi)的數(shù)字、血條、目標(biāo)物等元素;
AI 模塊根據(jù)識(shí)別到的游戲元素,依照 AI 算法執(zhí)行業(yè)務(wù)邏輯。

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

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