莫要瞧不起土豆廠:遊戲界最牛的AI就藏在他家
「土豆」大廠育碧近來的一項壯舉是其《彩虹六號》升級BUG令到PS4系統崩潰(這是很多黑客都做不到的事情哦),可見他家BUG已經進化到了黑科技的地步。不過講真,育碧還真的藏有一個大家想像不到的「黑科技」…
愛玩網百萬稿費活動投稿,作者 尹紫電,未經授權請勿轉載
最近遊戲界有兩個關於人工智慧的大新聞。一是曾開發了Alpha Go的DeepMind公司公布了他們進軍《星際爭霸2》的最新進展:暫時棄療,短期內難有突破。
DeepMind認為,基於現有技術想要讓AI真正精通《星際爭霸2》是不可能的。這裡說的「精通」可不是讓AI當一個「瘋狂電腦」就完事了,而是要徹底成長為面對複雜且未知的環境時擁有自我決策能力的「強力AI」。
為此,開發者們儘可能地模擬人類的遊戲體驗方式,例如將《星際爭霸2》的輸出信號轉換為二維圖像,讓AI「讀屏幕」而不是直接讀取底層數據。
這也導致了各種意想不到的狀況,例如一條小狗進入戰爭陰影后再出現,AI就沒法判斷此小狗是否是先前的小狗。
二維圖像的《星際2》,也差不多是AI眼中的《星際2》
幾番嘗試後,他們發現基於現有演算法的AI只能完成一些微觀任務:比如尋路和控狗。一旦進行宏觀的全局遊戲,AI就沒法實時處理如此龐大數據。
自學的結果就是連簡單電腦都打不過,最後只學會了一招「忍辱偷生」——升基地逃跑。
所以DeepMind乾脆公開了基於Python封裝的《星際爭霸2》API介面,讓全世界的研究者集思廣益以求得演算法的突破。等於在說我不行了,誰行誰來吧。
第二個大新聞是OPEN AI開發的OPEN DOTA(以下以OD代稱)在TI7總決賽上1V1影魔中路對決中暴打了Dendi,V社還放了一段視頻證明OD同時也暴打了RTZ和Sumail等一眾世界頂尖選手。
開發者在TI7舞台上稱OD只學習了兩周,但這話其實是隨口跑火車。根據後續披露的資料來看從第一次能實戰到擊敗Sumail ,OD共用了五個月——不過這也足夠驚人了。
蘇跳跳被AI暴揍後聲稱「AI是不可戰勝的」
不過之後還發生了一個小插曲,在TI7期間的開放試玩中,玩家發現了各種可以戰勝OD的野路子,比如開局勾兵、1級學影壓和毒球鞋墊出門就會把OD帶入未知領域,之後便能輕鬆擊敗OD。
野路子戰術的成功證明OD仍有缺陷,但它的進步速度飛快。Sumail在第一次對抗OD時2:1,第二天再戰就被0:6剃光頭。只要OPEN AI想,玩家的野路子第二天就會失靈。
因為勾兵被人類戰勝後的OD一定是這麼想的
但OPEN AI想要的顯然不是這種你來挖坑我填土的模式。和DeepMind一樣,他們不是為踢玩家屁股才開發OD,而是為了開發一個真正能適應各種場景的強力AI。
OD現在只能在限定英雄、限定分路、沒有神符、沒有野怪、不能運瓶這樣一個被嚴格控制變數的場景中對抗人類,而他們的最終目的是讓AI打5v5的真正DOTA2比賽。
至於哪一天才能做到?從官網文章的措辭來看,他們心裡也沒有X數。
不過,就在DeepMind和OPENAI還在死磕怎麼能讓AI在遊戲里暴打人類的時候,有一家公司已經另闢蹊徑,率先在遊戲領域將人工智慧實用化。猜猜這家公司是誰?
沒錯,就是我,萌萌的法國土豆大廠育碧啦!
遊戲+AI=?
想到人工智慧在遊戲中的應用,很多人的第一反應都是AI和人類玩家對戰。
就是因為媒體在報道上太過強調兩者的對抗,也因為人類被人工智慧「超越」的話題天然抓人眼球,導致很多時候我們忘記了人類創造AI的初衷是什麼。
人類創造AI的目的,並不是為了讓AI戰勝人類,不是為了證明AI比人類更優越,而是為了幫助人類做到之前做不到的事情。
育碧不是人工智慧領域的領頭羊,但他們卻結合人工智慧技術開發出了一款就某方面來說具有劃時代意義的遊戲。這款名為《榮耀戰魂》的遊戲你可能玩過,但絕不會把它與AI聯想到一起。
沒點BUG你還好意思說自己是育碧家的?
乍一聽有些搞笑,《榮耀戰魂》這樣一款讓玩家拿著刀槍棍棒互懟的遊戲是怎麼和AI扯上關係的?為什麼在遊戲中完全感覺不到AI的存在?難道是雜兵變聰明了?而它又何德何能成了具有劃時代意義的遊戲?
有這種疑問很正常,玩家在遊戲中感受不到AI的存在,是因為育碧將AI應用在了遊戲最底層的部分——動作。
在2016年3月的遊戲開發者大會(GDC)上,育碧的資深動畫程序員Simon Clavet向所有人展示了育碧的一項黑科技,下一代人物動畫技術:動作匹配(motion matching)。
在同年十月的「人工智慧和互動數字娛樂會議(AIIDE)」上,Simon Clavet又做了長達一小時的報告,詳細解釋了這套系統,而最先應用動作匹配技術的遊戲便是《榮耀戰魂》。
育碧動畫程式師Simon Clavet最早向大眾介紹了育碧的黑科技
現階段的人物動畫技術是怎樣的?
要了解動作匹配技術究竟先進在哪兒,我們就得先知道目前的人物動畫技術是什麼樣的。
如今我們在遊戲中看到的每一套完整動作,都是由預先準備好的數個動畫片段組合而成。比如「衝過去兩刀砍翻敵人」的動作,系統動畫的播放順序就是「跑-重擊1-重擊2-收劍」。
真實的動畫都是來自真人動作捕捉,例如《巫師3》便是請來波蘭的劍術家擔任白狼的動捕演員。遊戲動作捕捉不像電影記錄整套動作,而是記錄一個個動作片段,例如走、跑、蹲、跳、揮劍。
這就是目前的主流技術,前期靠動作捕捉,之後在遊戲里拼成一個完整動畫,但這種模式也有缺陷。
這位負責白狼的動作捕捉,身法是不是很眼熟?
首先,一種動作要準備數個動畫,因為準備少了玩家很快就會發現自己的戰鬥動作千篇一律。
比如《刺客信條》,玩家只需負責按攻擊/破防/格擋鍵,程序會自動分配連招動畫。玩了一段時間後你就會發現戰鬥其實就是QTE加上幾套不斷重複的處決動作。
其次,動作與動作間如何銜接?
沒有銜接措施人物動作就會變成幻燈片,前一刻還在蹲著,下一刻就飛起來砍人。《真?三國無雙》直接從普通攻擊動作「跳」進無雙動畫就是典型例子,酷炫但是和動作流暢已經不沾邊了。無雙屬於把無銜接作為遊戲機制的一部分,但如果所有動作之間都沒有銜接,那畫面就會變成鬼畜。
其實過去的街機遊戲也很少有銜接動畫,慢放就會很明顯
所以要想動作流暢自然,必須要在兩個動作之間準備過渡幀(動畫)。過渡幀起到串聯動畫的作用,玩家輸入操作A、B,程序就會依次播放A、A-B過渡幀、B。
這只是最簡單的解釋,有時要根據上一個動作狀態的不同要選用不同的過渡幀,一個動作可能會分出四個過渡幀,每一個動作幀銜接的動作又會分出N個過渡幀,這就是所謂的狀態樹。
第三個問題就是如果想要動作流暢,必須放完一段動畫後才能放下一段動畫。玩家給的操作指令要排隊依次執行,誰也不能插隊。
最典型的例子就是魂系列,專治各種瞎按,這一劍揮出去了就只能等動畫放完才能重新控制角色,這會讓玩家感到一種慣性。
一些格鬥遊戲中的「動作取消」其實就是直接結束當前動畫,會帶來操作優勢(連續技)但導致人物動作不流暢,會出現跳躍式動作。
「動作取消」這個概念最早誕生在街霸2,原本是一個BUG
另外多說一句,動作流暢和打擊感、爽快感其實是兩碼事。
為了流暢度強制播完動畫會讓玩家感到操作的遲滯感,而《鬼泣》的每一個攻擊動作都能取消前一個攻擊動作的打擊後幀,反而會產生一種「我不知道但丁是怎樣做出這種動作,但我打的很爽」的感覺。
在一些遊戲中,格擋/彈反能夠強製取消任何動作並立即切入格擋/彈反動畫,很突兀但配合音效會讓人感覺很爽。
人物動畫雖然有動作捕捉輔助,但也要靠後期手工調整。過渡幀很難靠動作捕捉捕捉獲得,幾乎全靠動畫師手工製作,成本很高。
理論上人物動畫和過渡幀越多,動作就越自然。但限於成本不可能準備無限多的過渡幀和動畫,光是少量動作的排列組合所產生的過渡幀數量就多到爆炸,所以現階段遊戲人物動作仍然很難做到真正流暢。
《黑旗》的特點是無論當前在執行什麼動作,都能優先發動防反
AI加育碧,大力出奇蹟!
回到我們上一個話題:育碧的動作匹配技術究竟黑科技在什麼地方?
它能在保證流暢性的前提下允許玩家從一個動畫直接跳到另一個動畫。《榮耀戰魂》最初立項時,育碧希望創造出一種能精準控制的真實流暢的操作體驗,即人物動作既要真實流暢,還要能對玩家的操作做出即時反饋。
在舊的人物動畫技術里,即時反饋和真實流暢本身就是矛盾的:前者意味著玩家任何時候按下按鍵都會有動作反饋,即玩家能隨時改變角色動作,中止當前動畫播放;後者則要求必須放完一整段動畫才能過渡到下一段動畫。
這個自相矛盾的要求,卻能被育碧的動作匹配技術完美解決,這就是這項技術的厲害之處。
即時反饋和真實流暢原本是一對不可兼得的屬性
育碧的靈感最初來自Lucas Kovar十年前的論文,當時Lucas Kovar認為可以事先準備好一大段未預先處理的動作捕捉數據,通過機器學習中的增強學習技術讓計算機自己合成最合適的動畫和過渡。
機器學習是人工智慧的主要實現技術之一,深度學習/神經網路就屬於機器學習的分支。Lucas Kovar的思路就是先給人工智慧一些動作的半成品,讓人工智慧學會自己「合成」動畫。
十年前Lucas Kovar認為這項技術暫時沒法實現,因為這意味著要實時處理海量的數據,無論是當時的增強學習演算法還是主機內存都沒法滿足要求。
十年前,就算 AI能算得動主機也帶不起來
不過十年後,育碧把Lucas Kovar的想法揀了起來,重新試了一下,結果驚喜地發現……還是不行。
數據量還是太驚人,但如果不是讓AI合成動畫,而是讓AI負責生成狀態樹,讓AI去挑選合適的過渡動畫和動作呢?
Lucas Kovar的想法是給AI素材讓其自己生成動畫,既然這個任務目前對AI太難,那就簡化任務,讓AI不必負責生成動畫,只要負責「剪輯」就可以了。
這就是動作匹配技術的精髓所在,在人工智慧的輔助下,讓人物動畫隨時可以從一幀跳到另一幀。
動作匹配的流程是這樣的:不再記錄動作捕捉演員的單個動作片段,而是記錄一整段動作。比如走這個動作,會讓動作捕捉演員繞場走數圈,爭取將各種形態的「走」在一整段「3D錄像」中記錄下來。
動作匹配記錄的便是這樣整段的數據
而在遊戲中,如果玩家下指令讓角色從「走」切換成「跑」,AI會根據當前人物的姿勢和運動參數在「跑」的錄像中一幀一幀地挑選,直到找出一個最合適最能無縫銜接的一幀「跑」圖像,再從該幀開始播放跑的動畫。這項技術被Simon Clavet戲稱是「大力出奇蹟」(驚人又野蠻的解決方法)。
雖然我的描述比較簡單粗暴,但「大力出奇蹟」只是最基礎的思路——實際上育碧在此基礎上又付出了很多的努力,比如尋找動作匹配時人物姿態和速度、加速度等參數的最佳權重比、如何平衡真實感和舒適感、不斷優化演算法以節約內存、通過預測玩家下一步動作以提高響應速度、微調部分動畫以獲得更流暢的效果。
而由於AI(準確說是演算法)具有學習能力,它吃的數據越多,響應速度就會越快,動作就會越流暢。
本質上來說仍不算AI生成動畫,但相比舊技術已經是飛躍般的進步
這項技術有一個小缺點,因為所有的動作都是AI「剪輯」而成,有無數種可能的複雜動作組合,這導致測出所有BUG是不可能的。
所以某些沒有測試到的地方就會有不自然的動作出現,實際開發中育碧也要不斷地填坑(加入新的動作捕捉數據)。但相對於這項技術的優點而言,缺點簡直不值一提。
這項技術最大的優點就是成本低,不必再靠人工一點點製作狀態樹,也不必再錄入單獨的動畫。所以育碧奢侈地為《榮耀戰魂》中的每一個角色都製作了一套獨一無二的動作,這在以前簡直不可想像。
其次,真實感。攻擊、格擋、閃避等動作之間銜接的異常流暢,人物動作如絲般順滑。(再次重申,真實感和打擊感是兩碼事)
第三,響應速度快,流暢度超高的前提下響應速度只有0.3秒,真正達到了育碧想要的「精準控制」的目標,還有其他細微的優點不再一一列舉。
這些優點就是為什麼育碧敢說動作匹配是「下一代人物動畫技術的原因。」
動作匹配技術的另一段演示
動作匹配技術PLUS——神經網路動畫技術
雖然用上了育碧的黑科技,《榮耀戰魂》最後還是鬼服了。但這項技術卻沒有被埋沒,目前育碧有數個正在進行的項目正在使用這項次時代技術。
動作匹配技術不僅震撼了遊戲界,其影響力甚至倒灌回了學術界。要知道動作匹配的理論依據都是現成的,學術界已經完成了大量的前置工作,但育碧首次證明了這項技術的實用性。
於是在2016年5月,愛丁堡大學的研究者Daniel Holden、Taku Komura以及來自企業的Jun Saito搞出了動作匹配技術PLUS版——神經網路角色動畫生成技術。這個技術是真·AI生成動畫,比育碧的黑科技還要黑。
這項技術的黑科技在於,它是真正在實時生成動畫
研究者先通過動作捕捉數據製作一個大型資料庫,不需要預先儲存所有數據,設定播放哪一個動畫片段。只要玩家輸入指令,AI就會直接實時生成動畫。
他們用兩個小時記錄了1.5G的動作捕捉數據,再讓AI自己學習30個小時,然後製作了一段演示錄像。通過30小時的學習,AI學會了如何將動作捕捉動畫重新組合,並在遊戲環境中生成動畫。
演示角色展示出了驚人的真實感,演示角色的小腿會適應凹凸不平的地表改變發力方向,演示角色會根據自身重心的不同活動胳膊平衡身體,爬斜坡時演示角色會彎腰採取爬的姿勢。
AI甚至突破了原有動作捕捉數據的限制,自發生成了新的動作。
請注意看他的腿部動作
應用這項技術,遊戲角色每一刻的每一個動作都是獨一無二的。AI會根據環境調整每一個身體部位的姿勢。1.5G的訓練數據學習成果僅需要幾十兆的儲存空間,神經網路的決策速度大概在0.01秒左右。
但神經網路暫時也有局限,比如在某些沒有學習過的地形下,動畫就會崩潰。動畫師無法對輸齣動畫進行二次修正,而且目前來看角色動作仍然有些粗糙。
但這並不妨礙遊戲廠商們對開發出這一技術的研究者拋出橄欖枝,論文的第一作者Daniel
Holden已經被遊戲廠商高薪聘走。至於是哪家廠商?當然還是育碧。看來育碧是下定決心要保持自家在人物動畫領域的技術領先地位了。
我大育碧人物動畫技術世界第一一一一!!
其實將遊戲與人工智慧結合的努力從未停止過,比如在2000年E3上斬獲數項大獎的《黑與白》的核心就是增強學習。
玩家作為反饋者存在,讓AI適應玩家從而培養出複雜生物表現能力的智能「神獸」,但實際效果不甚理想,因為一名玩家能給的樣本太小了。
DeepMind的《星際爭霸2》bot經過數百萬次練習才學會忍辱偷生升基地逃跑,一個玩家能給出多少數據呢?
相比於讓AI直接和人類產生交互,不如通過人工智慧技術改善遊戲的其他體驗,畢竟這才是人類開發人工智慧的目的——幫助人類。
至於下一款用到育碧黑科技的遊戲,也許就是《刺客信條:起源》?
如果AI真的都是愛醬這樣的智障我想人類也不會有戒心了
關注網易愛玩專欄,閱讀更多有趣有料有深度的內容。
微信關注「網易愛玩(ID:play163)」,每天晚上陪你嘮嘮遊戲里的那些事兒。
往期薦文:都說《仙劍》好,到底好在哪兒?讓我們拋開情懷談談這部經典之作
推薦閱讀:
TAG:Ubisoft育碧 | 人工智能 | 荣耀战魂游戏|ForHonor |