在3D生存類遊戲中加入人工智慧
然而,還是有兩個懸而未決的問題始終縈繞。
其一是環境的複雜度問題。電子遊戲作為「第九藝術」的最大魅力在於虛擬世界對現實世界的模擬模擬。但是,目前AI已攻克的遊戲,大部分是執行在2D空間內。即使是3D空間的DeepMind雷神之錘3 AI,也是基於上世代的遊戲核心,地圖簡單、智慧體數量少。這裡的遊戲AI能力能否遷移到現實世界是存疑的。
其二是AI的擬人度問題。現有的遊戲AI清一色以競技為目的,追求更高的勝率和段位。但從開發商和玩家的角度,AI並不只是越強越好,還要求越像人越好。以射擊遊戲為例,簡單幾行程式碼寫出的AI就可以輕鬆碾壓人類,但誰會自討沒趣找一個自瞄鎖頭的AI對戰呢?
基於上述兩點,我們判斷具有複雜3D環境、要求多人線上的3D生存類遊戲將成為AI的下一大挑戰。在西山居研發中的新遊戲《榮耀之海》裡,我們訓練了名為“獵戶座α”的AI智慧體。可以看到,AI已經具備了複雜3D環境感知、物資搜尋/使用、作戰、團隊配合等全方位的能力。
這是一款什麼遊戲
《榮耀之海》是西山居自主研發的新一代多人線上戰術競技遊戲。遊戲主打時下最火熱的“吃雞”玩法,百名玩家通過海上與陸上的大逃殺決出勝者。
在遊戲中,25支四人小隊通過跳傘降落到某個區域,玩家需要在海洋與島嶼間蒐集武器、防具、道具等各種資源。隨著遊戲的進行,地圖上的安全區域將逐漸縮小,戰鬥爆發得也更加頻繁,玩家需要配合隊友,通過靈活多變的海陸策略,擊殺其他隊伍的玩家、生存到最後。
遊戲中元素與真實物理世界非常接近
問題有多複雜
《榮耀之海》作為一款3D遊戲,複雜度相比一般2D遊戲已經上了一個臺階,而吃雞類遊戲的超大地圖、百人同局等要素又進一步增加了技術難度。
具體來說,AI需要處理的挑戰包括:
1)實時性與長期性
玩家不僅要做出實時的操作決策,還要做出長期的規劃決策,平衡兼顧兩者。為了最終獲勝,整局遊戲通常需要進行30分鐘以上,對應的決策步數在7000步以上。
2)非完美資訊
在3D遊戲中,玩家只能看到一定視角範圍內的資訊,並且無法看到被障礙物遮擋住的資訊。因此,玩家需要有效探索不可見的資訊,並具備記憶能力。
3)複雜的狀態空間
3D環境比2D環境包括更多的資訊,例如帶深度的複雜空間結構、龐大的地圖(10公里*10公里)、眾多的玩家(100人)、豐富的元素(大量建築、障礙、物資等),對環境感知和探索提出了巨大挑戰。
4)複雜的動作空間
玩家需要同時操作移動方向、視角方向、攻擊、姿態(站、蹲、趴、跳)、互動(拾取、打藥、換彈)等一系列操作,產生複雜的組合動作空間。我們估算離散化後的可行動作數量在10^7這個數量級。
5)戰略與戰術
玩家需要對瞬息萬變的環境和局勢做出快速準確的判斷,採取豐富的戰略和戰術,例如火力掩護、拉槍線、搶點、卡毒圈、封煙救援等等。
6)多人博弈
玩家不僅需要與隊友進行密切的合作和通訊,還需要與其他隊伍在資源蒐集、武裝交火時進行對抗。與兩人博弈相比,多人博弈的情況會更加複雜多變。
上述這些難點也是導致行為樹AI不可能做出複雜、擬人操作的主要原因。
我們在本階段的研究聚焦於一個迷你對局(mini-game)——在230米*230米島嶼上、時限6分鐘內、組隊2V2,最終存活的一方獲勝。除這些限制外,其他遊戲元素與完整遊戲完全相同。
我們的實現路徑
“獵戶座α”採用了深度強化學習方法,從零開始,通過與環境的互動和試錯,學會觀察世界、執行動作、合作與競爭策略。AI沒有使用任何人類玩家的對戰資料,完全基於自我對戰(self-play)的方式進行學習。
AI觀測的狀態資訊包括玩家/物資的實體資訊、深度圖、雷達圖、小地圖,以及巨集觀標量資訊。與人類一樣,AI觀測到的狀態是非完美的——即只能看到一定視角範圍內的資訊,看不到視野外或是被障礙物遮擋住的資訊。與直接用RGB影象作為特徵相比,我們的方式省去了影象目標檢測和識別的過程,專注在AI的決策過程。此外,雷達圖和小地圖相當於自動駕駛中的高精度地圖,深度圖相當於深度攝像機捕捉到的資訊。
AI的動作輸出分為移動方向、水平/俯仰朝向、身體姿態、物資拾取/使用、武器切換、攻擊等任務,多個任務可以同時執行,形成巨大的複合動作空間。人類玩家在操作時,會存在反應時間的限制,APM(每分鐘操作次數)也會有上限。為了與人類一致,我們對AI也進行了相應限制。考慮到網路傳輸延時、特徵提取和模型預測的耗時,AI從“觀測到1幀狀態”到“產生1次動作”需要120ms的延時。在此基礎上,我們額外增加了100ms延時。同時,AI每秒最多執行4次動作、每次最多包含3個動作。
每個智慧體是一個深度神經網路模型,輸入狀態資訊,輸出預測的動作指令。我們通過Transformer模型處理玩家、物資等實體資訊,通過ResNet處理深度圖、雷達圖、小地圖等影象資訊,通過MLP模型處理巨集觀標量資訊,然後通過LSTM模型實現記憶能力。為實現多智慧體合作,我們採用了分散式的策略網路和中心式的價值網路,並引入了策略網路之間的通訊機制。
AI模型結構示意圖
“獵戶座α”的訓練在我們自研的通用分散式強化學習引擎Delta上進行。該引擎通過大量彈性CPU資源產生訓練資料,通過GPU資源更新神經網路模型引數,並且可以通過監控元件監控AI的訓練過程。在該專案中,“獵戶座α”訓練一天相當於人類玩家打了10萬年。該引擎可以部署在任何公有云上,目前已經支援了多款遊戲的AI訓練。
分散式強化學習引擎Delta架構示意圖
目前達到的效果
我們看到“獵戶座α”從零開始逐漸學會了在3D環境中生存所需的全方位能力。
AI學會了通過蒐集物資和跑毒來照顧好自己:
AI出生後會快速蒐集物資,觀察到毒圈外有高階物資時,選擇快速出去拾取後再儘快返回安全區。
AI具有避障導航能力,可以通過翻窗快速進出房屋蒐集物資。
AI也學會了通過尋找掩體、靈活走位、武器使用等方式,以及記憶等認知能力,在競爭對抗中提升自己的生存能力:
AI在對戰中會合理利用掩體,並保持靈活的走位躲避攻擊。
進入肉搏後,AI會切換為近戰武器,拉開距離後再切換回遠端武器。
AI還學會了發揮團隊配合的力量,與隊友互相掩護,在不同的戰鬥環境中採取針對性的戰略戰術,最大化自身優勢:
某個AI被擊倒後,AI隊友立刻實施救援,救活後會幫忙望風等隊友打藥。
在團隊作戰中,AI分散站位並拉開槍線,集中火力優先消滅單個敵人。
消滅敵人取得人數優勢後,AI強勢衝鋒,依次經過樓梯進入房間,擊殺剩餘敵人。
我們的開發人員也與“獵戶座α”進行了多次人機對戰測試,包括作為隊友和對手。
人類玩家與AI的對戰測試
AI的進化過程
在AI的訓練過程中,我們還觀測到了許多與人類生存進化過程相似的地方。
人類在進化過程中,先學會採集食物補充能量、應對惡劣天氣,然後學會各種工具的使用,掌握記憶等高階認知能力,進而學會與族群內同伴分工合作、與其他族群競爭對抗。AI通過多智慧體的自我訓練的方式,也表現出了類似的進化現象。隨著訓練局數的增加,AI逐漸湧現出了物資蒐集、物資使用、空間感知、認知能力和複雜策略等智慧行為。
AI的進化過程
下一步的工作
3D生存類遊戲給AI研究提出了非常巨大的挑戰。儘管我們取得了一定進展,但目前的方案還存在諸多限制和待解決的問題:例如,AI只能在單個島嶼上進行陸戰對抗;AI僅在2支隊伍之間進行博弈;AI掌握的物資和武器還比較有限。我們將逐步去掉上述限制,最終讓AI在完整地圖上進行100人的吃雞對戰。
《榮耀之海》遊戲全景
展望未來
環顧我們生活的世界,智慧既存在於個體中,更存在於群體中。有著獨立目標的個體們聚集在一起,展現出了令人驚歎的群體智慧,這種能力被稱為“多智慧體學習”。每個智慧體必須既能獨立行動,又能與其他智慧體進行合作或競爭,在這個不斷變化的世界中適應與生存。
在目前的全部遊戲品類中,3D生存類遊戲可能是最接近真實物理世界的。我們有理由相信,AI智慧體在其中學到的能力,包括3D環境感知與理解、對複雜環境變化的適應、對不確定性的評估與推理、對各種戰略戰術的靈活應用,以及多智慧體間的競爭與合作等,一定能從虛擬反哺現實,在無人駕駛、智慧城市、醫療等更廣泛的領域帶來價值。
正如“獵戶座α”這個名字所代表的,我們希望遊戲AI的研究會如同浩瀚宇宙中的明亮星光,指引人類探索光年之外的未知空間,邁向通用人工智慧(AGI)的星辰大海。
我們期待與更多志同道合的人一起,「用進化演繹智慧,讓智慧造福人類」。
來源:超引數
相關文章
- 遊戲雜談:生存類遊戲中,“飽食度”“口渴值”有時並非必需的遊戲
- 五大生存法則,贏在人工智慧時代人工智慧
- 人工智慧(AI)在遊戲中的應用(下)人工智慧AI遊戲
- 模擬生存沙盒類遊戲:缺氧 for Mac中文版遊戲Mac
- Sneaky Sasquatch Mac(搗蛋大腳怪生存冒險類遊戲)Mac遊戲
- 遊戲分類學:3D ACT中的超級系與真實系遊戲3D
- 5G+人工智慧技術在垃圾分類中的應用人工智慧
- 學《動森》在遊戲里加入「炒股」,是個好主意嗎?遊戲
- 一天200萬銷量,生存建造類遊戲方興未艾?遊戲
- 漫談遊戲中的人工智慧遊戲人工智慧
- 生存末日類遊戲:逃離喪屍島Dysmantle for Mac 中文直裝版 附 dlc遊戲Mac
- 從1996~2022, 盤點生存類遊戲演化史996遊戲
- 從熱血傳奇和生存撤離品類相似性YY生存撤離潛在社交玩法空間
- 《明日之後》VS海外生存遊戲 MMORPG生存遊戲核心玩法解析遊戲
- 頂級獨立遊戲開發者談獨立遊戲在當前環境下的生存機會遊戲開發
- 微軟在Windows8.1中加入BYOD安全策略微軟Windows
- 遊戲開發中的人工智慧遊戲開發人工智慧
- 探索生存類遊戲《漫漫長夜》賣出500萬份,玩家數達850萬遊戲
- 生存還是毀滅?18位人工智慧專家這樣預測人類的未來人工智慧
- Python在人工智慧中的作用Python人工智慧
- 生存類遊戲如何做使用者介面設計?從《漫漫長夜》說起遊戲
- 漫談電子遊戲中的人工智慧遊戲人工智慧
- 獨立遊戲程式設計師生存指南遊戲程式設計師
- 求助如何實現 3D 遊戲角色在場景中不斷跑動並轉動視角3D遊戲
- 在遊戲里加入自走棋模式的遊戲們 它們的本體都怎麼樣了?遊戲模式
- 深度強化學習的人工智慧在遊戲中的運用:遊戲AI入門及AI優化指南強化學習人工智慧遊戲AI優化
- 遊戲行業進入&生存指南(下):新進策劃生存、提升須知遊戲行業
- 多位開發者表示在遊戲中加入一扇門是個大難題遊戲
- 3D遊戲的照明設計理論(四):如何在遊戲引擎中照亮遊戲世界3D遊戲引擎
- Unity《ATD》塔防RPG類3D遊戲架構設計(一)Unity3D遊戲架構
- Unity《ATD》塔防RPG類3D遊戲架構設計(二)Unity3D遊戲架構
- 谷歌AlphaGO挑戰賽:人工智慧的邊界在人類谷歌Go人工智慧
- 《自然》:人工智慧在創造性思維方面超越人類人工智慧
- 電腦遊戲中的人工智慧製作 (轉)遊戲人工智慧
- 在 SSH專案中加入WebServiceWeb
- 在學習中運用類比
- 網易儲備了5款生存射擊遊戲!遊戲
- 人工智慧在智慧製造中的應用人工智慧