曹書
AI其強大的功能,人類Dota玩家、LOL玩家都曾拜倒在AI之下……
你以為AI這么簡單就完了?當你還在鼓吹AI打游戲(算法)的強大之處的時候,可愛的AI已經(jīng)開始偷摸摸的進行游戲策劃了,這意味著……可能以后你不僅游戲打不過AI,而游戲策劃的“飯碗”也要被AI搶去了。
AI已經(jīng)開始策劃超級馬里奧的關(guān)卡了
這位“策劃大大”誕生在由一個六位研究者組成的團隊中,成員來自多特蒙德大學、美國西南大學、倫敦大學瑪麗皇后學院、加利福尼亞大學及哥本哈根IT大學,它能用生成對抗網(wǎng)絡(GAN)自動“設計”海量的超級馬里奧關(guān)卡。
并且,這個超級馬里奧關(guān)卡策劃AI還能充分保證新關(guān)卡的可玩性,也就是讓每個關(guān)卡在開始的時候都相對簡單,而后逐漸增加難度,從而保證讓玩家能夠“沉迷到游戲當中,無法自拔”。
AI是如何策劃好超級馬里奧的關(guān)卡的?首先,GAN學習現(xiàn)有的超級馬里奧關(guān)卡,Get到關(guān)卡策劃這一技能后,生成網(wǎng)絡開始生成關(guān)卡,然后將“作業(yè)”案例提交給判別網(wǎng)絡,再由判別網(wǎng)絡進行把關(guān),判斷“作業(yè)”是否為一個合格的馬里奧關(guān)卡。不合格的“作業(yè)”將被打回去重做,直到這一關(guān)合格為止。
GAN學習的并不是每一關(guān)的畫面,而是用專有符號系統(tǒng)表示的“游戲地圖”。地圖以“方塊”為單位,有金幣的方塊、可以頂碎的磚塊、當?shù)鼗拇u塊和管道的磚塊等,游戲地圖中的每個方塊都有獨特的表示方式,比如怪物方塊編號為5,用大寫的E來代指。
當然,正常的關(guān)卡游戲都有一個特點,就是每一關(guān)都比前面那一關(guān)難一點。
超級馬里奧也通過潛變量進化LVE的方法,對游戲關(guān)卡的復雜程度進行設置,使得AI策劃的超級馬里奧能夠從“一馬平川”到出現(xiàn)管道、山溝以及復雜的元素設置。
游戲AI發(fā)展,可不是策劃那么簡單
其實,除了策劃,游戲AI的界定是包羅萬象的。隨著AI逐漸滲透進游戲領(lǐng)域,AI能夠做到的遠不止策劃、NPC、數(shù)據(jù)監(jiān)控和云計算等部分,智能相對論分析師柯鳴認為,游戲AI的發(fā)展有著“三步之遙”。
遠古時期的腳本AI
游戲中的AI其實有著相當久的歷史了,可以說只要游戲中不是只有“玩家”這一種變量,那么另一種變量就是一種AI的表現(xiàn)形式,最常見的例子就是玩家所要對抗的“敵人”,畢竟絕大多數(shù)游戲中都是有敵人存在的。
所謂的敵人,其實更多情況下就是游戲NPC或者說是“人機”,其運行模式是由算法提前預設好,并根據(jù)情況進行相應的反應和操作。但是,在早期的算法都難以稱之為AI,因為其行為方式是完全固定的。比如,F(xiàn)C版超級馬里奧中的板栗仔、烏龜?shù)萅PC,只是傻傻的往一個方向走,碰壁后才會掉頭。
“稍微”高級一點的AI能引入了一些隨機的因素,比如超級瑪麗里扔錘子的烏龜,其扔錘子、起跳的時間帶有一定的隨機性,讓玩家不好預判。
這其實就是遠古的AI,老式游戲很大程度上是二者的結(jié)合,比如游戲“困獸斗”中的怪物會出現(xiàn)隨機走位,也會在一定情況下向玩家的方向移動,他們有著一套相對較為固定的程序腳本。
這其中最為典型的代表就是AI游戲的鼻祖———《吃豆人》。作為“全世界賣得最多的街機游戲”,“吃豆人”大家再熟悉不過了。但它是“現(xiàn)代游戲AI鼻祖”這件事,恐怕知道的人不多。去年,日本網(wǎng)站“電ーーーファミニコゲマ”發(fā)布了一篇文章,內(nèi)容是“吃豆人之父”巖谷徹和日本游戲AI開發(fā)者三宅徹陽一郎的對談,巖谷首次公開了《吃豆人》的設計策劃書,并從設計的角度闡述了游戲中那些性格各異的怪物是如何被創(chuàng)造出來的。
在其中就談及,“吃豆人”游戲中的4個“幽靈”怪物就分別有自己的行為模式:紅色的一直跟在玩家屁股后面的,粉色的以玩家行進路線的下一個路口為目標,藍色的則再進一步,以下一個路口后的路口為目標(預判),最后橙色的完全隨機行動。
多數(shù)量、多類型的怪物使得玩家在初次接觸游戲時不那么容易摸清楚敵人的行為方式,這也一定程度上保證了玩家的游戲體驗。
中階時期的有限狀態(tài)機和行為樹AI
什么是有限狀態(tài)機和行為樹?就是我們高中所學的If or else判斷句組合,只是在大型游戲程序中,為了開發(fā)、修改的便利,對這些if else進行了包裝,形成了2種不同的套路。
所謂狀態(tài)機就是以電腦AI的“當前狀態(tài)”為主體,通過編寫不同狀態(tài)之間的轉(zhuǎn)換條件從而控制電腦AI的行為。而行為樹則以電腦AI的“行為”為主體,通過編寫判斷條件,使得電腦AI每一次詢問“我現(xiàn)在該干啥?”時通過一系列的判斷得出“現(xiàn)在應該XXX”的結(jié)論。
雖然這種游戲AI的編寫方式已經(jīng)可以做到非常復雜、強大,但是畢竟是由設計者提前設計好的,而設計者不可能做到面面俱到,總會有一些特殊、詭異的場景沒有放到狀態(tài)機、行為樹中,從而形成“漏洞”。一旦玩家摸清了AI的規(guī)律,或者發(fā)現(xiàn)了設計者沒有考慮到的情形,就可以利用這些漏洞玩出花樣,輕則速通,重則觸發(fā)各種詭異的bug。
例如《紅警2》中玩家不展開基地車電腦就不會造兵,因此玩家可以直接使用初始兵力利用操作打敗電腦的初始兵力直接獲勝。
這一切,也督促著游戲AI進行進一步的發(fā)展和完善。
機器學習:算法驅(qū)動下的交互創(chuàng)新
如何讓游戲AI更加智能?目前在AI游戲界主要通過有限狀態(tài)機、蒙特卡洛決策樹、神經(jīng)網(wǎng)絡和遺傳算法的方式進行解決。
在傳統(tǒng)游戲中,最為廣泛使用是有限狀態(tài)自動機(FSM),一種專家型的預編程算法。
具體而言,F(xiàn)SM算法需要設計師整理歸納NPC可能遇到的所有可能情況,再逐一安排針對反應;但缺陷在于可預測性,玩家在多次試探后就覺得索然無味。這種算法最早出現(xiàn)在1989年發(fā)布的Sim City中。
目前,最為先進的AI游戲技術(shù)當屬于遺傳算法。所謂的遺傳算法,是基于達爾文進化論提出的一種決策計算模型,計算機在模擬自然進化過程中尋求最優(yōu)解。體現(xiàn)在游戲上,NPC會根據(jù)以往的經(jīng)驗去優(yōu)化策略,新一輪的進攻的“敵人”會接收“犧牲者”的意志,并針對玩家的過往策略逐個擊破。這意味著越強大的玩家將面臨越強大的敵人,并且沒有盡頭。
游戲AI的發(fā)展,將走向何方?
從目前發(fā)展來看,AI是否已經(jīng)如火如荼地進入了游戲行業(yè)了呢?其實并不是。游戲AI的發(fā)展僅僅只是較于AI初期有了一定程度的進步,但是AI就像一個寶藏,其中能夠應用于游戲中的結(jié)合點還需要我們不斷去發(fā)掘。
柯鳴認為,AI游戲的發(fā)展需要“真心”做游戲。所謂的“真心”,就是玩家在游戲過程中,極度專注,且全身心投入,連貫流暢的享受游戲體驗,并不斷享受成功喜悅的一種情緒及心理狀態(tài)。
在微觀層面,AI需要匹配適合玩家水平的游戲體驗。從敵人的戰(zhàn)術(shù)搭配及關(guān)卡設計等給玩家提供心流體驗。
在宏觀層面,AI需要保持高度的個性化,對玩家數(shù)據(jù)的量化標準需要進一步細分。從而在游戲的整個過程中合理調(diào)整難度,激勵,獎勵,目標,劇情等,使玩家一直有玩下去的動力且不會出現(xiàn)焦慮或無聊的情緒。
總的來說,游戲AI必然是游戲產(chǎn)業(yè)發(fā)展的一大藍海,至于怎么使用才能接近用戶,進而培養(yǎng)用戶忠誠度和粘性,這還需要游戲AI進行更多的嘗試。