《暗區(qū)突圍》最近山谷別墅里的多斯小隊(duì),好像變聰明了?這不是大家的錯覺,其實(shí)是魔方的AI團(tuán)隊(duì)再次出手,優(yōu)化了多斯和小弟們的戰(zhàn)斗策略,嘗試為我們帶來一批更加聰明的“機(jī)哥”。
今天的魔方研究邀請到負(fù)責(zé)暗區(qū)突圍多斯小隊(duì)AI優(yōu)化的技術(shù)大佬,來詳細(xì)說說這次優(yōu)化背后的故事。
Q:此次優(yōu)化的的背景是什么?
此次優(yōu)化的背景主要是為了解決舊版本中多斯戰(zhàn)斗模式過于單一的問題。
在舊版本中,玩家很容易破解多斯小隊(duì)的戰(zhàn)斗策略,找到解決首領(lǐng)的最優(yōu)解,可以低成本、低風(fēng)險(xiǎn)地刷首領(lǐng)裝備。
這種單一的戰(zhàn)斗模式不僅使得玩家的體驗(yàn)變得單調(diào),還導(dǎo)致可能出現(xiàn)多斯帶著小弟被排排擊倒的滑稽局面,從游戲表現(xiàn)上也顯得很糟糕。
為了改善這個狀況,我們啟動了這次優(yōu)化,并且希望通過此次優(yōu)化,為未來實(shí)現(xiàn)在更復(fù)雜的在線訓(xùn)練打好基礎(chǔ)。通過與玩家的戰(zhàn)斗互動,“機(jī)哥”們能夠不斷學(xué)習(xí)并變強(qiáng),從而越來越“聰明”,為玩家帶來更具挑戰(zhàn)性和趣味性的游戲體驗(yàn)。
Q:這次多斯小隊(duì)變聰明的地方在哪里?
用大家比較好理解的說法,這次優(yōu)化中,我們把“機(jī)哥”們分成了老大和小弟,老大AI指揮,小弟AI聽命令行動,得以實(shí)現(xiàn)比以往更密切且更復(fù)雜的戰(zhàn)術(shù)協(xié)作。

具體展開來說,我們采用了【強(qiáng)化學(xué)習(xí)】+【行為樹】混合控制的訓(xùn)練框架,結(jié)合近端策略優(yōu)化算法(PPO),來求解FPS游戲中AI協(xié)同配合的難題。

通過強(qiáng)化學(xué)習(xí)訓(xùn)練出來的上層指揮AI(比如多斯),控制了多個行為樹訓(xùn)練的單體AI(小弟們),小弟們聽從指揮后進(jìn)行移動、開火、戰(zhàn)斗等具體行為,從而實(shí)現(xiàn)更加復(fù)雜的小隊(duì)協(xié)作策略。
Q:我們先來聊一聊強(qiáng)化學(xué)習(xí)+行為樹的混合訓(xùn)練?
我們剛說到,這次優(yōu)化中我們是通過一個智能體控制多個單體AI來實(shí)現(xiàn)戰(zhàn)斗策略的不同表現(xiàn)。
混合方式如下:
●強(qiáng)化學(xué)習(xí)控制男團(tuán)移動邏輯,行為樹控制戰(zhàn)斗邏輯邏輯

●行為樹負(fù)責(zé)簡單的戰(zhàn)斗開火
●強(qiáng)化學(xué)習(xí)專注于探索男團(tuán)“排兵布陣”戰(zhàn)術(shù)配合能力

運(yùn)行步驟如下圖:
●單體行為樹AI會以固定頻率(0.5s),向指揮AI請求移動目標(biāo)點(diǎn)

●指揮AI會綜合所有單體行為樹AI的狀態(tài)信息,下發(fā)每個單體AI的移動目標(biāo)點(diǎn)

●單體行為樹AI移動至目標(biāo)導(dǎo)航點(diǎn)(除非自身被更高級移動邏輯打斷)
●重復(fù)上述步驟

Q:剛說到的【預(yù)構(gòu)建導(dǎo)航數(shù)據(jù)】又是什么呢?
《暗區(qū)突圍》是一款主打戰(zhàn)術(shù)博弈的硬核搜打撤手游,地圖場景開放多樣,玩法也各有不同,類似真實(shí)世界的三維場景里有大量靜態(tài)、動態(tài)與環(huán)境感知相關(guān)的物體,而且三維地形也十分復(fù)雜。
在這種立體復(fù)雜多變的游戲環(huán)境中,想要訓(xùn)練出我們期望的指揮AI系統(tǒng),對AI的多單元之間的協(xié)作配合、戰(zhàn)斗和移動能力都提出了很高的要求。

預(yù)構(gòu)建導(dǎo)航數(shù)據(jù),簡單來說,我們先把游戲地圖上的可行走區(qū)域標(biāo)記出來,再在這些可行走區(qū)域構(gòu)建導(dǎo)航信息。這些信息是固定的,訓(xùn)練時根據(jù)需要隨時調(diào)用即可,指揮官AI可以通過這些信息做判斷,小弟(行為樹AI)則可以直接通過這些信息行動。
Q:那這份數(shù)據(jù)又有什么用呢?
有了這些數(shù)據(jù),上層指揮AI就可以以此構(gòu)建多目標(biāo)的移動方案了。

在海濱別墅中,假設(shè)每個單體AI從自身八方向中隨機(jī)選擇一個方向移動,考慮到有十個行為樹AI,移動的結(jié)果可以有8^10?種類,這種探索量級會消耗大量時間和計(jì)算資源。
更糟糕的是,上層指揮AI很難理解每個不同移動結(jié)果的宏觀含義,導(dǎo)致AI們很難學(xué)會協(xié)同配合策略,容易各自在地圖中胡亂行走,出現(xiàn)各玩各的現(xiàn)象。
因此,我們引入預(yù)先構(gòu)建的數(shù)據(jù),再引入人類先驗(yàn)知識來降低探索難度,使得單體AI之間配合更加容易,從而較為容易產(chǎn)生戰(zhàn)術(shù)包抄、繞后行為,可以極大程度發(fā)揮出強(qiáng)化學(xué)習(xí)訓(xùn)練指揮AI的調(diào)度效果。
我們相信,隨著AI們的強(qiáng)化訓(xùn)練和玩家反饋的持續(xù)積累,多斯小隊(duì)將變得更加“聰明”,也能更好地應(yīng)對玩家層出不窮的戰(zhàn)術(shù)和策略。同時,這種基于強(qiáng)化學(xué)習(xí)和玩家互動的訓(xùn)練模式,也許有一天也將應(yīng)用在魔方其他游戲的開發(fā)中。
熱門跟貼