PTT評價

[閒聊] 《原神》AI 設計師線上演講 開放世界(ry

看板C_Chat標題[閒聊] 《原神》AI 設計師線上演講 開放世界(ry作者
Gwaewluin
(神無月 孝臣)
時間推噓66 推:71 噓:5 →:114

標題太長
圖片內的投影片內的投影片內容請自己點進去看

【GDC 21】《原神》AI 設計師線上演講 開放世界的地圖下如何管理 NPC 的 AI 技術
https://gnn.gamer.com.tw/detail.php?sn=218855

---------------------------------------------------------------------------

  2021 年 7 月 22 日,以線上形式舉辦的世界最大級遊戲開發者會議 Game
Developers Conference 2021 當中,由 miHoYo 的 Lead AI Programmer Shuo Xu 發表了以「’Genshin Impact’: Building Scalable AI System」為主題的演講。

  《原神》(PC / PS5 / PS4 / iOS / Android)是一款 2020 年推出的開放世界 RPG,在手機與 PC 等平台博得世界級的人氣。據說 Xu 先生是以負責人的身分參與設計該作的 AI 系統(在 3 年的製作下完成……)。本次演講,為各位介紹一款在廣大地圖展開
的開放世界型線上遊戲,是透過什麼樣的 AI 建構而成。

  最初為各位解說的是 AI 系統結構(AI architecture),《原神》採用了多種類型的 AI。

  人類、野生動物、戰鬥中的 NPC 都分別採用個別的 AI,據說在推出的初期階段有
200 種以上的數量。因此孕育出遊戲設計師對於更有效率地製作出 AI 的工作流(
Workflow)的需求。作為一款會持續改版更新的線上遊戲,管理這些相關事務的工作便是 AI 框架(AI framework)的職責所在。

  最初是以較為陽春的方法透過 AI 框架來組織出行為樹(Behavior Tree),但是樹狀結構逐漸膨大,並且還有副行為樹與大量節點的連結,在追加新的邏輯(Logic)時變更樹狀結構已經是很複雜的工程,同時判斷難以持續維持這樣的體系。

  從此開始建構出獨立的 AI 管道(AI Pipeline),能夠根據每個功能的推論模組(Inference Module)打散成不同的團體(Group),針對有需求的地方進行更新。接下來進入決策樹(Decision Tree)的部分。這是一項近似於行為樹的功能,但是僅只會做出各項決定與判斷的輕量化功能。以這些決策為基礎,決定發動技能或是進行移動等行為。具體的表現形態將以動畫呈現,而這部分則是透過傳輸適當的參數給動畫系統執行。這一連串的工作處理將在每一個框架的管理下進行運作。

  講者表示,採用這項系統結構,能夠以模組分類的方式開發各項功能,並且在製作新種類 AI 的時候還可以組合原本既有的模組來進行使用。功能上來說都各自獨立,因此在開發新的 AI 功能模組的時候,也不會有對其他功能產生影響的疑慮。

  也因此能夠賦予每個 NPC 個體不同的個性以及特殊能力。不只如此,就連 BOSS 級角色也能夠輕易實現出獨具特色的行動方式。

  為了綜合滿足以上需求所開發的工具就是 Key State Manager。這是一項有限性的狀態機(State Machine),在戰鬥等時刻會啟動,根據 BUFF 的狀況或其他數值情況驅動。以此舉例的是 Fire Slime 的例子,遊戲設計師能夠編輯好適當的狀態轉移(State
Transition),並組織進入 AI 的系統之中。

  透過上述的 AI 管道與 Key State Manager 的運用,構築出新的 AI 框架。

  《原神》有一些開放世界性質上的制約存在。在移動時所使用的導航網格(
Navigation Mesh),在剛推出時超過 70 平方 km 的地圖上,必須採用到高達 6GB 大小的導航網格。話雖如此,這個容量本身並不是什麼太大的問題。現在已經是連手機都能運行 10GB 左右的時代,並且《原神》的導航是由伺服器端進行處理,6GB 程度的話似乎完全不算什麼問題。

  投影片中顯示的導航網格的例子,是橫跨多層的 3 次元結構的地圖,構造上來說相當複雑。據說這是 1 平方 km 左右的範圍。

  再加上城鎮中到處放有 2m 左右的狹窄道路,相當考驗導航網格的精密度。對此曾反覆進行過多次實驗,最終決定 Tile Size 為 128,Pozel Size 為 0.125m 是理想的配置。

  如上所述,導航的部分由伺服器端進行處理,發送出現在位置與目的地以後,就會自動回應出可行的路徑(或者是沒有路徑)。

  話雖如此,地圖内存在著許多移動性的障礙物。為了對應這些狀況,會根據連接的玩家個別留有一定的記憶體,並且能夠應對各種可能發生的情況。在玩家識別出會阻礙道路的岩石的時候,伺服器會確保更新後的導航網格用擁有追加的記憶體,並用來對應此玩家的狀況。

  這個系統是以有 30 人以上 NPC 移動的狀態,在 60fps 下運作的前提下設計而成,在最優化以前的階段據說需用到 2~3ms 程度的 AI 處理。在當時似乎也遇到過熱方面的問題,在本次演講裡面並沒有多提。但畢竟是需要處理過熱問題的情況,單純以多執行緒(multithreading)來進行處理似乎是不可行的(處理效率的確會提升但熱能也會升高)。

  因此導入 AI 團隊的就是這項 LoD(Level of Deteil)的概念。在過去介紹過「
Death Stranding」的 AI 相關報導中也有採用 LoD,看來在必須處理多名 NPC 的開放世界算是一項必須的技術也說不定。

  言歸正傳,《原神》之中使用了 3 個階段的 LoD AI。根據距離切換的 2 個階段以及戰鬥中的 1 個階段。在戰鬥中雖然會全面運作,非戰鬥的情況下在玩家周圍的 AI 處理也會以 30fps 的情況進行。較遠的情況下則會以 5fps 的方式省略動畫的處理。

  方才雖提到不太可行,但是為了提升 CPU 的計算能力仍然會採用多執行緒的作法。這部分的使用時機是在每個 AI 模組從主執行緒呼叫出來的時候,建立出工作執行緒(
Worker thread)。然而,直接運作仍會對 AI 處理上造成較重的負擔,對此需要進行優化的作業,讓每個框架中 2~3ms 減少至 0.5ms 的目標。演講中並沒有提及具體作法如何,但能夠看出整體上投入相當的工程。

  作為統整,為了管理廣大開放世界的 AI,需要建構出新型態的 AI 框架,龐大的道路探索資訊交由伺服器端來綜合處理,透過 LoD 減輕負荷等多元手段進行處理上的優化作業,才能實現出這等規模下的 AI 處理。能夠認識到支持當紅遊戲的諸項技術,著實是令人深感興趣的一堂課。

--
Deserves death! I daresay he does. Many that live deserve death. And some diethat deserve life. Can you give that to them? Then be not too eager to deal outdeath in the name of justice, fearing for your own safty. Even the wise cannotsee all ends.

Gandalf to Frodo

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.169.165.217 (臺灣)
PTT 網址

shinobunodok07/31 10:44這次稻妻的地圖探索是真的有樂趣在...不過可以不要

shinobunodok07/31 10:44那麼紫嗎?

Gwaewluin07/31 10:46蒙德綠綠的,璃月不也黃黃的嗎,OK的

s1011207/31 10:47太鮮豔玩得有點頭暈==

WindSpread07/31 10:49紫色是哀戚的顏色

pg200007/31 10:50鳴神島很漂亮啊..不過另外兩個太殘破不勘了 沒好景qq

bala04507/31 10:51等七國出完再來當完整單機玩好了

spaiwana07/31 10:53神作 台灣人最愛的手遊

Gwaewluin07/31 10:54那就等海祇島吧,設定說這是珊瑚升上海面形成的島

WindSpread07/31 10:55放晴的八醞也不錯,如果能無視那些很陰森的神竈,蛇

WindSpread07/31 10:55骨有種歷史滄桑感

vanler07/31 10:55應該再一禮拜玩家又要喊沒事做了

Yui507/31 10:55另外兩個島做完任務就變正常了不過確實沒鳴神島漂亮

Gwaewluin07/31 10:56一座島是發電廠,一座島是戰區,原本就不是給人觀光吧

hyuchi020207/31 10:56解完任務放晴就沒特色了

hyuchi020207/31 10:57剩下電河可以開船遊覽

pg200007/31 10:57璃月好景很多,絕雲 輕莊 璃月港 各古蹟也都不錯看

pg200007/31 10:58稻妻也有反抗軍的士兵說.要來海祇島看看,這邊太戰亂殘破

shinobunodok07/31 10:58其實現在已經沒事做了

anpinjou07/31 11:00我神櫻只解完第一個根 主線只破完第一段 哭啊 想長草

anpinjou07/31 11:00還沒機會 還會一直被劇情暴雷

WindSpread07/31 11:06免疫暴雷成為你解主線的動力,很棒ㄅ

cloud751507/31 11:09其實這遊戲一直都很單機 連線要素大概跟FGO差不多少

DJYOSHITAKA07/31 11:10好潮 果然是神game==

tnpaul07/31 11:21https://i.imgur.com/yrBe4Sp.jpg 確實感受到NPC不同個性

tnpaul07/31 11:21這隻就TM公主病

shinobunodok07/31 11:23我找不到蘋果 隔壁是蘋果樹

shinobunodok07/31 11:23我找不到甜甜花 剛好旁邊有一朵

healworld07/31 11:27最好都來這種每日任務

arbee07/31 11:33真的公主病欸 腰很痠?

Thide07/31 11:39不想被雷,劇情破完前都不要上論壇才是正解

rainnawind07/31 11:41這個不是每日 是蒙德地圖隨機觸發的好感度人物

rainnawind07/31 11:41*任務

rainnawind07/31 11:42有打怪 救人 找東西 送信四種 完成給10點好感度

rainnawind07/31 11:43還有一些少到可以不計的素材

healworld07/31 11:43我知道啊,我是想要每日任務都是這種的,反正打怪的也

healworld07/31 11:43都不掉素材

LeonBolton07/31 11:46不然隨機任務要多大費周章?這也是讓新手玩家了解一些

healworld07/31 11:46應該說挑戰類的都不會掉

LeonBolton07/31 11:46機制的作法,目的很簡單:路上一些東西可以採集喔!記

LeonBolton07/31 11:46得採集完還可以交任務

LeonBolton07/31 11:46雖然後期只是把隨機任務拿來練好感度....

LeonBolton07/31 11:47@rainnawind 有15好感度的隨機任務喔!

SamMark07/31 11:51超越曠野之息的神作

Gwaewluin07/31 11:58不是只要拿出牌子把自己的味道染到角色身上,就能把角

Gwaewluin07/31 11:58色塞壺裡關起來放置拿好感嗎

tchaikov181207/31 12:02不過原神AI不算很強吧

asz44815107/31 12:03可以講如何抄嗎

chaosset07/31 12:06米哈游霸氣徵才開花結果,我說那個沙木……

sk13107/31 12:08什麼抄,我仇中朋友都說是直接偷某日遊戲公司的程式來用

Thide07/31 12:11這種說法倒真的看人說過,信誓旦旦把之前任天堂顧客資料外

Thide07/31 12:11洩連結到遊戲原始碼也可能因此外漏被拿去用,快笑死

LeonBolton07/31 12:13以前沒塵歌壺都靠隨機任務加好感啊!

LeonBolton07/31 12:13另外花費體力”拿物品”(boss、副本、花)也能加好感

Valter07/31 12:15說個笑話 當初網軍一開始喊抄 後來發現根本不怎麼像 又改

Valter07/31 12:15喊說抄都抄不像

sk13107/31 12:15對啊我朋友就是被這說法洗腦的,還說人家財高氣粗後台硬嗆

sk13107/31 12:15老任知道也不敢告

LeonBolton07/31 12:16原神AI不強啦,只是有個AI研究室,會發期刊的程度而已

falken07/31 12:17幻塔學著點啊,自選五星靠你了

arnold307/31 12:25開放世界都做多久了 連抄都不會有可能嗎

arnold307/31 12:26玩過刺客教條的人就知道真正的ai你撒錢他還會來撿

imsaint07/31 12:30有那麼好抄不會只有原神一款爆紅

Hfy092007/31 12:32何時增加摸狗的按鍵

tchaikov181207/31 13:01那我挺好奇賽事AI技術體現在哪裡,下雨天npc不會躲

tchaikov181207/31 13:01雨,怪物會淹死自己..

tchaikov181207/31 13:02*原神AI

tchaikov181207/31 13:03npc日夜進退場是靠憑空消失和出現

hyuchi020207/31 13:06怪物淹死自己真的很硬派寫實 像玩家會淹死一樣

Thide07/31 13:12原神怪物都是水溶性的啊,很合理

LeonBolton07/31 13:22文章提到AI運算量如果太高容易燒機,為了遊戲性當然要

LeonBolton07/31 13:22做些簡化

LeonBolton07/31 13:22原神有個NPC被玩家幫助後,並不是直接消失,而是會自

LeonBolton07/31 13:22己走回家。這就是文章說的導航與3D地形及遇到障礙物後

LeonBolton07/31 13:22,NPC如何繞路與選擇路徑

arrenwu07/31 13:27這技術會體現在表現和cost的平衡上

WindSpread07/31 13:28NPC基本都是得過且過就好,作業量最大都在怪物上

WindSpread07/31 13:30比如走來走去的雷螢,被摔到高地的雷螢,叫了很多小

WindSpread07/31 13:30夥伴的雷螢

LeonBolton07/31 13:31玩家尾行NPC全記錄

LeonBolton07/31 13:31https://reurl.cc/qgbqE3

gm7922792207/31 13:36我覺得普通 當年上古卷軸mod的AI比較神

gm7922792207/31 13:36到後面還有各種優化不燒機

tchaikov181207/31 13:36感謝解惑

LeonBolton07/31 13:39原神基本上是”手遊”,別拿PC game對比

LeonBolton07/31 13:39要對比也說一個手遊AI來比較啊!

shane2415607/31 13:39日本場景當然要做超爛 音樂難聽才能避免乳華啊

shane2415607/31 13:41然後別在拿手遊當藉口了好嗎

LeonBolton07/31 13:42笑死!難道手遊拿來跟PC、家機比較?

shane2415607/31 13:43那你叫原神別出家機pc板啊

shane2415607/31 13:44你全出他媽當然比較啊

shane2415607/31 13:44就跟以前一堆家機獨佔遊戲還不是拿來跟pc遊戲比一樣

shane2415607/31 13:44意思啊

LeonBolton07/31 13:44多平台是趨勢,你要比較也拿個一樣多平台來比啊!

shane2415607/31 13:45現在手機性能都比switch強了

Valter07/31 13:45你知道現在一堆手遊官方都自己出PC平台給你玩了嗎

shane2415607/31 13:45多平台來比?請問上面那個多平台?

shane2415607/31 13:47再來這是開發者遊戲大會不是手遊開發者大會

shane2415607/31 13:48你來這大會講ai當然跟其他遊戲業比較啊

LeonBolton07/31 13:48所以?我上面推文沒附原神實際案例?

Valter07/31 13:50我都還沒問你突然跳針什麼日本場景爛音樂爛是啥意思

shane2415607/31 13:50然後把原神拉到全世界遊戲業比是看得起你好嗎 米衛兵

shane2415607/31 13:50還在當老害是不是啊?

shane2415607/31 13:51上面不是有人在比較場景嗎?拜託推文看完

Valter07/31 13:52啊?原來氛圍不習慣可以直接解讀成場景做得爛

LeonBolton07/31 13:52米哈遊有自己的AI研究室,也要發表期刊

LeonBolton07/31 13:52遊戲應用只是其中一部分,然後為了遊戲性及硬體,勢必

LeonBolton07/31 13:52做些取捨,懂?

shane2415607/31 13:53還是有人認為作核輻射場景跟一堆荒野比離月美啊?

shane2415607/31 13:54對啦 其他遊戲就沒因為多平台做取捨

Valter07/31 13:57原來做殘破場景=不美=做得爛

Valter07/31 13:57照這邏輯寫故事不是HE=故事不美=亂寫的爛故事

LeonBolton07/31 13:58對啊!原神都快一週年了,連個讓玩家期待自選五星的競

LeonBolton07/31 13:58品都沒有

Valter07/31 13:59每種風景有它要表達的氛圍 有正面有負面 不是做比較負面的

Valter07/31 13:59就要被你貶成爛一個字

kaj198307/31 14:00原神的戰鬥真的很無聊,9成大概都是打木人= =

kaj198307/31 14:00動作要素如果能再高一點就好

Hfy092007/31 14:01稻妻場景爛?又是雲

LeonBolton07/31 14:02打木人?別隊伍塞個鍾離就說都是打木人

lucky041707/31 14:04雖然當初有Nintendologo,不過現在越做越大,switch的

lucky041707/31 14:04希望越來越渺茫

Valter07/31 14:05至少原神的攻擊反饋做得不錯了 目前幻塔讓玩家詬病的一點

Valter07/31 14:05就是戰鬥時反饋太少 敵人不會因為你的攻擊而被打斷 炸倒

Valter07/31 14:05飛走等等 基本上就是你打你的他打他的

LeonBolton07/31 14:13米哈遊AI論文(巴哈文章)

LeonBolton07/31 14:13https://reurl.cc/yEbb76

LeonBolton07/31 14:13這技術在崩3、原神隨處可見

LeonBolton07/31 14:13舉凡:頭髮、披風、裙擺、背包、女乃....等

kaj198307/31 14:14就是樓上說到重點了,再加上NPC出招意識也沒很高,看起來

kaj198307/31 14:14更像在打不會動的木人

kaj198307/31 14:15可以想成是為了手遊而將敵人動作要素降低的妥協

kaj198307/31 14:15但可以的話還是希望敵人的AI變得生動一點才有趣

LeonBolton07/31 14:17樓上要不要試試單挑無傷古岩龍蜥?我想看有多木人

LeonBolton07/31 14:17貼個連結給你參考 https://youtu.be/prY2Xy5T2QI

kaj198307/31 14:25嗯,恭喜你找到一個不木人的,你贏了

Valter07/31 14:27至少稻妻武士老愛搞瞬移我覺得絕對不木人= =

WindSpread07/31 14:29木人是肯定的,原神戰鬥就是掛狀態,先掛到就能爽打

WindSpread07/31 14:29,玩家也傾向這種打法,因為不想滿場追

imsaint07/31 14:31就是手機會拖累技術上限 反倒要期望官方去突破這個門檻

imsaint07/31 14:31別老是用門外漢的知識去看專業

LeonBolton07/31 14:33Switch效能爛到原神都上不了....

Valter07/31 14:36不過如果沒上手機來推廣 原神能不能有今日榮景很難講

LeonBolton07/31 14:38應該說....因為原神多平台策略才有如今榮景

kaj198307/31 14:40我不知道手機平台佔營收比多少,如果很高的話,那遊戲公

kaj198307/31 14:41司會選擇對手機遊戲體驗便利的設計方式很合理

kaj198307/31 14:42但就是多平台的關係,非手機平台的人會希望用超越手機可

kaj198307/31 14:42呈現的方式來設計也不意外,就不同平台玩家的需求也不同

Valter07/31 14:43原神的遊戲系統以PC跟家機遊戲角度來看是相當陽春的 雖然

kaj198307/31 14:43就希望能慢慢找到一個平衡點囉

Valter07/31 14:43配置需求高 但人家仍然是因為"能用手機跑"才顯得特別

LeonBolton07/31 14:43PC / PS的營收我們看不到,一般預估跟手機營收是1:1

shinobunodok07/31 14:58原神的戰鬥就那樣 閃避的無敵時間太長了

isisisdog07/31 15:02造神

LeonBolton07/31 15:06對啦!戰鬥就那樣

LeonBolton07/31 15:06下次還填非常簡單.jpg

peng031907/31 15:24因為手機電腦端打通的關係,要降低操作技術的影響

peng031907/31 15:25所以論手機跟電腦玩家一樣的地方在哪?

peng031907/31 15:25就是腦啊~所以戰鬥場景難度不高很容易理解,都來解謎

peng031907/31 15:26看故事,你可以說是披著手遊外皮的單機故事遊戲

shinobunodok07/31 15:49聽說初版公子比較有侵略性 然後就被報警了 我打到

shinobunodok07/31 15:49的時候已經是智缺版了 比較遺憾

Hasanieer07/31 15:54那不叫陽春,那叫加減法取捨得當,捨棄了硬核動作搓招

Hasanieer07/31 15:54,著重於元素反應搭配

Hasanieer07/31 15:56很多遊戲尤其是中國手游只會加法不會減法的

aaice07/31 15:57手機真的很影響玩家體驗 有手機玩家抱怨玩盜妻滿滿的痛苦跟

aaice07/31 15:58壓力 比如追雷種 飛筵走璧限時任務 用手機就是很難解 但是

aaice07/31 15:58pc跟家機玩家反而覺得這樣比較有趣 平台差異體驗會差很大

aaice07/31 16:00更別說手機各種硬體差異 不是每個玩家都有錢一直換新手機

qweertyui89107/31 16:01可是性能超爛的switch準備上曠野2

aaice07/31 16:01既然是手遊app就不能不顧這些人的體驗

HERJORDAN07/31 16:07居然有人覺得米忽悠的背景硬到任天堂不敢告喔www,騰訊

HERJORDAN07/31 16:07都能整天搞他了

shinobunodok07/31 16:27你說遊戲難度就算了 講實話這樣輕鬆打也沒什麼不好

shinobunodok07/31 16:27 但是連佈置個家園都要遷就手機性能就沒必要了 你

shinobunodok07/31 16:27就讓手機自己可以設定不要全開就好了 不然插沒幾棵

shinobunodok07/31 16:27樹就負載警告佈置個懶啪

kk478907/31 16:50估計是考量到還要讓多人可以進入那破壺才會有效能限制吧

kk478907/31 16:50你在電腦上是擺爽了 人家手機一進你家就閃退的可能性也不

kk478907/31 16:50是沒有

IB1SA07/31 16:59手遊沒興趣 所以點進來噓

peng031907/31 17:14哈哈 主機端遊優越感來了

lnceric00807/31 19:01現在是沒到想像中好 但是未來可期

kasumi99907/31 19:23新怪越來越不木人了也是很煩,我只想割草而已

lbowlbow07/31 19:26沒版權的垃圾國家的垃圾遊戲

wsx8843207/31 21:25原粉退散

Severine08/01 00:11問卷再寫非常簡單啊 讓你連新怪都不簡單

Safrian08/01 01:06又是這支遊

Sirasawa08/01 01:30當初公子就是太不木人才被改的,真的是會隨便躲到沒體

czplus08/01 06:02手遊才能圈錢,而手遊不能太複雜