AI技術(shù)將會如何改變游戲設(shè)計?
游戲設(shè)計
112已閱讀
2020-07-28 10:12:17
導(dǎo)讀
可能有人會問,AI在游戲中不是很早就應(yīng)用了嗎?,是的,其實有電子游戲就有AI。但在本篇中討論的,是近幾年來逐漸發(fā)展起來的,基于深度學(xué)習(xí)(也有基于運(yùn)籌學(xué)和博弈論等學(xué)科)的AI技術(shù)。
本文討論的AI會范圍會更大一點(diǎn),并不止步于怪物、NPC的智能。
我希望通過這篇文章,看一下現(xiàn)在AI到底能為游戲行業(yè)帶來什么。
我會列出一些當(dāng)前的技術(shù)引用,也會有一部分我自己的想法。
最后恐嚇一下我的同事們,你們會被AI替代嗎?
AI為啥這么火?
AI近幾年有多火,我就不作論述了。但為什么AI這么火呢?不同的人可能有不一樣的看法,這里只講一下我自己的看法。
現(xiàn)在我們說的AI技術(shù),大部分跟深度神經(jīng)網(wǎng)絡(luò)有關(guān)。我認(rèn)為AI之所以火了,就是因為深度神經(jīng)網(wǎng)絡(luò)的加持。
深度神經(jīng)網(wǎng)絡(luò)獨(dú)有的解決問題的方式,使得人類解決問題的能力提高了一個新檔次。
所以,我希望用比較簡單的語言來描述一下,深度神經(jīng)網(wǎng)絡(luò)是什么,好讓大家了解,為什么AI技術(shù)會突然獲得高速的發(fā)展。
其實要明白深度神經(jīng)網(wǎng)絡(luò)并不難,大家可以把神經(jīng)網(wǎng)絡(luò)看作是一個函數(shù)。函數(shù)的一個重要功能,就是把兩個東西對應(yīng)起來。
在以前,我們要電腦識別一個手寫數(shù)字“8”,那么程序員就需要寫一個函數(shù)。
MNIST數(shù)據(jù)集中的圖片“8”
函數(shù)里面需要寫一堆規(guī)則,例如:
圖片有兩個圈
圓?有多圓?
上面那個大下面小
有多大?有多???半徑是多少?
有時候上面那個圈可以不完全閉合也算...
天,那算什么圓?
我們?nèi)绻プR別一個手寫數(shù)字的圖片8,需要寫很多很多規(guī)則,有時候幾乎寫不完。
也就是說,在我們現(xiàn)實世界里,有些人類明明能模糊地了解,但說不上具體規(guī)則,不可描述東西。
不可描述就意味著,這個函數(shù)沒法寫,也意味著無法通過編程實現(xiàn)。
深度神經(jīng)網(wǎng)絡(luò)改變這一點(diǎn)。
神經(jīng)網(wǎng)絡(luò)會先隨機(jī)初始化網(wǎng)絡(luò)的權(quán)重,就是先隨便弄一個魔法函數(shù)Magic'(x)。
我們期望Magic函數(shù)的功能是輸入圖片8,輸出分類8
一開始,Magic'(x)和我們要的Magic(x)并不相同。所以輸出不一定是對的,也就是說Magic'(x)=y',y'不等于我們要的y。
也就是說,把圖片8放到這個Magic'(x)里,網(wǎng)絡(luò)可能識別的出8的概率可能只有40%,而并不是。
通過調(diào)整參數(shù),減少loss,讓Magic'更靠近Magi
這和我們想要網(wǎng)絡(luò)識別出8有很大的差距呀,因為我們想f能識別出這些圖片是8的概率是。
我們稱:y'和y之間的差距叫l(wèi)oss。
但這沒關(guān)系,通過反向傳播,調(diào)整f(x)的參數(shù)權(quán)重,讓loss最小化,也就是讓y'和y之間的差距減少。
這個過程我們稱為學(xué)習(xí)或者訓(xùn)練。
當(dāng)loss足夠小的時候,y'和y的差異就不大了。也就是說,f(x)的功能和我們要的F(x)相當(dāng)!
如果以上的話沒明白,那不要緊。你只要明白兩點(diǎn):
深度神經(jīng)網(wǎng)絡(luò)本質(zhì)上說是個函數(shù)。
有了深度神經(jīng)網(wǎng)絡(luò),我們可以把以前不能描述規(guī)則的函數(shù)造出來。
這就是人類科技樹拓寬的一大原因。
游戲性
回到游戲中,我們以前為游戲角色做AI,會用腳本,行為樹,狀態(tài)機(jī)等方式。
這些本質(zhì)上就是在描述怪物的行為,例如看到某個角色,就做什么動作;到了某個時間,釋放某個技能。
但這些行為可以足夠豐富而完整地描述嗎?
越復(fù)雜的行為,我們就需要復(fù)雜的行為樹;越多的狀態(tài),我們就需要越多的狀態(tài)機(jī)。
但當(dāng)復(fù)雜度到了一定程度,人類可能很難理解了自己創(chuàng)造的行為樹了。
但神經(jīng)網(wǎng)絡(luò)可以,他們制作出的AI不但成功戰(zhàn)勝了游戲,還戰(zhàn)勝了人類。
目前,AI在這方面最重要的技術(shù)叫強(qiáng)化學(xué)習(xí)
最有名的可以算是以下幾個:
征服Atari游戲——Deep Mind
最前沿:當(dāng)我們以為Rainbow就是Atari游戲的巔峰時,Ape-X出來把Rainbow秒成了渣!
征服圍棋——Alpha GO
AlphaGo
征服德州撲克——Pluribus
機(jī)器之心:AI攻陷多人德?lián)湓俚荢cience,訓(xùn)練成本150美元,每小時贏1000刀
https://zhuanlan.zhihu.com/p/73268685
(Pluribus沒有用上深度神經(jīng)網(wǎng)絡(luò),用的更多是博弈論CRF為基礎(chǔ)的剪枝)
征服麻將——微軟Suphx
真雀神,微軟亞研推出超級麻將AI,還上了專業(yè)十段
https://tech.sina.com.cn/csj/2019-08-29/doc-ihytcitn2805087.shtml
征服星際爭霸——Alpha Star
陳雄輝:淺談AlphaStar
征服王者榮耀——絕悟
騰訊:騰訊AI「絕悟」打王者,把職業(yè)選手干掉了
https://zhuanlan.zhihu.com/p/76482309
現(xiàn)在的AI已經(jīng)能把人類花式吊打了!甚至到了有人已經(jīng)發(fā)表AI威脅論的程度了!
但請容我先潑潑冷水,神經(jīng)網(wǎng)絡(luò)的訓(xùn)練可不是套套公式就能實現(xiàn)的。神經(jīng)網(wǎng)絡(luò)訓(xùn)練的要求都非常高。
首先,AI訓(xùn)練消耗大量資源,括時間和算力。
跟李世石對戰(zhàn)的版本稱為AlphaGo Lee,是一個分布式系統(tǒng),運(yùn)行在Google云上,使用了48個TPU,總耗能約10000W。
而圍棋雖然看上去比較復(fù)雜,但和其他游戲來說還算是簡單的了。畢竟圍棋是個回合制游戲。如果像星際這樣的復(fù)雜游戲,則需要更多。
另外,AI在開發(fā)過程中有不確定性。
我認(rèn)為算力和時間并不是一個主要因素,至少在游戲制作下不是。
畢竟當(dāng)前的算力下,很多算法已經(jīng)能擊敗人類。而且算力必然會不斷提升。
但深度學(xué)習(xí)還有一個不能忽略的因素:深度學(xué)習(xí)算法帶有不確定性。
AI的學(xué)習(xí)能力除了與算法有關(guān),也與環(huán)境有關(guān),也和參數(shù)有關(guān),不同參數(shù)之間可能是天差地別。
調(diào)整參數(shù),然后等待AI的訓(xùn)練,根據(jù)結(jié)果再調(diào)整參數(shù)??赡芙?jīng)過漫長的等待才能獲得大成。
所以很多搞深度學(xué)習(xí)的人會把自己比喻成煉丹師。
但這種不確定性正在逐步減少,因為算法是不斷更新改進(jìn)的。從DQN到SAC,就是一個不斷解決實際問題,讓算法更強(qiáng),更快,更穩(wěn)定的過程。
以上,我們對強(qiáng)化學(xué)習(xí)(Reinforcement Learning)進(jìn)行了一些介紹。那么強(qiáng)化學(xué)習(xí)能夠帶給游戲什么呢?
我認(rèn)為強(qiáng)化學(xué)習(xí)在游戲中應(yīng)用應(yīng)該有一個前提:這項技術(shù)并不是為了擊敗玩家,而是為了增強(qiáng)玩家在游戲中的體驗。
經(jīng)過強(qiáng)化學(xué)習(xí)的AI作為玩家的對手或者敵人,上限是很高的。
我們可以通過弱化,把AI調(diào)整成適合當(dāng)前玩家技術(shù)水平的難度。
有趣的事情就發(fā)生了。
以前我們?yōu)榱苏{(diào)整難度,通常會從數(shù)值入手。
攻防血決定了難度
但如果用強(qiáng)化學(xué)習(xí)的方法,我們還能開辟另外一個維度的難度,讓游戲更豐富。
提醒:AI不可預(yù)知性會更強(qiáng)。
不像已經(jīng)設(shè)定好的行為樹,AI的不可預(yù)測性將會增強(qiáng)。這讓AI更像“人”,當(dāng)然是件好事。但設(shè)計師對AI的掌控也會降低,意味著對玩家體驗的控制的精確性也會相應(yīng)降低。
但數(shù)值會消失嗎?我想并不會的。
因為數(shù)值是很直觀,大部分玩家都需要數(shù)值,數(shù)值在很多游戲中決定了難度。
我不會告訴你:游戲公司需要賺錢,數(shù)值是核心。
強(qiáng)化學(xué)習(xí)并不會完全替代數(shù)值和技能設(shè)計,但會給設(shè)計師多一項控制難度的工具。
在強(qiáng)化學(xué)習(xí)方面國外的deepmind和openAI等公司處于領(lǐng)先地位,但更多是從事基礎(chǔ)算法研究。
國內(nèi)有一家專注于AI+游戲的公司——超參數(shù)。超參數(shù)的CEO劉總正是騰訊AI Lab總經(jīng)理、圍棋AI“絕藝”、王者榮耀AI“絕悟”的團(tuán)隊負(fù)責(zé)人。
(曾經(jīng)有幸拜訪劉總,劉總是個非常有遠(yuǎn)見并且很nice的人。在AI+游戲這方面啟發(fā)了我許多,產(chǎn)生寫這篇文章的想法,感謝。)
如何評價手機(jī)游戲《輪到你了揭秘篇》?
關(guān)卡生成和輔助設(shè)計
由于深度神經(jīng)網(wǎng)絡(luò)足夠強(qiáng),而且行為更接近人類。我們可以用這樣的AI輔助我們生成一些關(guān)卡。
例如三消游戲、Roguelike類游戲。
我們可以通過一定的規(guī)則生成關(guān)卡,然后用AI進(jìn)行測試。
我們生成的關(guān)卡是否能通過?是多少?或者說容錯率是多少?
新的英雄、卡牌的足夠強(qiáng)還是太逆天呢?新英雄的行為是否足夠豐富,還是一招打天下?
國內(nèi)已經(jīng)有公司已經(jīng)這樣做了。聞?wù)f這家公司已經(jīng)被字節(jié)收購了。
預(yù)計未來將會在一些小游戲中應(yīng)用到強(qiáng)化學(xué)習(xí)AI,因為小游戲狀態(tài)相對簡單,要求算力較低;同時算法也比較成熟。我自己也試過用AlphaZero的算法實現(xiàn)一些小游戲的AI。
事實上,AI如果足夠豐富,小游戲的體驗層次也會得到提升,一些原來并不適合做成游戲的桌游,也能成為線上的游戲了。
卡牌類、回合類游戲也將會很快用上強(qiáng)化學(xué)習(xí)進(jìn)行輔助設(shè)計。
故事性
游戲的故事性括美術(shù)、文案、配樂等部分。我將嘗試從游戲制作流程,當(dāng)前有什么AI技術(shù)能幫助到各個崗位的同學(xué)。
我們先來說說美術(shù)。
1.美術(shù)
原畫階段
永遠(yuǎn)的PS,Adobe在這方面走得很遠(yuǎn)。
【官宣】Adobe 2019史詩級加強(qiáng),官宣的視頻看著就是舒服!
我認(rèn)為AI在這方面能幫助美術(shù)同事減輕很多不必要的壓力。例如把人物從背景摳出來這些煩而不難的,在AI的加持下將會變得更簡單,操作將會變得越來越智能。
對了,二次元的老婆,可以直接批量生產(chǎn)。
機(jī)器之心:想用StyleGAN生成老婆?來看看這個小哥的復(fù)現(xiàn)細(xì)節(jié)吧
https://zhuanlan.zhihu.com/p/102085621
這里用到的是對抗神經(jīng)網(wǎng)絡(luò)GAN。這項技術(shù)甚至可以讓你的老婆生成不同的表情。
建模
2D轉(zhuǎn)3D的GAN,通過照片,原畫直接生成3D模型,可能在不遠(yuǎn)將來就能實現(xiàn)。這不是神筆馬良?
但這項技術(shù)目前還不夠成熟,距離實際生產(chǎn)應(yīng)該還有一段距離吧。
AI科技大本營:AI做不了“真”3D圖像?試試Google的新生成模型
動作
現(xiàn)在角色動作很多時候,還必須由動作設(shè)計師逐個骨骼調(diào)整。而動作捕捉技術(shù)雖然成熟,但價錢挺貴的。
那能不能加起兩三臺手機(jī)就能做出輕量級的動捕系統(tǒng)呢?
答案是目前還沒有。但我估計未來不久就可以做出來。
人臉識別或者目標(biāo)檢測算法,可以跟蹤屏幕上的物件。將其映射到3D骨骼上應(yīng)該也不是難事。
在擴(kuò)散一下思維,只需要找到適合的視頻,就能把動作套到模型上。
想一下,做怪物獵人就不用再動捕了,直接在動物世界找個片段就好。(說笑)
《怪物獵人世界Iceborne》金獅子動作捕捉幕后花絮
現(xiàn)在表情已經(jīng)可以捕捉了。
其實表情演出,已經(jīng)能大大豐富游戲的戲劇性。
蒙皮貼圖
通過GAN和風(fēng)格轉(zhuǎn)換技術(shù),做到輸入一張圖,按照該圖的風(fēng)格配色,應(yīng)該很成熟的功能了。
一波:淺談風(fēng)格遷移(二)任意風(fēng)格遷移
ICON
輸入icon的文字,加上游戲風(fēng)格。
通過nlp+知識圖譜+GAN的結(jié)合或許已經(jīng)能實現(xiàn)了。
如果用在游戲制作,可能會較為粗糙。但如果是讓玩家自己生成家徽,戰(zhàn)旗等圖標(biāo),或者是個好主意。
2.文案
利用GTP2.0技術(shù),可以進(jìn)行一小段文字的擴(kuò)寫。
外國有人已經(jīng)做成了游戲,不過還不夠成熟。
但如果加上知識圖譜呢,或許效果會不錯。
給AI一段故事,就能變成漫畫,這個來自人大微軟和北影的AI,要啟發(fā)電影人的靈感
量子位:誰說AI寫故事邏輯亂?試試這個文字冒險游戲,情節(jié)豐滿緊湊,我進(jìn)去就出不來了
https://zhuanlan.zhihu.com/p/98971511
這就是就是沒有靈魂的文字。但一些邊角料的文字,甚至大量沒靈魂的外文字將會被AI替代。
但,個人認(rèn)為,一種全新類型的游戲可能會從這點(diǎn)開始萌芽。
3.配音
Google AI的Duplex和蘋果的siri
Google AI-Duplex打電話谷歌人工智能中文字幕_嗶哩嗶哩(゜-゜)つロ干杯~-bilibili
https://www.bilibili.com/video/BV1tW411Z7HM?from=search&seid=14684582458564384807
個人認(rèn)為,現(xiàn)實玩家一般來說比較復(fù)雜,讓AI完成對話任務(wù)估計要求挺高的,不容易。
但或者我們可以用某人的聲線,通過AI為我們的文本進(jìn)行配音。
雖說配音是門藝術(shù),但一些邊角料的配音AI還是能勝任和支持的,并且我們不能低估AI發(fā)展的速度。
4.音樂
音樂可以自動生成,并且太多了。
量子位:用AI作曲,現(xiàn)在你也可以
5.商業(yè)化
例如某款游戲會不斷更新,并且推出新的道具,老道具會打折出售。
那我們應(yīng)該為某個玩家優(yōu)先推送那一條信息呢?
利用大數(shù)據(jù)我們可以對玩家的需求更有把握。就像淘寶一樣。
游戲人何去何從?
說到這里,相信很多同事都要把我給殺了。AI這擺明搶飯碗吧!
的確,AI不但在搶勞力的飯碗,很大一部分重復(fù)型的智力勞動都會被搶走。
說句狠點(diǎn)的,目前游戲制作中的外都會消失。
但個人覺得,游戲人有一種東西,AI是搶不走的。
對體驗的敏感度
現(xiàn)在用計算機(jī)生成一個二次元老婆是很簡單的事。甚至都不用畫。
但作為一個角色,你認(rèn)為怎樣的二次元老婆會受到市場的喜愛?假設(shè)AI能寫很流暢的劇情了,足夠打動玩家嗎?假設(shè)馬良的神筆真的可以出現(xiàn),那么玩家喜歡怎樣的風(fēng)格呢?
最近在玩Ori2,在Ori2中有三段逃亡關(guān)卡,仔細(xì)聽,每個關(guān)卡的BGM雖然旋律一樣,但編曲都不相同。
、3段用了很重的鼓點(diǎn),來營造氣氛。
但第二段卻用了弦樂,為什么?
這是因為第二段的操作更多是長按操作,弦樂和長按操作更加配合。
這些微小的體驗差距,最終只有游戲的設(shè)計者才能判斷。
AI能讓游戲制作變得簡單,但怎樣的游戲會讓玩家喜愛,讓自己喜愛?這歸根到底是體驗的敏感度。
魯迅曾經(jīng)說過:當(dāng)AI發(fā)展起來,最有價值的人將會分為兩極。
面向技術(shù):能掌握高精尖技術(shù)的高端人才。
面向人:能掌握人的心理,喜好的人。括溝通、營銷、設(shè)計、當(dāng)然也括一些手工匠人(賣情懷)。
還有能連接這兩極的人。