機(jī)器學(xué)習(xí)讓游戲角色更加生動(dòng)形象,帶來不一樣的游戲體驗(yàn)
機(jī)器學(xué)習(xí)當(dāng)前在很多領(lǐng)域,都取得了相當(dāng)巨大的進(jìn)步。從應(yīng)用領(lǐng)域來看,機(jī)器學(xué)習(xí)在“信息識(shí)別”、“數(shù)據(jù)預(yù)測”、“復(fù)雜控制”幾個(gè)方面,展現(xiàn)出很大的能力。
比如“信息識(shí)別”領(lǐng)域,依賴于大數(shù)據(jù)的訓(xùn)練,現(xiàn)在的圖形識(shí)別已經(jīng)非常完善了,手寫數(shù)字的識(shí)別僅僅是類似Hello World一類的簡單應(yīng)用;
“數(shù)據(jù)預(yù)測”領(lǐng)域百度對(duì)于世界杯的預(yù)測達(dá)到令人吃驚的100%準(zhǔn)確率,將來這種技術(shù)在各種據(jù)別歷史數(shù)據(jù)的預(yù)測應(yīng)用上,將有長足的發(fā)展,比如廣告的推薦系統(tǒng)、財(cái)經(jīng)數(shù)據(jù)的決策系統(tǒng)等等;
“復(fù)雜控制”方面,自動(dòng)駕駛的技術(shù)經(jīng)歷了十幾年的研究,剩下的似乎只有識(shí)別硬件的成本問題了。
然而,以上這些技術(shù),相當(dāng)一部分來源于“大數(shù)據(jù)”,或者叫“監(jiān)督學(xué)習(xí)”的訓(xùn)練,也就是說,實(shí)際上這些機(jī)器的智能是來源于人類積累在數(shù)據(jù)中的“智慧”。機(jī)器僅僅是在“模擬”人類的某種思考判斷,而這種模擬采用的更多是類似“查詢搜索”的方法。——不過說回來,人類的經(jīng)驗(yàn)幾千年來,都是記錄在書本上,需要用另外一個(gè)大腦來學(xué)習(xí),然后才加以運(yùn)用;而機(jī)器學(xué)習(xí)跳過了人腦這個(gè)階段,從經(jīng)驗(yàn)直接到應(yīng)用,確實(shí)是一個(gè)偉大的進(jìn)度??梢栽黾右稽c(diǎn)想象的是,以后所有“需要經(jīng)驗(yàn)”的事情,已經(jīng)是可以用電腦來代替了,比如醫(yī)生看病。不過那些需要“創(chuàng)造”或者“發(fā)現(xiàn)”的事情,比如藝術(shù)創(chuàng)作,理解和發(fā)現(xiàn)客觀規(guī)律,還是需要人腦。所幸是機(jī)器學(xué)習(xí)在“無監(jiān)督學(xué)習(xí)”領(lǐng)域,能協(xié)助人類更好的去理解和發(fā)現(xiàn)世界的特征,這個(gè)方面也是非常有用的,但現(xiàn)在似乎應(yīng)用領(lǐng)域并不非常活躍(也許是我的了解還不夠廣泛)。
[機(jī)器學(xué)習(xí)預(yù)測房價(jià)的例子]
AlphaGo在圍棋領(lǐng)域戰(zhàn)勝人類,給了我們很大的想想空間,我們會(huì)想:機(jī)器是否也能像人類一樣理解游戲規(guī)則,從而玩游戲呢?我個(gè)人的理解,實(shí)際上現(xiàn)在還是不行的。如“監(jiān)督學(xué)習(xí)”的模型下,機(jī)器只能通過大量的人類的“經(jīng)驗(yàn)數(shù)據(jù)”,來模擬人類的游戲行為,但無法獨(dú)立做出判斷和思考;如果使用“深度學(xué)習(xí)”,確實(shí)會(huì)有一種“超越人類”的錯(cuò)覺,但是無法忽視的是,“深度學(xué)習(xí)”需要一種高度抽象,模擬游戲勝負(fù)規(guī)則的公式,來指導(dǎo)機(jī)器的自我對(duì)弈。在圍棋、象棋這類已經(jīng)發(fā)展了數(shù)千年的游戲領(lǐng)域,“子力計(jì)算”等游戲模式經(jīng)驗(yàn),已經(jīng)能相當(dāng)準(zhǔn)確的描述這個(gè)游戲了。而對(duì)于其他的一些比較復(fù)雜的游戲,要高度抽象的用數(shù)學(xué)模型來概括一個(gè)游戲,還是需要人類大量的思考。這也是為什么深度學(xué)習(xí)在一些規(guī)則簡單的游戲中,還能表現(xiàn)的比較好,而另外一些比較復(fù)雜的游戲上,就需要大量的人工干預(yù)才能稍微像樣的原因。
[AlphaGo是用了人類的游戲經(jīng)驗(yàn)的]
所以我認(rèn)為,機(jī)器學(xué)習(xí)在現(xiàn)階段,最成熟的應(yīng)用,是利用“監(jiān)督學(xué)習(xí)”的方法,對(duì)于大量人類的“經(jīng)驗(yàn)”大數(shù)據(jù)進(jìn)行模擬思考的方面。這個(gè)方向處理用于“理解”客觀世界,也可以“模擬”人類對(duì)于復(fù)雜環(huán)境的行為,這兩者是幾乎一樣的。
游戲角色AI在開發(fā)上的困境機(jī)器學(xué)習(xí)很容易讓人聯(lián)想到在游戲中的角色AI。一直以來游戲中NPC或怪物的AI問題都是一個(gè)游戲比較難解決的問題。比如游戲的角色行為過于單一,讓玩家乏味;或者游戲角色容易因?yàn)锽UG陷入一些卡死的境地。為什么游戲角色AI會(huì)有這些問題?大體不外乎幾個(gè)原因:其一是描述一個(gè)完整的AI非常的繁瑣,環(huán)境越復(fù)雜,AI邏輯流程越容易出現(xiàn)漏洞;其二是為了游戲角色AI的目標(biāo)非常多樣化,很多游戲角色并不是越“聰明厲害”越好,而應(yīng)該是作為一個(gè)“演出系統(tǒng)”,來讓玩家體驗(yàn)游戲世界的工具。
[一套簡單的游戲行為,就需要一個(gè)復(fù)雜的行為樹]
現(xiàn)在比較流行的游戲角色AI開發(fā)方法,無外乎“狀態(tài)機(jī)”和“行為樹”兩種,而這兩種在數(shù)據(jù)結(jié)構(gòu)上,是可以無損轉(zhuǎn)換的,也就是說本質(zhì)上是一樣。這兩個(gè)技術(shù),都是為了幫游戲開發(fā)者,更準(zhǔn)確、更完整的表述AI邏輯判斷的數(shù)據(jù)結(jié)構(gòu)。但是游戲本身的邏輯復(fù)雜度,還是要由程序員一段段的去理解,然后才能編寫成程序。在另外一些游戲中,會(huì)用到一種叫“面向目標(biāo)的路徑規(guī)劃”的技術(shù),實(shí)際上是“狀態(tài)機(jī)”的一種升級(jí)技術(shù):利用A*等尋路算法,來自動(dòng)生成“狀態(tài)”之間的邏輯路徑,而無需一開始就以人工輸入的方式全部輸入進(jìn)去。這種技術(shù)因?yàn)槭窃谶\(yùn)行時(shí)產(chǎn)生狀態(tài)機(jī)圖,所以表現(xiàn)出來的行為會(huì)更加豐富和準(zhǔn)確,較少會(huì)陷入一些“沒有事先預(yù)測到的狀況”從而陷入邏輯卡住的情況。
但是不管狀態(tài)機(jī)和行為樹如何努力,從開發(fā)者角度來說,都必須通過人腦來抽象和理解游戲世界的規(guī)則,和各種可能的情況。加上游戲AI很多時(shí)候是需要一種“表演”效果,要用代碼和邏輯去“模擬”出一場表演,是相當(dāng)繁瑣的工作量。(如果以深度學(xué)習(xí)技術(shù)來說,實(shí)際上也無法做出這種表演效果,因?yàn)檫@種表演的邏輯行為,往往不是“最優(yōu)”的選擇,甚至是相當(dāng)“差勁”的)
所以,歸根結(jié)底,游戲中的AI的困境,是由于工作量的原因造成的。由于我們沒有很好的生成“游戲行為”的工具,導(dǎo)致我們的游戲行為往往不夠好。
機(jī)器學(xué)習(xí)如何應(yīng)用在游戲角色AI的開發(fā)上在機(jī)器學(xué)習(xí)領(lǐng)域,學(xué)習(xí)人類的行為,并且應(yīng)用于合適的場景,是“監(jiān)督學(xué)習(xí)”下最常見、最成熟的技術(shù)之一,經(jīng)典的應(yīng)用就是“自動(dòng)駕駛”。相對(duì)于自動(dòng)駕駛需要昂貴的雷達(dá)設(shè)備,才能“感受”現(xiàn)實(shí)世界,在游戲中所有的數(shù)據(jù)都唾手可得,這種監(jiān)督學(xué)習(xí)的應(yīng)用更是沒有任何障礙。
假設(shè)我們的游戲,已經(jīng)把基本的游戲規(guī)則開發(fā)好,游戲場景也已經(jīng)布置好,剩下的就是如何置入游戲角色。就好像一部電影,場景、道具都已經(jīng)到位,攝像機(jī)和劇本都已經(jīng)準(zhǔn)備好,那么剩下的就是演員的表演了。按照以前的做法,我們需要用復(fù)雜的狀態(tài)機(jī)系統(tǒng),去操控那些游戲角色演出,而現(xiàn)在,我們可以讓策劃(或者其他開發(fā)人員)直接去操控游戲中的角色,去真實(shí)的以游戲的操作行為,去讓游戲角色做出演出行為,而機(jī)器學(xué)習(xí)的程序,就好像錄像機(jī)一樣,可以通過記錄我們操控的角色的行為,去學(xué)習(xí)如何模仿我們的操控。當(dāng)我們表演的足夠豐富后,機(jī)器學(xué)習(xí)就可以完全取代人工的操控,做出一些和預(yù)設(shè)相同的行為特征。
如果我們的游戲能像上面的方法去開發(fā)角色AI,我們將會(huì)在游戲AI行為工具上,得到一次巨大的進(jìn)步。我們不再需要通過人腦去抽象和轉(zhuǎn)化游戲的“表演”,而是可以直接去“扮演”,這樣除了可以節(jié)省大量的“程序員”的開發(fā)工作外,對(duì)于調(diào)試AI行為,表達(dá)更豐富的角色行為特征(性格),也是有相當(dāng)大的好處。
[游戲開發(fā)在很多方面已經(jīng)越來越接近電影制作]
顯然,如果完全用“游戲”的形式來取代AI開發(fā),即便在機(jī)器學(xué)習(xí)的支持下,可能還會(huì)有很多不足之處,比如“人工表演”可能無法覆蓋所有的游戲場景環(huán)境。但是只要能節(jié)省下工作量,我們還是可以利用舊的狀態(tài)機(jī)技術(shù),來定義比較“完整”的邏輯環(huán)境,彌補(bǔ)那些可能存在的漏洞。不過我相信,隨著對(duì)游戲測試的深入,機(jī)器學(xué)習(xí)會(huì)能更快更好的應(yīng)對(duì)這些邏輯漏洞,畢竟“玩”幾把游戲,比用寫代碼然后調(diào)試,要快的多。
游戲角色AI的業(yè)務(wù)價(jià)值現(xiàn)在的成名游戲中,確實(shí)有那么一大批是似乎對(duì)游戲角色AI“沒有必要性需求”的,比如我們常見的MOBA類游戲。在棋牌類游戲中,我們也不太希望用一個(gè)厲害的AI讓我持續(xù)的輸錢。但如果設(shè)想一下,如果我們的策劃能比較低成本的生產(chǎn)“AI”,那么我們的游戲就會(huì)脫離“玩具”的層面,變成一種可以“表演”的產(chǎn)品。我們常常說IP對(duì)游戲的重要性,而真正能體現(xiàn)出IP的,往往是故事體驗(yàn),這就需要一套很好的“表演”系統(tǒng)。
從另外一個(gè)角度說,如果我們的游戲除了精彩的PVP內(nèi)容,還有很多優(yōu)秀的PVE內(nèi)容(所謂的單機(jī)體驗(yàn)內(nèi)容),那么玩家也許會(huì)慢慢傾向?qū)ξ覀兯a(chǎn)的PVE內(nèi)容來付費(fèi)。從電影市場這么多年的發(fā)展來看,優(yōu)秀的“表演”還是會(huì)有很大的市場的。從知識(shí)產(chǎn)權(quán)保護(hù)的角度來看,游戲玩法很容易被抄襲(PVP主要是玩法),但PVE內(nèi)容卻很容易得到保護(hù)。除了利用海量用戶去激活PVP的收入,在PVE方面的開發(fā),也許是一個(gè)新的市場空間。(從《陰陽師》這類產(chǎn)品能明顯感受到這股市場的潛力)
[巫師3不僅僅是一部互動(dòng)電影,也是一個(gè)玩法優(yōu)秀的游戲,更是一個(gè)超級(jí)IP]
總結(jié)如果我們能利用機(jī)器學(xué)習(xí)技術(shù),開發(fā)出更通用的游戲角色AI工具,那么可能讓游戲拓展出新的PVE游戲市場,對(duì)于游戲IP的輸出也有非常明顯的作用。