在近日舉行的北京國際遊戲創新大會(BIGC 2021)上,來自網易伏羲實驗室的負責人李仁傑帶來了「人工智能點亮遊戲未來」的主題分享,從虛擬角色的形象、語言、動作、互動、開發效率和玩家保護6個方面,介紹了網易伏羲在人工智能與遊戲結合上的探索以及具體落地的案例。

以下是手遊那點事整理的演講實錄:
大家好,我叫李仁傑,來自網易伏羲。首先非常感謝大會的邀請,今天我給大家分享的是網易伏羲在過去幾年當中,在人工智能和遊戲的結合中做的一些探索和落地的工作,權當是拋磚引玉,以後大家可以在人工智能和遊戲結合的道路上一起前進。
相信大家對網易都已經非常的了解,不知道在座有多少人也了解網易伏羲呢?如果大家不是很了解的話,我先給大家做一個簡單的介紹。
網易作為全國甚至全球領先的遊戲開發者,我們一直都會在思考如何為玩家帶來更好地的遊戲體驗,以及思考在遊戲的開發過程,如何進入下一個世代的遊戲開發。

下一個世代的遊戲可能有非常多的選擇,比如說我們想實現西部世界、頭號玩家裡面描繪的世界,或者今年提出的metaverse概念,有非常多的道路可以通向下個世代,但是人工智能也一定是其中之一。
所以網易大概在4年前成立了「伏羲人工智能實驗室」,也就是現在的網易伏羲。我們的使命和願景,就是通過人工智能技術在遊戲中的研究和應用,全面釋放創作者的生產力和更新玩家的體驗,並且將這種沉浸式交互帶到各個領域,豐富每一個人的精神世界。
我們在成立初期的時候一共有六個方向,其中有五個人工智能的方向和一個平台的方向。五個人工智能方向分別是強化學習、自然語言處理、用戶畫像、圖像動畫和虛擬人,還有一個支撐所有五個方向的大數據和雲計算平台。
今天我將會按照成立實驗室初期的思考,從遊戲玩家以及遊戲開發者的角度上,看看人工智能給遊戲帶來了什麼。
我們首先想的是,藉助用人工智能,可以讓遊戲裡面的角色變得更加逼真,其中第一個大家想到的就是形象,希望這個角色和人類,或者和玩家更加相似。

其中一個給我們很多啟發的工作,就是NVIDIA在2018年的時候,他們是用GAN(Generative Adversarial Network)做了8個假的人臉,而且都是2D圖,並不是3D建模的。這8張人臉全部都是人工智能通過GAN自己生成的,但是已經可以以假亂真了。

當時NVIDIA發布之後,我們都非常的興奮,大家都在想我們是不是可以把類似的技術應用到我們的遊戲中去。
在座既然大家都來參加這個會,可能很多都是遊戲玩家,或多或少都會在遊戲裡扮演其中的角色。但是在最早的時候,你並不能真正「創造」一個角色。雖然可以選擇自己的種族、性別,或者具體一點有7種眉毛,8種嘴巴,然後6種鼻子的造型組合,但實際上這也就是些combination的組合,幾乎不太可能組合出一個完全「自定義」的形象。
隨着技術的進步,包括現在很多手遊,都可以在角色的面部高達200多位的參數上去任意調節角色的相貌。只要你有足夠的想象力和創造力,你幾乎可以創造出任何的角色,甚至是還原出你自己或者是你喜歡的人。
但是這也催生出另外一個問題:並不是所有的人都會有這樣的藝術細胞。比如說我,我再怎麼去捏臉,都沒有辦法捏得像我自己。於是就催生出了一種職業捏臉師。大家可以在淘寶上搜一下,50塊錢一次。你把你的賬號給他,他可以幫你在遊戲裡面幫你捏一個造型。
然後我們想,我們是不是可以通過人工智能技術,讓玩家的體驗得到提升呢?我們希望通過人工智能技術,讓玩家只上傳一張自己的照片,就可以在遊戲裡面生成一張既形似,又符合遊戲的這種美術風格的3D造型。
大家可以看到在上面這一排,是我們在《逆水寒》裡面落地的智能捏臉。它走的是一個古風的這種形象。左下角是《天諭》,它走的是一個稍微偏魔幻或者時尚的,然後右下角是卡通,是一個還沒有發布的遊戲。

我們其實在智能捏臉上也做了非常多的打磨,在探索過程中,我們也在思考,是要做得更加形似、還是要更滿足玩家的需求?後來我們也發現,玩家實際上並不只是要滿足於和自己特別像,還希望不僅像自己,還要超越自己,讓自己的3D形象變得更加漂亮。
所以除了「臉」之外,我們覺得其實還有一項非常重要的就是髮型。一個人的髮型,甚至可以大幅影響你整個人的形象。我這裡拿了哪吒做這樣一個舉例。我們的系統現在也正在做髮型重建的工作,但目前還沒有落地。

其實髮型重建比人臉重建更加複雜,因為我們希望它既然落地到遊戲裡面,需要模型足夠的小,而且足夠的快速。我們的目標是能夠做到只需要抓住11個關鍵點,就可以通過你的照片,來構建你任意形狀、任意發質的這樣的一個髮型。
剛才我們說到了形象的部分,然後當形象越來越像你的時候,我們還希望說話也能更加的像。說到NLP的話大家可能都不陌生,比如說大家手機裡面都有助手Siri或者是小愛同學,或者很多智能音箱。

但是大家可能都會發現,其實這些所謂的智能助手交互並沒有特別的豐富。當然這很大一部分是受到現在NLP的這樣一個限制,還有更多的一部分是它原本的定位就不是真人,你會感覺它沒有性格、沒有個性化,它只是幫你完成一部分的任務。
所以在做遊戲和人工智能結合的時候,我們一開始先是走了一些比較通用性的道路,比如說通過NLP的方法,讓遊戲角色有很多跟文字、語言相關的技能。比如說AI寫詩、AI寫詞,寫歌詞,還可以寫藏頭詩等等。

完成這些之後,我們希望讓AI可以有更多的性格。就像你周圍也有各種各樣不同性格的人,有的人是風趣幽默的,有的人可能是高冷的,有的人可能是傲嬌的,他們說話的方式和遣詞用句都非常不一樣。
於是我們第一次嘗試、其實也是全球第一次把NLP和遊戲結合起來,是在《倩女幽魂》的手遊中,推出了一個叫智能小孩的玩法。因為《倩女幽魂》手遊裡面是可以結婚的,結了婚之後還可以生小孩。我們覺得玩家跟小孩之間的互動應該是非常有代入感、有共情的,而不只是在遊戲裡面簡單點一點,所以我們覺得這個小孩是需要跟玩家交流。

當時設計這個小孩的時候,他是分1歲、5歲、12歲三個階段,他1歲的時候只會牙牙學語,你跟他說什麼,他以咿咿呀呀的方式去回復給你;
然後等他5歲的時候,他就已經可以和你自由的閒聊了,甚至可以給你講一些笑話;
等到他12歲的時候,他就已經飽讀中國的四書五經,以及遊戲中全部歷史,可以回答你任何關於中國歷史以及遊戲中間的問題,而且還可以幫你寫詩,做一些其他特定的技能。根據你如何培養這個小孩,他最後會成長為不同的性格、和你說話的方式也是完全不一樣的。
實際上透過NLP裡面的這種閒聊技能,後面我們還在想是不是可以在文字方面做更多一些突破,讓他可以用文字去生成劇情,做一些文字內容生成的東西。
這是去年的高考的作文題,我們把這個題給了AI,讓AI自己寫了一篇作文。大家猛一看可能覺得還真是像模像樣的。雖然當中其實會有一些錯誤,比如他第二段說法國的科學家馬丁·路德·金,實際上他並不是法國的科學家。
另外他還自己編了一條名人名言,說的還像模像樣的,但實際上也並沒有這句名人名言,而且這句話也不是馬丁·路德·金說的,但這充分證明了AI的創造能力。所以根據 NLP的這種生成,我們也在想是不是可以探索AI和遊戲結合,產生一些新的玩法。

於是去年的時候我們在《遇見逆水寒》這款手遊裡面,和遊戲的製作人一起研究了一個叫傀儡戲的辦法,它就是根據 NLP裡面這種內容創意生成的。因為《遇見逆水寒》它是一款古風戀愛遊戲,所以我們希望可以有多個玩家一起參與,在遊戲裡面傀儡戲是每周二和周四晚上都會開啟,開始的時候會有五個角色進入一個房間。
一開始會有一個簡單的描述,比如說是男主角和女主角在哪裡相遇了,會告訴你的目標是什麼,會給一開始的一幕,你可以扮演男主角或者扮演女主角,扮演一個路人、或者是抬轎的轎夫或者是丫鬟等都可以。
然後根據上面的設定,玩家可以自己編出一段劇情,比如男主角說我們一起去湖邊遊玩了,然後AI就會根據你的這段對話自動編輯劇情。之後下一個人,就會根據AI編的劇情再繼續往下去,相當於人和AI一起不停的編劇情。
所以每次玩傀儡戲它呈現的內容都是完全不一樣的,一億人去玩它傳出來的也是一億種不同的結果。一直到最後你的哪一句話觸發到讓AI編的劇情滿足了最開始的目標,玩家就獲勝了。這是我們第一次在遊戲中,嘗試做出以AI為主導的新玩法,現在我們也還在繼續探索中。
在它會說話了之後,我們還在想,AI說起話來的面部表情也應該更像真人。現在也有很多技術可以實現,包括電影的CG,就是需要一個中之人穿一身緊身服,上面還有很多點,面前也架了一個非常大的攝像頭,然後把表情和身體動作全部都捕捉起來,再通過遷移的方式讓動畫人物動起來,這是最傳統的。
現在通過人工智能的技術,我們不需要那麼複雜的設備,只需要一個攝像頭,它就可以自動捕捉你的面部表情。但是我們想想的是:是不是可以繞過這一步?就是只把文字或者語音給到我們的角色,它就可以自動匹配對應的表情和肢體動作?

這裡是我們一個兩年前的demo,現在也還在不停的加強,不過大家還是可以看一下,左邊是算法合成的效果,右邊是我們讓人臉來動真實的效果。當然仔細看的話還是能看出一些的區別,但是如果我把上面兩行字擋住,不告訴你哪個是算法合成的,哪個是真實動捕的,可能就不是特別能辨別出來。
我們用AI方法去合成你的形象,讓你能說話之後,第三步就是希望這個角色還可以動起來。
就像我之前說的,現在有一個非常流行的方式,就是動作遷移,就是通過攝像頭或者是一段遊戲裡或者一段任何地方的視頻就好了,AI可以自動去分析這段視頻,找到他骨骼的關鍵點,把這段視頻裡面的動作遷移到遊戲的角色中去。

這樣就非常明顯地提高了遊戲開發的效率。因為之前可能我們的藝術家或者TD,他們在做這樣一段視頻的時候,每個東西都需要去手動反覆修正,現在只要在網上選一段想要的視頻,比如說舞蹈、甚至是你自己去表演一個動作,它就可以自己遷移過去了。

剛才的兩個demo也展示了用語音或者文字就可以自動生成面部表情,我們想,既然可以生成面部表情,就應該還可以去生成身體的動作,於是我們就把之前的那些表情和動作全部合成在一起。
這個就是我們幫網易有道還有網易新聞做的一個虛擬偶像,他是一個二次元主播。這段視頻在b站上也有,因為他每個星期都會在b站上去更新他的視頻。

其實以前做這個的話會非常複雜,就是要人在後面錄動作、做表情,再播報本月新番動漫的介紹。但是有了我們這個基礎之後,你一天更很多都可以,你要做的只是給他一段語音就可以了,只要有語音,其他所有的動作表情都是AI自動合成的。
這項技術其實我們覺得它不僅可以在用在遊戲裡,包括虛擬主播,直播帶貨或者虛擬偶像,其實都可以用到這個技術。
所以我們正在把它做成一個標準化的產品,也就是說做成一個平台或者SDK,只要導入模型,然後在上面然後輸入文字或者語音,它就可以自動的去生成你需要的動作和表情。如果你覺得它生成的效果還不是那麼滿意,你還可以手動去調整。所以我們覺得這樣的一個工具不僅對遊戲,甚至對很多文娛行業都會非常有用。
剛才說到有了形象、會說話、又能動起來之後,那下一個就是讓他的行為也變得更加擬真,就像他變得開始有智能。也就是為什麼講到遊戲和AI結合的時候,大家第一個想到的都是強化學習,怎麼讓遊戲人物他的行為變得更加自然。

其實強化學習也是點燃這一波人工智能浪潮的一個爆點,就是來自於圍棋領域阿爾法狗與人類的大戰。
這個是我們在遊戲中做的一些實際的落地。這個是《流星群俠傳》里的1V1競技場,一開始這個AI他可能什麼都不會,他只會隨機的用很多招,然後隨着不停的學習,可能第二天它就會開始用一些連招,第三天它就知道你怎麼破我的連招,那它就開始會用一些欺騙的戰術。比如它會先把你的防禦招騙掉之後再使用大招,基本上就是一個人類玩家的平均水平。

我們還在《潮人籃球》中的3V3玩法落地了強化學習功能。實際上這裡的3V3是用了四個智能體,除了3個籃球運動員外,還有一個教練的角色,相當於指揮官,指揮每個AI去怎麼操作。我們在《逆水寒》以及很多網易的遊戲裡面,其實都已經實際落地了強化學習,我們的目的就是希望能夠更好地提高玩家的體驗。
另外AI其實不僅可以提高玩家的體驗,還可以提高遊戲的開發效率。比如說這裡要展示的是一段人物轉圈,然後坐下來彈琴的這樣一個動作。實際上它展示了讓動畫角色動起來的一個過程。它分兩步,第一步是它的骨骼要動起來,然後第二步是讓隨着骨骼的貼圖動起來,我們說的「蒙皮」就是讓貼圖隨着骨骼動起來的這樣一個過程。

這種做法非常複雜,所以它的門檻也很高,想做好實際上需要很長時間的訓練,1~2年才能變成一個資深的藝術或者TD。但是當進入這個門檻之後,你可能會覺得這項工作有點枯燥,因為每天做的都是同樣的事情,這樣高重複、難度又大的工作,讓人工智能來做最合適不過了。
所以之前大家能看到,比如說一個20秒的視頻,讓人工來做的話,大概要兩個小時的時間,但是我讓人工智能來學習去做,可能只要三分鐘就可以把這個視頻做出來了。

另外我們還在做的一項事情是自動化測試。因為參與過遊戲開發的同學都知道,遊戲的測試實際上是非常繁重,任務量巨大的工作。尤其是像MMORPG這種有非常多任務的,可能每個月都會有一個補丁,甚至每個星期都會有一個patch。然後你要把本體幾乎所有的東西,包括它的任務系統全部測一遍。

很多情況下,我們是沒有辦法支撐如此龐大的這樣一個測試團隊。所以基本上現在很多遊戲也就只是把一些關鍵的點,讓主線任務不要出差錯。然後支線的bug,可能大家就沒有辦法了,因為人力實在做不到。我們想的用模仿學習以及強化學習辦法,可以不可讓人工智能自己去把所有的任務跑一遍,然後找到甚至人都不能發現的bug,因為它的速度確實比人腦快很多。
在實際嘗試的過程中,以前人工測試只能覆蓋到10%~20%的這樣一個遊戲的任務測試,然後我們的人工智能可以覆蓋到100%,而且還可以找到人工測試找不到的bug。
後面一個是可能現在大家非常關注的,AI可以更好地保護我們的玩家,包括未成年人,甚至包括我們的成年人,比如說反外掛。

外掛是殺死遊戲最容易的一個辦法,尤其是像FPS這種非常強的競技遊戲。大家如果玩過FPS,在遊戲中一定碰到過穿牆掛、隱身掛、跟蹤彈之類的,會極大的消滅掉你對遊戲的熱情以及你的遊戲體驗。
所以我們根據各種不同的外掛開發出各種不同的識別方法,比如說打金外掛,可能有專門對付打金的,比如說強化學習的方法,然後 FPS,我們可以用解讀的方法,有時候甚至利用強化學習的方法。

另外還有一塊就是智能匹配,現在有非常多的對戰類PVP遊戲。雖然PVP對戰的兩方都希望自己可以贏,但是這一局只能有一方贏。
但實際上並不是說你輸了你的體驗就不好,就像大家如果踢過足球或者是打乒乓球之類的,其實一場好對戰的遊戲體驗,帶來的結果是一個你來我往的,互相對抗的過程,棋逢對手的感覺實際上才是最開心的。
所以我們可以做到,比如說之前大家要爬分,有天梯系統需要打個大概平均70~80場,才能真正的去定位到我們該在的段位。但現在可以通過抓取遊戲中非常詳細的行為,通過一場到兩場,我就完全可以知道你大概是有幾斤幾兩,那麼下一次會匹配到和你半斤八兩的隊手,而且還可以根據你隊友的情況,把你放到最合適的隊伍,以及確保兩邊會是一個勢均力敵的情況。
剛才我大概簡略地介紹了一下我們在遊戲的AI人物形象、語言動作、互動,還有遊戲開發效率,以及如何保護玩家中做了一些探索。我們後面還會一直持續的在這些遊戲上面去生根,做更多的有意思的創新,希望下次明年我們可以有新東西來跟大家介紹,謝謝。
—— 點擊下方公眾號名片,即刻關注我們 ——
——————— End———————
行業交流 /行業爆料/商務合作:
請加微信 cxx2744 或yukochan97
加入「手遊那點事」微信交流群:
請加群主微信curab_b 或yukochan97
內容投稿:
請發郵箱 helinyu@sykong.com