借助人工智能,文字冒險(xiǎn)游戲迎來(lái)了新生
有這么一個(gè)游戲:
你叫小明,是拉里昂的一名貴族領(lǐng)主,手下有一大票忠心耿耿的騎士。一天深夜,城堡中號(hào)角突然響起,你警覺(jué)地翻起身來(lái),寢房?jī)?nèi)外早已燈火通明。幾個(gè)隨身護(hù)衛(wèi)未經(jīng)傳喚闖了進(jìn)來(lái),匆忙向你匯報(bào):大隊(duì)獸人來(lái)犯,形勢(shì)危急萬(wàn)分!
所有人都在等著你的應(yīng)敵之策,但你疑惑的是為什么獸人莫名其妙就打來(lái)了。
片刻過(guò)后,你決定動(dòng)用一種神秘而強(qiáng)大的魔法——直接改變世界進(jìn)程的那種。獸人原地消失了,沒(méi)有任何理由。所有人都驚呆了,面面相覷。
你是否好奇接下來(lái)劇情該怎么繼續(xù)下去呢?別急,繼續(xù)往下看吧。
寫(xiě)小說(shuō)的人工智能
《AI Dungeon》(《AI地下城》)是一個(gè)文字冒險(xiǎn)游戲,一個(gè)地地道道除了文字就沒(méi)有任何畫(huà)面、音樂(lè)的游戲。我們輸入一句話(目前僅支持英文),游戲內(nèi)的人工智能(AI)予以回應(yīng),這就是《AI Dungeon》的全部。
真正的文字游戲
別誤會(huì),《AI Dungeon》并不像微軟小冰那樣主攻聊天問(wèn)答,它的專(zhuān)長(zhǎng)是寫(xiě)小說(shuō)。
開(kāi)始游戲之前,我們可以選擇探索特定世界觀,或泛泛地選擇一個(gè)基本題材,包括奇幻、神話、喪尸、后啟示錄、賽博朋克等等,然后簡(jiǎn)單設(shè)定自己的身份和名字,作為主角進(jìn)入游戲。文章開(kāi)頭小明的故事,就是奇幻類(lèi)型、貴族出身。
設(shè)定好之后就是自由發(fā)揮的時(shí)間了,我們寫(xiě)一小段,AI再續(xù)寫(xiě)一小段?!禔I Dungeon》對(duì)玩家輸入內(nèi)容基本沒(méi)有限制,但還是要遵循一定的規(guī)則。游戲提供三種輸入模式編(Story)、說(shuō)(Say)以及做(Do),彼此稍有不同。
點(diǎn)擊“Say”可切換至其它輸入模式
Story模式就是直接把我們輸入的內(nèi)容認(rèn)定為故事情節(jié)。在面對(duì)獸人進(jìn)攻時(shí),我打出“獸人侵略者突然原地消失”這幾個(gè)字,AI就接著這句話編下去。雖然這個(gè)情節(jié)毫無(wú)邏輯,但AI似乎還是在努力把故事圓回來(lái),它會(huì)補(bǔ)充說(shuō)“你很疑惑,呆在原地”。
在Say模式下,我們輸入什么,AI就以“你說(shuō):‘……’”的句式起頭寫(xiě)下去。小明在大戰(zhàn)稀里糊涂取得勝利后,我讓士兵們喝酒吃肉慶祝,然后抱著玩笑態(tài)度在Say模式下輸入“我的寶貝兒子呢?他怎么不在這里?”
AI的續(xù)寫(xiě)完全出乎我的意料:“你突然扭頭看見(jiàn)手下中有一個(gè)人,什么美食也顧不上了。那正是阿蒂默斯,你的兒子,他本已失蹤多年。”倒不是因?yàn)楦缸用植钸@么遠(yuǎn),而是我沒(méi)想到AI還能安排失蹤多年這種挖坑情節(jié)。
我配合著問(wèn),“這些年你到底去哪了?”AI緊跟道:“他那雙綠色的眼睛緊盯著你。他似乎不像你兒子了,盡管他看上去一點(diǎn)沒(méi)變。”
我“警惕起他來(lái),在想他是不是可能被消失的敵人控制了。”這里我用的是Do模式,按照要求必須輸入以動(dòng)詞開(kāi)頭的句子。
而通過(guò)“消失的敵人”這一關(guān)鍵詞的引導(dǎo),AI居然分析出他是被此前原地消失的獸人給附身了……故事越來(lái)越復(fù)雜,這里還是就此打住,我們已經(jīng)介紹完了這三種模式。
只要玩家自己輸入的內(nèi)容有一定連續(xù)性,AI續(xù)寫(xiě)的情節(jié)一般不會(huì)過(guò)于跳躍。更重要的是,它大體能夠保持世界觀的前后一致;適當(dāng)控制故事長(zhǎng)度的話,它基本能分清各個(gè)角色誰(shuí)是誰(shuí)。此外,初始狀態(tài)下AI一般都會(huì)設(shè)定一個(gè)目標(biāo),不管是貴族要抵御獸人入侵,還是勇士要實(shí)現(xiàn)屠龍大業(yè)。
穩(wěn)定的世界觀、相互區(qū)別的NPC,明確的目標(biāo)和任務(wù),一般游戲所具有的這些特征,在《AI Dungeon》中同樣有所體現(xiàn)。而且,《AI Dungeon》通常都是以“你怎樣怎樣”的句式行文,一定程度上增強(qiáng)了代入感。
雖然它的游戲內(nèi)容全部以文字呈現(xiàn),但比起那些只能做有限選擇的RPG,《AI Dungeon》允許一切可能。如果實(shí)在對(duì)AI給出的某一段劇情不夠滿意,我們也可以撤回讓它重寫(xiě)。
除了簡(jiǎn)易開(kāi)局中的幾個(gè)固定題材類(lèi)型,《AI Dungeon》還提供了其它更復(fù)雜、更具體的世界觀。比如主打“暗黑”、“奇幻”的Kedar大陸,你進(jìn)入以后需要詳盡地選擇自己的出身、種族、性別、職業(yè)等等。這個(gè)大陸也有自己的行政區(qū)劃和歷史沿革,游戲中你隨時(shí)會(huì)受到“世界事件”的影響,和形形色色的預(yù)設(shè)人物發(fā)生關(guān)系。
多個(gè)可供選擇的具體世界觀
可以說(shuō),《AI Dungeon》通過(guò)現(xiàn)代自然語(yǔ)言模型,僅用文字就搭建起了一個(gè)個(gè)生動(dòng)的游戲世界。
技術(shù)帶來(lái)的自由
2019年2月,硅谷OpenAI實(shí)驗(yàn)室發(fā)布了震動(dòng)業(yè)界的GPT-2(Generative Pre-Training Transformer)模型,意味著人工智能在自然語(yǔ)言識(shí)別領(lǐng)域上了一個(gè)新的臺(tái)階。
那時(shí),就讀于計(jì)算機(jī)相關(guān)專(zhuān)業(yè)的尼克··沃爾頓(Nick Walton)正處于大學(xué)最后一學(xué)年,一次校園編程競(jìng)賽,讓他想到借助GPT-2做一個(gè)文字冒險(xiǎn)游戲。
Nick Walton
3月份,沃爾頓完成了《AI Dungeon》的初版。之所以取這個(gè)名字,以及游戲中的通用貨幣被命名為“龍鱗”(Scales),都是因?yàn)槭艿剿釔?ài)的經(jīng)典桌面游戲《龍與地下城》(Dragons and Dungeons)的啟發(fā)。
桌面游戲《龍與地下城》
起源于上世紀(jì)70年代的《龍與地下城》擁有一套豐富、成熟的規(guī)則體系,各種游戲行為都可以被規(guī)則化約、計(jì)算,產(chǎn)生相應(yīng)后果,因此玩家享有極高程度的行動(dòng)自由。但是,后來(lái)的電子游戲受限于技術(shù)和成本等問(wèn)題,能夠提供的選擇反而非常有限。
《AI Dungeon》就試圖在電子游戲中賦予玩家更多的自由。只不過(guò),游戲的初版很多地方并不完善,玩家還是只能從一長(zhǎng)串選項(xiàng)中逐步選擇行動(dòng)方式。另外初版必須在Colab(谷歌的一項(xiàng)云電腦服務(wù))框架內(nèi)運(yùn)行,對(duì)沒(méi)有相關(guān)知識(shí)背景的人來(lái)說(shuō)也不便獲取。
沃爾頓后來(lái)自己評(píng)價(jià)這個(gè)初版“很有娛樂(lè)性,風(fēng)格也很獨(dú)特”,“但幾乎無(wú)法構(gòu)建一個(gè)完整的故事”。
初版《AI Dungeon》
2019年5月,沃爾頓創(chuàng)立了Latitude公司,專(zhuān)注于人工智能研究和《AI Dungeon》的改進(jìn)。年底,OpenAI終于放出完全版的GPT-2模型,《AI Dungeon 2》隨之推出(之后仍稱(chēng)《AI Dungeon》),并且可以直接在官方網(wǎng)站游玩。
待到2020年5月GPT-3發(fā)布,事情又要另當(dāng)別論了。完全版的GPT-2使用15億個(gè)預(yù)訓(xùn)練參數(shù),需要6GB存儲(chǔ)空間;而GPT-3使用的參數(shù)是1750億個(gè)(超過(guò)人類(lèi)大腦神經(jīng)元數(shù)量),存儲(chǔ)空間占用達(dá)到700G。
GPT-3的自然語(yǔ)言識(shí)別能力更進(jìn)一步,不僅能夠?qū)懳?,還可以答題、翻譯,甚至生成代碼、做數(shù)學(xué)推理。當(dāng)然,GPT-3對(duì)語(yǔ)義和邏輯的“理解”也更加深入。
簡(jiǎn)單來(lái)說(shuō),GPT-3寫(xiě)出來(lái)的東西更像人寫(xiě)的了。尼克·沃爾頓這樣評(píng)價(jià)前后兩個(gè)模型的區(qū)別:
“GPT-3是目前世界上最強(qiáng)大的AI了……它的邏輯一致性明顯比2代更強(qiáng),能更好地理解誰(shuí)是誰(shuí),誰(shuí)在說(shuō)什么,到底有什么事情正在發(fā)生,它能夠?qū)懗鲇腥ざ尚诺墓适隆?rdquo;
在有了GPT-3的支持后,《AI Dungeon》才真正成了一個(gè)合格的寫(xiě)手。
不過(guò),GPT-3雖然強(qiáng)大,但還是存在一些固有問(wèn)題,這是由它所使用的的深度學(xué)習(xí)(deep learning)方法決定的。反映在《AI Dungeon》游戲中,就是故事越長(zhǎng)邏輯性越差,AI雖然文思泉涌但連陰天和晴天哪種天氣更涼快這種常識(shí)都分不清(事實(shí)上還是語(yǔ)義理解問(wèn)題)。
你說(shuō)“陰天比晴天更涼快嗎?” 你看著陰云密布的天空,感覺(jué)到有幾滴雨拍打在你的頭上
此外,似乎是為了故事的連續(xù)性,對(duì)于極端偏離故事邏輯的輸入,AI會(huì)拒絕續(xù)寫(xiě)。比如我在游戲進(jìn)行時(shí)直接來(lái)了一句“Game Over”(游戲結(jié)束),AI很實(shí)誠(chéng)地表示自己無(wú)能為力……
小明的故事中,在Story模式下輸入“Game over”,AI給出黃字表示不知道該說(shuō)啥
但更大的問(wèn)題是,連研究人員自己也無(wú)法解釋為什么AI寫(xiě)出了那些東西,這是如今基于深度學(xué)習(xí)的人工智能無(wú)法避免的弊端——模型本身不可解釋。他們可以“燒光”頂級(jí)性能的CPU和顯卡,把訓(xùn)練參數(shù)堆到夸張的千億級(jí)別,投入千百萬(wàn)美元的訓(xùn)練成本,為的只是讓AI寫(xiě)出人話,就算其中的原理是不可解釋的。
這多少還是暴力了些。
文字冒險(xiǎn)的進(jìn)化
回看由來(lái)已久的文字冒險(xiǎn)類(lèi)游戲,它們從來(lái)就沒(méi)有過(guò)《AI Dungeon》這樣的技術(shù)和自由度,但仍然誕生了游戲史上的諸多經(jīng)典。
1977年,在那個(gè)電子游戲的蠻荒時(shí)期,雅達(dá)利2600剛剛問(wèn)世,所有玩家都在為簡(jiǎn)單的像素畫(huà)面興奮不已,而同時(shí)期的電腦上卻出現(xiàn)了一款僅有文字的的游戲:《Adventure》(《冒險(xiǎn)》)。
和名字一樣直白的是游戲的劇情,如果把《Adventure》的內(nèi)容直接寫(xiě)成一本小說(shuō),并不具備多大文學(xué)價(jià)值。但它的特色在于,玩家可以輸入關(guān)鍵詞和機(jī)器交互,主動(dòng)地、參與式地推進(jìn)故事情節(jié)。
《Adeventure》開(kāi)始界面
到了一個(gè)岔路口是向東還是向西?看到一扇門(mén)是開(kāi)還是不開(kāi)?雖然接下來(lái)的情節(jié)不一定有多么巧妙,但不同的決定能夠產(chǎn)生不同的結(jié)果,整個(gè)故事都好像是玩家自己創(chuàng)造的。
當(dāng)年的許多玩家,因?yàn)椤禔dventure》而第一次在游戲的敘事環(huán)節(jié)感受到了人機(jī)交互的魅力。于是,越來(lái)越多類(lèi)似的游戲相繼出現(xiàn),如《Adventure International》(《世界冒險(xiǎn)》)和《Zork》(《魔域》),它們都被歸為文字冒險(xiǎn)游戲。
隨著圖形技術(shù)和硬件性能的進(jìn)步,文字冒險(xiǎn)游戲在加入畫(huà)面、配樂(lè)后又獨(dú)立出一個(gè)類(lèi)型,成為日后的冒險(xiǎn)游戲(AVG)。與此同時(shí),游玩方式則從輸入關(guān)鍵詞和語(yǔ)句變成了做選擇題,盡管后來(lái)的日式Galgame和RPG與早期的文字冒險(xiǎn)游戲已經(jīng)相去甚遠(yuǎn),但還是繼承了其基本內(nèi)核:選擇影響結(jié)果。
互動(dòng)電影游戲如《底特律:變?nèi)恕肥冀K關(guān)乎“做選擇”
不過(guò),那種“玩家輸入,機(jī)器輸出”的純粹文字冒險(xiǎn)游戲反而逐漸沒(méi)落了。畢竟,早期的文字冒險(xiǎn)游戲既不具備其它游戲的視覺(jué)沖擊力,又只允許玩家按照預(yù)設(shè)程序輸入特定信息,很難吸引到更多的人。
這一狀況直到新世紀(jì)人工智能的發(fā)展才稍有改觀。2005年,一款基于AI互動(dòng)的游戲《Fa ade》(《假象》)出場(chǎng)了,它采用了當(dāng)時(shí)最前沿的自然語(yǔ)言識(shí)別AI,也獲得過(guò)諸多大獎(jiǎng)和媒體關(guān)注。但是,由于沒(méi)有太多宣傳,當(dāng)時(shí)獨(dú)立游戲也不如今天受眾廣泛,沒(méi)有多少玩家注意到《Fa ade》。
這個(gè)看上去畫(huà)風(fēng)幼稚搞怪的游戲,將場(chǎng)景設(shè)定在“你”的一個(gè)朋友家中,他和他的妻子正在經(jīng)歷一場(chǎng)感情沖突,隨時(shí)可能離婚。你要做的,就是和他們說(shuō)話(手動(dòng)輸入語(yǔ)句),看看能導(dǎo)向什么結(jié)果。
不得不說(shuō),《Fa ade》中的AI已經(jīng)有一點(diǎn)像真人了,比如如果你一開(kāi)始就說(shuō)粗話,可能連房門(mén)都進(jìn)不去。又或者如果你評(píng)價(jià)房間中某件物品,那對(duì)夫婦也會(huì)和你聊起相關(guān)的故事。
不過(guò)在那個(gè)年代,畢竟連深度學(xué)習(xí)、強(qiáng)化學(xué)習(xí)等今日人工智能常用的訓(xùn)練方法都還處在探索階段,這個(gè)游戲也就只能做到“有一點(diǎn)像”的地步,它的AI識(shí)別自然語(yǔ)言很大程度上還是依賴(lài)預(yù)設(shè)規(guī)則,多數(shù)時(shí)候的表現(xiàn)仍然是“滑稽”和“笨拙”的。
直到十多年后,《Fa ade》才被油管的大主播Pewdiedie等人重新發(fā)現(xiàn),紅了一段時(shí)間,但他們圍繞游戲制作的內(nèi)容完全是娛樂(lè)向的,都在以調(diào)戲人工智能為樂(lè)。
B站Up主@逆風(fēng)笑也做過(guò)一期節(jié)目,頗有喜劇效果
這里就需要提到我們常說(shuō)的游戲AI和科技領(lǐng)域的AI之間的區(qū)分。以往游戲中的所謂AI,不管看上去有多么智能和自然,其實(shí)都是按照預(yù)設(shè)的程序腳本行動(dòng),因而有很強(qiáng)的可預(yù)測(cè)性。而現(xiàn)實(shí)中,如今的AI做什么都存在一個(gè)“訓(xùn)練”、“學(xué)習(xí)”的過(guò)程,結(jié)果往往不可預(yù)測(cè)。
真正應(yīng)用了如今這種AI,或者說(shuō)應(yīng)用了現(xiàn)代自然語(yǔ)言模型的,還是要以《AI Dungeon》為起點(diǎn)。它不僅復(fù)活了早期文字冒險(xiǎn)游戲,而且很可能為今后游戲AI的升級(jí)提供啟發(fā)。
當(dāng)然,尼克·沃爾頓也承認(rèn),要真正把適用于文字冒險(xiǎn)游戲的AI應(yīng)用到具體可視的NPC身上,還需要做大量探索工作。
從自然語(yǔ)言識(shí)別到AI生成虛擬世界的距離到底有多遠(yuǎn)?
不過(guò)有些矛盾的是,玩家們固然希望游戲中的人物和情節(jié)能夠有更多的可能性,但未經(jīng)設(shè)計(jì)、雜亂無(wú)章的故事又未必是好故事。
這一點(diǎn)在《AI Dungeon》已經(jīng)有所體現(xiàn)。它無(wú)疑是一個(gè)有趣的游戲,我會(huì)在自己敲下一句話后對(duì)AI接下來(lái)的表現(xiàn)充滿好奇,但在經(jīng)過(guò)一些隨意而荒誕的嘗試后,又很快失去了熱情。原因恰恰在于,它給我的自由太滿當(dāng)了,我反而體驗(yàn)不了一個(gè)完整、自洽的故事。
可能除了自由,游戲終究還是需要一部分設(shè)計(jì)的。

































