為什麼沒有多人聯機 - 無人深空星球生成機制深度分析

來源:樂享遊戲吧 3.01W

無人深空是一款創新過也努力過,但最終沒能把他們想象的創新做到完整,被迫就這麼發售的遊戲。

無人深空:未能完成的創新

在今天這個自媒體、直播和視訊蓬勃發展的時代裡,富有爭議的熱門遊戲經常出現。去年的輻射4、今年的全境封鎖都是例子:這些遊戲固然大賣數百萬、上千萬套,但在網際網路上,使用者評論都呈現出了激烈的分裂態勢。

但一般來說,會引起這麼大爭議的遊戲大多是商業遊戲,獨立遊戲一般是豁免的:大多數獨立遊戲只要在銷量上成功,就算風格奇異、玩法單調、甚至在某些極端情況下內容抄襲,廣大玩家們也會用比較寬容的心態面對他們,很少發生商業遊戲那種使用者群分裂、口出惡言互斥的情況。畢竟,這些獨立遊戲大多數是幾個人、十幾個人的小團隊,頂著資金缺乏、資源緊缺、技術缺乏、競爭者數量龐大等等困難做出來的,好不容易抽到銷量彩票已經很不容易了,就算有些缺點,大家又怎麼忍心斥責他們呢?

然而,這個“玩家對獨立遊戲比較喜愛”的規律,被無人深空(No Man’s Sky,NMS)打破了。

自發售以來,幾乎所有評論社群都對這款極受期待的獨立遊戲大作發起了猛烈攻擊——這種攻擊甚至波及到了媒體評論界,國外各大網站和雜誌也對這款遊戲打出了少見的大量低分。通常來說,對於爭議遊戲,媒體總是比玩家寬容得多,但這次就連不少媒體們也加入到了追擊的行列之中。

在遊戲的商業世界裡,一個遊戲成功、暢銷和好評如潮,很可能和這個遊戲的遊戲設計關係不大,是推廣、運營、商業化甚至品牌效應的貢獻,非常不好玩的遊戲超級賺錢的事情發生過也不是一兩次。但如果一個暢銷遊戲獲得大面積的差評,毫無疑問,這一定是因為這個遊戲在遊戲設計上做錯了重要的事情,甚至選擇了錯誤的方向。無人深空面對的這個輿論結果,就已經證明了這一點。客觀上來說,其實無人深空已經完成了很多令人驚訝的事情,比很多好評如潮的獨立遊戲可能更多;但他們做錯的設計也是那麼醒目,激起了玩家群體廣泛的反感。

所以,我不光打算討論“無人深空錯在哪裡”,更想要討論“這些令玩家感到不滿的錯誤設計是為什麼而發生的”。

當然,有些話我要預先說在前面:本文所做的設計分析,都是官方不會承認的,你在他們的公關稿上永遠只能看到“我們從一開始就沒說過要做多人”之類的話,但最後完成的遊戲不會撒謊。

15個人的宇宙沙盤和宣傳的反差

首先,這可不是因為無人深空“不夠獨立”。從客觀上來說,無人深空當然是一款獨立遊戲:他確實拿了發行商索尼的錢,享受了風之旅人一般“索尼第一方力推獨立遊戲”的待遇,可它的獨立資格也仍然是毋庸置疑的,比風之旅人要像獨立遊戲多了。

它的開發商Hello Games位於英格蘭薩里郡的吉爾福德,一個位於倫敦外圍規模不大的鎮子——北京的讀者大概可以想象為懷柔、上海的讀者可以想像為崇明,諸如此類。在著手製作無人深空之前,他們賴以謀生的是一個叫Joe Danger的獨立遊戲系列:和大多數二線獨立遊戲類似,他們依託於索尼的發行網路和資源支援開發這個3D平臺動作遊戲。這個系列並不算有名,也不算特別暢銷:系列甚至沒有正式的中文譯名。但在發行商索尼的支援下,也不算多麼慘淡:在2010-2014年間,他們開發了兩代PS3上的Joe Danger,同樣後來也做了這個系列的手機版本。

但在2012年,整個團隊還忙於開發Joe Danger 2代的時候,該公司的聯合創始人、後來無人深空的總監製作人Sean Murray,有了一個點子。對於我們這些搞遊戲設計的人來說,那是個很常見的點子。我有個也做遊戲設計師的朋友曾經告訴過我,她覺得每個遊戲設計師都想做一個宇宙海盜題材的遊戲。我對此表示異議,但卻發現了一個更驚人的事實:幾乎每個遊戲設計師甚至每個公司,確實都有做一個“太空題材遊戲”的夢想。比如,幾乎每個戰略遊戲的公司都忍不住要做個太空策略遊戲,從半人馬阿爾法到群星。每個做RPG的公司都忍不住想做個宇宙或者科幻題材的RPG,而太空沙盒遊戲更恨不得是大家的最終幻想……而對Hello Games的人們來說,他們想要開發的,就是No Man’s Sky這個太空沙盒遊戲。這是一個在概念上和當時所有其他太空遊戲都不太一樣的遊戲:他們想要以“探索”和“類似真實宇航員的孤獨體驗”來設計、構建這個遊戲。

——雖然他們只有那麼十幾個人(2016年的現在還剩下15個),甚至還要同時開發平臺遊戲謀生。這整整4年的時間中,他們一邊做這些不怎麼暢銷的3D平臺動作遊戲,一邊默默擠出資源開發著一個宇宙題材的獨立遊戲。

你可以想象,這個專案的開發絕對稱不上多麼順暢——我會在之後從設計角度來分析這個專案為什麼一定不會順暢的原因,不過看到上面這些背景故事,你大概也猜到他們這個專案不會順利的。在2013年的聖誕節,當時只有10個人的這個團隊,居然還碰到了洪水。他們位於吉爾福德的小辦公室被水淹了,所有人都在一起撿著開發資料的殘骸。按照Sean Murray後來的說法,“這段經歷讓我們連線在一起,構建了團結。我記得自己說過,是的這個專案很嚇人,但想想我們完成以後,一起出席E3釋出會,然後觀眾席爆滿的情形”。

他對此的感想還是部分正確的:這個專案確實比他想得更加嚇人。在遊戲發售後,他將會裝作自己沒有說過遊戲可以多人進行,表示遊戲的未來DLC將會收費,他們還將經歷第二次洪水。

最終出現在我們面前的,是一個對大多數玩家來說,和預先的宣傳、展會之間的落差大到難以接受的遊戲。

在之前所有的宣傳中,玩家們得到的訊息是,這將是一個前所未有的,以太空探索為主題的太空沙盤遊戲。遊戲裡將有數不清的飛船、文明、星球和星球上的生物等待著玩家們去發現,而且這些星球有極其獨特的美術風格,幾乎每一張截圖都有藝術效果——Hello Games反覆強調,有18,446,744,073,709,551,616個不同的星球。

遊戲中有太空作戰,有遺蹟考古,每個星球都有獨特的風景和生物圈,其中大約10%的生物圈會有比較高的複雜度,他們在宣傳視訊裡放了生態環境非常複雜的行星作為效果預覽。

玩家們要像我的世界(Minecraft)裡面一樣,使用太空採礦光線去採集各種各樣的行星資源和小行星礦山,進行星際貿易,開拓通向宇宙中心的道路,解開銀河系的奧祕。

更誇張的是,整個遊戲是無縫銜接的,全程沒有讀盤,玩家的飛船可以在星球上飛行,可以突破大氣層進行亞光速航行,甚至突破恆星系進行超光速航行。而這一切,都是通過前所未有的程式化生成演算法構造的,而且所有玩家還會處在同一個宇宙當中!他們或許不會在宇宙中相遇,但他們所提交的所有命名都將儲存在伺服器端被其他宇宙探索者看到。

無人深空星球生成機制深度分析 為什麼沒有多人聯機

玩家們原本想像的遊戲內容,大概是這樣的(2014年E3)

而真正遊戲發售後,我迫不及待的進行了三、四個晚上,十多個小時的連續體驗,然後就不得不停了下來:遊戲的重複度太高,再去星球上拿著光線收集鈽我就要吐了。如果飛船每次起飛能少要一些資源,或許我還能堅持得更久一些。

關於無人深空的這些預告確實都實現了——但我只能說,是按照“字面”含義實現的。如果你聽過那些關於“惡魔實現人類願望”的童話故事,無人深空第一個零售版本所實現的內容,大概就與此相似。

遊戲裡的星球確實有極其獨特的美術風格,但它們都像三、五個風格相近的現代藝術家捏出來的作品,配色不同,但都很奇特。遊戲裡確實也有數不清的生物等待著玩家們去命名,但90%以上的時間,你看不到預告視訊裡那種美妙的,由不同大小的動物和植物構成的美妙生物圈,只能看到一些造型奇特扭曲的小動物在怪石和資源之間奔跑。

雖然遊戲無縫銜接,但每次飛躍新宇宙和出入大氣層,都要等待著生成函式為我計算全新的世界和地表。所有玩家確實都在同一個宇宙裡面,但就算他們同時線上,在浩瀚太空的一個角落中相遇,也無法看到彼此——這實在很難說是一個多人遊戲,所以最後Hello Games選擇做鴕鳥,表示“我們其實並不想做一個真正的多人遊戲”。

無人深空星球生成機制深度分析 為什麼沒有多人聯機 第2張

實際上的遊戲畫面是這樣的……好吧這張特別醜,但確實有4成以上的星球也這麼醜……

只有一點,他們確實實現的非常好:這個遊戲的意境,確實和他們想要構造的一致。我確實感到了在無人深空中開拓未知宇宙的孤獨。

所以,我既可以理解一部分使用者對這個遊戲的意境和藝術成就大加讚賞,也同樣可以理解另外一部分使用者的失望、憤怒和口出惡言。

說實話,看到團隊只有不到20個人,加上整個遊戲的程式化生成概念,我就已經猜到這會是第二個孢子了。我沒想到的是,最終的反差會如此巨大,使用者的反彈會如此劇烈。

了不起的靈感和它的詛咒

那麼,這個龐大的宣傳反差,是為何誕生的呢?為什麼無人深空會如此篤定他們能做出一個超級龐大,而且支援多人聯機的宇宙來(雖然他們最後並沒有做出來)?要知道,他們可只有那麼小的一支團隊(2016年的現在是15個人),按照遊戲開發的常理來說,這簡直是睜著眼睛亂吹牛皮了!15個人?做個單機手遊還差不多,你們要做3A太空沙盒?是來騙經費的吧?!

要解答這個問題,我要從無人深空所使用的程式演算法開始解釋。從某種意義上來說,無人深空這個專案,是整個遊戲行業中極為罕見的“程式設計師和演算法主導”的遊戲專案。絕大多數的遊戲,要不是遊戲設計師主導,要不是美術總監主導,甚至很多時候是市場總監、財務總監甚至融資總監主導,但極少有被程式技術演算法主導的例子——偏偏無人深空就是那極為罕見的一個。這也是他們敢以15個人的超袖珍團隊,向所有玩家和發行商索尼描述遊戲願景的底氣。而最終,這也導致他們沒能完成這個架空的願景,是遊戲上市後玩家輿論給他們致命一擊的根本原因。

18,446,744,073,709,551,616這個數字是什麼呢?對於學計算機的各位肯定非常熟悉——它是2的64次方,和256、65,536、4,294,697,296一樣都是計算機系的大家應當很熟悉的數字,代表著一個64位的2進位制數。看到這個數字,你就能猜出來,他們用了一個“長整形變數”作為生成隨機星球的種子。

這意味著,在無人深空中,他們使用了程式化生成演算法(Procedural Content Generation,一般簡稱PCG)來構成這個隨機宇宙。你能夠在很多地方見到對PCG原理的簡述,甚至還有人專門寫了一篇介紹無人深空中隨機宇宙生成演算法的文章,所以我在這裡不再贅述這些程式化生成是怎麼實現的。

當然,實際上的生成演算法會非常複雜,經過很多很多步的生成,絕非我或者科普文章說的“使用一個隨機生成的長整形數來隨機生成星球上的資料”這麼簡單。你可以想象,相對於一般遊戲使用的複雜的數值表,無人深空有一張複雜的生成規則表:星球的名字如何生成、生物如何生成、地形如何生成、資源如何擺放、宇宙太空站如何生成、NPC種族如何生成、飛船如何生成、藍圖和語言如何生成……

而在這裡面,有些問題會比其他問題更加複雜。如何生成合理的地貌?如何生成看起來合法的生態環境?每個星球上都需要生成資源和值得玩家去探索的特殊地點,這些又怎麼通過一個64位的隨機數種子去進一步生成?在這些內容上,團隊必須要投入比簡簡單單地說“程式化生成”這三個單詞多得多的工作量。在最終的遊戲零售版本中,他們實現了完整的基本遊戲邏輯——但也只有基本的遊戲邏輯而已。對於4年的開發時間來說,這個答卷完全無法令玩家滿意。

我想,那可能是因為他們浪費了很多時間,用來追尋另外一個最終失敗的目標。很多關於無人深空的文章都說了程式化生成,但這個遊戲並不僅僅是程式化生成。在這個遊戲裡面,還容納了一個極為罕見的靈感,也正是這個靈感,將它原本的願景和野心暴露在了我們的面前。

因為在這裡還有另外一個非常重要的設計要點:雖然這個宇宙裡,有2的64次方個不同的星球,但所有人看到的宇宙都是一樣的。雖然遊戲沒有聯機功能,但玩家們確實能夠看到別人上傳和命名的星球,在龐大的宇宙中找到其他玩家的蹤影,看到別人所命名的生物——這證明大家所看到的宇宙,並不純粹是用那個隨機數生成的本地資料,而確確實實存在於所有人的電腦之中。

但從傳統網路遊戲的實現方法來說,這個“所有人都能看到的宇宙”原本是不可能存在的!只要做一個簡單的算術,大家就能明白這一點了:假定一個星球的隨機生成,真的只需要一個長整型變數,也就是一個64位的2進位制數(64bit)。儲存這個星球的隨機生成種子,就需要64位2進位制數,也就是8個位元組(一個位元組是8bit)。

我們平時說的1MB有多大呢?有1,048,576位元組,能儲存131,072個這樣的星球(約13萬個)。

1GB有多大呢?有1024MB,也就是說,能儲存134,217,728個這樣的星球(約1.3億個)。

1TB有多大呢?這個已經是大家一整塊硬碟的單位,有1024GB,也只能儲存137,438,953,472(約1374億個)這樣的星球。

我們再用上伺服器等級的硬碟,1PB=1024TB!這樣的硬碟能儲存多少個星球呢?140,737,488,355,328個,也就是140萬億個星球的資料。沒錯,即便我們動用了1PB這樣驚人的伺服器級別硬碟,也還沒能存下這個宇宙每個星球的生成種子——遑論玩家們給這些星球和星球上的地點、生物們起的名字了。

那麼,無人深空這個多層宇宙宇宙裡,到底有多少個這樣的星球需要儲存呢?答案是1800億億個。我們換算成PB的話,是131,072PB——13.1萬PB的伺服器,當然遠遠超過一個遊戲公司所能負擔的上限。

所以,他們不可能使用這麼愚蠢的“傳統網路遊戲”的做法。他們需要另外一種辦法來儲存這個“所有玩家共存的單一宇宙”。

這就是無人深空這個遊戲大願景的另外一半:用“偽隨機數”的演算法來同步所有人的宇宙。這是之前所有程式化生成遊戲,從矮人要塞到孢子,都沒有想到的事情。那些使用種子生成地圖對戰的遊戲們想到了,但是他們從未想過要把這個演算法擴大到一個真正的“大伺服器遊戲”上——這確確實實是一個非常瘋狂,但也相當天才的想法。

我先來解釋一下偽隨機數的演算法。對於學過計算機的人,計算機不能生成真正的隨機數,只能生成偽隨機數。通過一個演算法,生成一個看起來沒什麼規律的大數字,然後再通過演算法在這個大數字裡面擷取一段,之後再進行近似操作,對我們人類來說,看起來就好像是隨機數了。

比如說最常用的偽隨機數生成演算法,叫做“線性同餘法”:Xi = (Xi-1 * A + C ) mod M,通過取大數字的餘數來快速生成偽隨機數。懂數學或者演算法的讀者應該一看就懂,而各位不懂演算法的大家不必深究,知道這是一個用於遞迴生成特定隨機數的演算法就可以了。

但是,偽隨機數不是真正的隨機數。如果你玩過那些廉價計算器,就會知道這一點:在這些計算器的偽隨機數生成模組中,有極其明顯的規律存在。比如你使用線性同餘法,只要給定了計算的次數和函式的初始值,這個隨機數序列的每一項都是固定的;當這個同餘數字特別小的時候,甚至還會產生有規律的迴圈和特定數字。所以會有一些安全指南,告訴程式設計師的大家一定不要允許其他心懷惡意的使用者在你的系統裡連續取隨機數,或者乾脆就不要用語言提供的預設隨機數演算法(很多主流語言預設都使用線性同餘法);在已知使用線性同餘法的情況下,他們甚至能夠通過連續取到一定數量的隨機數反推到種子。所以,通常來說,我們看到這種預設通過一個函式來生成的演算法都會覺得演算法的隨機性很差;一些從眾所周知的函式(比如pi的通項公式)裡面取值的演算法就更糟糕,只要知道演算法,種子瞬間就可以被破解。

實際上,我們在現實生活中,也大量使用和這個“偽隨機數”原理類似的驗證演算法——最著名的驗證演算法就是被我們用於加密和驗證的“大質數因數分解”(著名的RSA演算法)。我們大量使用的“CRC校驗演算法”其實也是個類似的應用:只要給定輸入和演算法,任何一臺計算機,一定都能算出相同的結果;反過來說,只要算出了相同的結果,我們就能夠知道他們使用了相同的固定演算法。

但是,在遊戲領域,之前幾乎沒有人思考過如何反向使用“偽隨機數”這類演算法。隨機性越高就越好的思維定勢很難避開,所以幾乎沒有人考慮過能不能反過來利用大隨機數序列的“偽”性來構造複雜的設計用途。

反向是什麼樣的呢?讓我們想想看“給定一個演算法和種子值,任意一臺計算機都能生成特定的隨機數”的反面……

沒錯,這個反向思維是“如果我想要一個所有人都能獲得的特定值,那麼給他們一個演算法和種子值就可以了”!

我們不再需要這個至少13.1萬PB的伺服器用來儲存宇宙了:只要在每臺機器上儲存這個“通過特定種子數值生成宇宙、行星及星球上一切的演算法”,再給幾個玩家一個相同的種子值,他們就會處在一個同樣的行星系和同樣的星球上。理論上來說,只要把玩家的資料再單獨拆開,我們就能造出一個龐大的隨機宇宙,讓無數的玩家在裡面同時遊戲,還不用準備龐大的伺服器和進行預先設計!

如果這個反向思維成真,只需要給每個玩家在伺服器端儲存一套使用者資料,理論上我們就不需要去做單獨的場景地圖了。我相信,這個“可以同步的演算法”本身,才是無人深空這個專案最開始的野心和願景。不需要給大家預先準備副本和區域設計,只要所有人和伺服器都使用同樣的偽隨機生成函式和演算法,就能按需生成一個龐大的可以同時容納很多玩家的宇宙。

從這點來看,在最初的設計方案中,這個宇宙一定、一定、一定是有多人遊戲的。只有非常想做多人遊戲的程式設計師和設計師,才會想出這種充滿炫技色彩的實現方法,來解決這個大宇宙沙盤中的對戰問題。而這個專案的總監、程式設計師、設計師……所有人,甚至包括索尼方面瞭解這個專案的宣傳負責人,他們也應當是知道這個願景的,所以才會印出那些包含多人遊戲的包裝盒來。所以,他們的專案製作人才會在各種場合,口無遮攔地暢想著以後“多人模式”實現後的景象。

無人深空星球生成機制深度分析 為什麼沒有多人聯機 第3張

然而,最後他們沒做出來,索尼只能臨時把包裝盒上的“多人遊戲”用貼紙給貼上。

無人深空星球生成機制深度分析 為什麼沒有多人聯機 第4張

要具體將這個野心變成具體的遊戲設計,非常非常困難,一路上有非常非常多的細節問題要處理。某種意義上來說,他們所遇到的問題,有點像我曾經討論過的VR遊戲設計:我們有一個聽起來非常非常棒的點子,但是執行起來卻發現這個點子的各個角落,都充滿著我們之前完全沒有想到的問題,每個問題都足夠毀掉你之前的所有努力。

這些問題裡,有些看起來可能是無法解決的;還有一些則是因為開發團隊的無力和設計選擇被迫放棄了;甚至還有一些是因為開發團隊的不重視和漠視。所以,我們最終沒能看到視訊和宣傳裡說的那個遊戲;就算用最寬鬆的標準評估,最後實現的這個遊戲,也只達到了宣傳和視訊裡那個遊戲的30%。

預料不到的困難和失敗的妥協

首先,也是最顯而易見的困難,就是美術設計上的困難。

隨機生成的東西,大多和“美”不會有太大的關係。絕大多數像Roguelike那樣利用基本元素隨機生成地圖和物品的遊戲,基本上都和大多數人眼中的“美”絕緣——諸如矮人要塞或者Elona這樣的遊戲固然非常好玩,但畫面只能說“可以接受”而已。如果地圖規模小還好,可以用預製模組彌補美的不足,比如暗黑破壞神、流亡黯道或者以薩;地圖規模大了,那大家必須就要在高度恐怖的重複性和美之間做出抉擇。

美術上的困難,如果客觀來說,解決得還是不錯。如果你沒看過任何他們之前放出過的影片,也不拿去和其他一線3A遊戲對比,無人深空的畫面確實是可以接受,甚至可以說有些時候是不錯的。美術總監選擇的方案,是給整個世界的材質和顏色抹上一層厚塗油畫一般的濃墨重彩,隨機生成出的天空、大地、岩石看起來都像從超現實主義畫作裡面扒下來的一樣。

這確實是個很好的隨機生成方案:當美術風格很強烈的時候,隨機拼接的違和感就不會那麼劇烈。這套方案甚至可以對使用預製模組隨機生成的遊戲有很多啟發:它或許是個改進二維遊戲隨機生成地圖Tile的一套方案。

無人深空星球生成機制深度分析 為什麼沒有多人聯機 第5張

然而,他們在宣傳上犯了一個很大的錯誤:他們在遊戲發售之前放出來的那些影片,恐怕都是自己建模和製作的。和這些影片相比,哪怕近視眼們也能一眼看出人工美術設計和程式化生成美術設計之間的巨大落差。

在影片中,高大美麗的蛇頸龍在參差錯落的樹叢中漫步,大小動物在叢林中奔跑,天空中有異星飛船交替飛過。

在遊戲的零售版本中……大多數星球上黃綠色或磚紅色的星球上零落著異型花草,臉上彷彿長著生殖器的隨機生成生物在沙塵中跑過。

玩家們甚至做了一個站點,用來收集“在無人深空中長得好像生殖器的生物”,歡迎大家提交照片……所以說事情就怕比較啊。明明已經做得不錯了,奈何宣傳造成的期望太高。

無人深空星球生成機制深度分析 為什麼沒有多人聯機 第6張


第二個重大的困難,就是遊戲結構設計上的困難。

程式化生成這個方法本身就極富爭議。絕大多數遊戲設計師相信,引入太多隨機性和程式化生成演算法,會限制遊戲設計,尤其是關卡設計本身能達到的高度。每個程式大概都能寫出一個“超級瑪里奧兄弟關卡生成演算法”,每個關卡設計師用虛擬碼差不多也能實現一個,但誰也說不出怎麼實現一個能生成出超級瑪里奧兄弟1-1那樣經典、有趣、易於上手的關卡的演算法來。

具體到無人深空這種大宇宙遊戲的例子上來,我們不可能通過程式化生成演算法來構成複雜、巧妙的星球關卡,也很難構成各種宇宙勢力之間合理的愛恨情仇,甚至都很難生成出一場令人蕩氣迴腸的宇宙大戰來。相比於人類設計的高度,程式化生成設計確實會對結構設計有很大限制。

但是,我必須要說,用程式化生成,不一定做不出好玩的遊戲。整個遊戲歷史上,使用程式化生成最多、難度最高、生成演算法最複雜的遊戲矮人要塞(Dwarf Fortress)裡,整個世界和世界的歷史都是通過程式化生成的,但沒有人敢說這是個不好玩的遊戲。

很多人會說矮人要塞畫面粗糙、上手困難,但只要玩進去的人,大多都瘋狂地表示“這是他們一輩子玩過最好玩、最有深度的遊戲”——哪怕整個遊戲都是由ASCII字元構成的抽象符號。

受到矮人要塞啟發的作品裡也大量使用程式化生成:比如盡人皆知、橫掃全球的獨立遊戲超大作“我的世界”(Minecraft),就是一個大量使用程式化生成手法的遊戲。哪怕在商業化遊戲中,我們也經常看到程式化生成演算法的影子,比如暗黑破壞神的地圖、裝備甚至大密境。

像不可思議的迷宮或者以撒的結合這種Roguelike和Roguelite遊戲中,程式化生成更是遊戲的基本要素之一,把他們去掉這些遊戲反而可能變得極其不好玩。如果遊戲設計師極為重視這個問題,小心翼翼地控制程式化生成和隨機性的邊界,是完全有可能做出對很大一部分玩家來說好玩,甚至極為好玩的遊戲的。隨機性不是遊戲設計師的敵人,完全不受控制的隨機性才會成為敵人。

遺憾的是,無人深空的設計師看起來並不太注重這一點。零售版本遊戲的生成演算法中,看不到太多對遊戲性的刻意設計和優化,只有按照標準模式散佈在空間中的星球。他們甚至沒有想到一些最基礎的玩法目標,例如“星球應該能讓玩家看到區別”或者“藍圖和劇情應該有序”,大多數時間玩家只是在付出高昂的登陸和飛行成本,收集、搜尋本質上型別極為有限的“可探索地點”而已。想到每次降落要付出的成本,玩家很容易就能識破整個系統內容的有限,進而對整個遊戲框架產生反感。

最根本,也是對無人深空整個遊戲傷害最大的困難,恰恰來自於那個“所有玩家共處同一個宇宙”,使用偽隨機型演算法來構建多人遊戲的願景。這個困難,讓遊戲設計師無法使用很多已經被證明可以有效削減玩家反感的設計方法。

比如說,無人深空的當前版本里面,玩家不能進行任何沙盤建設,而只能對隨身的三種主要資源:揹包、飛船和多功能工具進行升級、研發和改造。而這些工具的提升也非常野蠻:提升工具,出現新藍圖、新飛船,甚至新物品的條件都只取決於“玩家現在掌握數量的多少”,和玩家怎麼進行遊戲毫無關係。

每次發現墜毀的飛船或者其他NPC手裡可以購買的飛船,都一定會比你現在的飛船綜合能力好一點點;要獲得新科技就去找生產建築,要購買新工具就去找貿易站……至於最後的結局呢?甚至就連遊戲的“到達宇宙中心”這個結局也只是簡單地重複:所有人的第一週目星系都叫歐幾里德星系,二週目叫希爾伯特緯度。當我在網上看到第三週目叫卡呂普索星系、第四周目叫赫斯珀洛斯緯度、第五週目叫許阿得斯星系以後,果斷放棄了這個遊戲。

這種設計的成因是什麼呢?自然是因為“所有玩家都共處在同一個用演算法的生成宇宙之中”。

在這個設計框架下,我們可以將無人深空的遊戲結構簡化為:“演算法生成的宇宙”和“玩家個人資料”兩個部分。但這裡有個很大的問題:當玩家的個人資料同演算法生成的宇宙產生互動時,前者的優勢將會劇烈減小,伺服器必須拿出大量的額外資源用於處理這些互動。

比如,在目前無人深空實現的方案中,玩家們只需要提交自己發現的資訊和名字。這對伺服器來說是個比較輕鬆的工作:只要玩家把演算法需要的種子發過來,然後伺服器讓本地遊戲處理一下就好了。飛船、藍圖、物品這些都繫結在玩家本地的模組也比較好處理:就算以後要聯機,也只需要在伺服器端一人存一份就好了。單個玩家對這些宇宙造成的互動和破壞可以直接放在單機遊戲的本地。

但如果要同“演算法生成的宇宙”產生互動呢?這裡會產生的所有難題,無人深空最終都選擇“不解決”。我相信他們不是沒有嘗試過,但在這裡產生的預料外的困難實在太多太複雜。比如玩家想要自己建設星球——這些建設資料該怎麼儲存?玩家如果在多個星系之間來回貿易,這些沙盤建築需要系統反覆生成,該怎麼辦?甚至如果他們以後要開聯網模組,如何處理玩家們修建在不同星球上數以百計的基地呢?甚至更簡單的設計也會造成問題。很多玩家都對只能儲存一架飛船十分不滿。但如果要讓他們能夠率領一個艦隊,這個艦隊要和演算法宇宙互動又該怎麼處理?

為什麼多人模式最終沒有做出來,玩家之間不能相遇呢?這很可能就是因為兩個玩家的相遇太過不可控制。光是飛行、跑路大概沒什麼問題,但如果兩個玩家要在演算法宇宙裡PK、戰鬥、採集、組隊……這些互動就會對伺服器造成太大的壓力。

我相信無人深空的伺服器目前基本不會處理實際通過演算法生成出來的區域:這意味是伺服器事實上並不知道那些宇宙裡有什麼——執行一遍生成演算法對玩家自己的電腦都是相當的負擔,不要說要容納數十萬玩家資料的伺服器了。當玩家通過星圖匯聚,大家一起開始收集資源、破壞地貌、進行太空戰鬥的時候,會造成的問題之多簡直難以想象。更別說,這個宇宙裡很可能還有些不通過演算法生成的東西:比如生物的運動和宇宙人的飛船,它們的行動模式很可能不是通過演算法生成的,而是通過真正的本地隨機生成的。這些東西也同樣需要在多個玩家之間同步……

所以,最終無人深空沒有多人模式,他們不得不刪除這個多人遊戲的部分。而且,當初為了多人模式,而被放棄掉的所有遊戲設計,當然也不可能被添加回來。

我這裡所想到的,只是在遊戲過程中就能想到的、極少數利用我的遊戲設計經驗就能想到的問題;無人深空的製作團隊所碰到的問題,一定比我這裡的想像還要多很多倍。那個龐大的,利用一個長整型種子就能生成一個伺服器區域的點子固然聽起來極為美妙,但並沒有任何一種方法能保證這個點子真的能夠變成現實。

留在我們這些玩家面前的,就是這樣一個未能完成的創新。如果讓我個人作為一名遊戲設計師來評價,最終版本里留下的這些東西,當真是一片狼藉,不堪入目。

在各種各樣的妥協和無法實現之後,最後剩在遊戲裡的設計,到底都是些什麼啊!如果說孢子的好玩程度是一般遊戲的30-40%,那無人深空最後剩下來的這些遊戲設計,恐怕連一般遊戲的10%都沒有。可能提供好玩的設計都被迫刪除,剩下的是一些獨立的小太空站、貿易點、石碑塔之類的東西,分散在這1800億億顆星球的宇宙中。每個太空站的造型,甚至還都是差不多的——這種人工生成的建築,他們乾脆連預製模組都沒有做幾個。

當然,無人深空已經完成的美術成就,和他們所達成的孤寂感,確實也是遊戲世界中一道罕見的風景線,我之前確實沒有在其他遊戲中見過。肯定也有一部分玩家,會被這種美術風格和孤寂感吸引,在遊戲中流連忘返,給與這個遊戲很高的評價,這樣的玩家很有可能還會增加。但至少,對我和很大一部分玩家來說,無人深空當前版本的遊戲設計,可以說是完全失敗的。

更糟糕的是,這個遊戲還定價為60美元。這麼高的商業遊戲定價,加上有這麼很大一部分玩家極為不滿,後面的事情,我們就都可以理解了:論壇爆炸,評價分歧,褒貶不一,惡評如潮。

這令我想起另外一個遊戲的故事——那就是孢子(Spore)。

另外一個孢子的未來命運

太空沙盤遊戲或許確實是個設計難度過高的類別,它是在Freelancer之類的太空模擬飛行遊戲和獵戶座之王這樣的太空策略遊戲基礎上發展起來的。這個類別裡,第一個引起廣泛注意的遊戲是2008年的孢子(Spore),模擬城市(SimCity)和模擬人生(the Sims)之父威爾·懷特(Will Wright)最後的作品,融合了文明、太空飛行、星球建設等等很多遊戲型別的玩法,但每個小遊戲的完成度都不算高。

這款遊戲不能說很差,但遭遇了和無人深空類似的輿論風暴,總體來說是個悲劇。這款遊戲失敗之後,威爾·懷特在2009年離開了EA,也結束了他作為一名遊戲設計師的生涯。

而在無人深空之後,還有另外一個更加萬眾矚目的超重型產品,躺在我們未來的時間線上:星際公民(Star Citizen)。這款遊戲是眾籌歷史上籌資金額最大的產品,僅僅靠銀河飛將和自由槍騎兵之父Chris Roberts的名字,以及玩家們的愛就籌足了一個3A級別遊戲的開發經費:超過一億美元!

但這款遊戲現在也承受著空前的輿論壓力:遊戲還沒發售,就已經有太多的人,甚至是參與了籌資的人表示對這個專案不再看好。獨立遊戲在此方面的嘗試也稱不上多麼樂觀:類似Elite:Dangerous這樣的作品只能說整體剛剛及格,很多使用者都表示在裡面的體驗甚至趕不上以上手困難著稱的太空網路遊戲EVE;Star Bound這類披著宇宙和科幻皮的倒是個更好玩一些的沙盤遊戲,問題是這個橫板遊戲很難說還剩下多少“太空”的要素。

到現在為止,無人深空則是這個型別下最新的加害者與犧牲者。那麼,下一個問題是,無人深空所夢想的多人遊戲還能實現嗎?坦白說,我不知道。

這個遊戲現在已經賺了很多很多很多錢。僅僅Steam版本就銷售了超過70萬份,平均售價接近60美元;而在索尼親自下場力薦的PS4上,銷量很可能超過這個數字。這意味著,這款遊戲很可能有150-200萬的全價付款玩家,帶來了超過1億美元的總銷售額。

而正像我在上面分析的一樣,基於目前的設計架構,要在這個遊戲上新增真正的多人要素和沙盤建設要素,恐怕會是非常困難的。

那意味著,伺服器要儲存大量玩家們對這個宇宙進行永久改變的資訊,進而同全球所有玩家的本地資訊整合在一起。這可不像優化遊戲執行效率或者增加新的隨機要素那麼簡單,很可能要投入高昂的成本,甚至改動整個遊戲設計框架。也難怪Sean Murray會表示,未來的DLC很可能要付費:這麼高成本、高風險的改動,完全免費可能確實不太現實。

這就是這個遊戲的現狀:已經有了鉅額的收入,但也得罪了無數的玩家,繼續製作還要投入高昂的成本。從純粹商業角度來說,這樣一個已經褒貶不一,甚至惡評如潮的遊戲,還有必要繼續下去嗎?不管從索尼還是Hello Games的角度來說,都可能是悲觀的。不管他們怎麼改動,現在200萬玩家裡,可能有100萬是非常不滿的,怎麼改動他們也不會回來。

假設我是Hello Games和Sony的決策者,而且我是一個教科書般理智的經濟人(讀作殘酷無情的資本家),我就會選擇賣幾個DLC發掘剩餘價值,然後由他去吧。聲譽這麼差的遊戲不可能再推出續作了,我們不如把這些團隊集中起來仔細想想他們還能幹些什麼……

我猜測,這大約就會是無人深空,這另外一個孢子游戲的結局。

沒錯,第一個孢子的結局也是這樣:雖然它作為遊戲,甚至比無人深空還要好玩一些,但這也不影響孢子這個遊戲未來的命運。它比它所有不太好玩的小遊戲加起來要好玩,但這也無法改變這個遊戲整體的評價和Will Wright未來的命運。

無人深空星球生成機制深度分析 為什麼沒有多人聯機 第7張

但作為一個遊戲設計師,我也會忍不住想,如果讓我來利用這個“偽隨機數伺服器”的點子,我能設計出什麼樣的東西來?

看過了無人深空以後,在我的版本的遊戲設計之中,肯定不會踩中他們已經踩過的這些坑啦……但我會選擇用它做些什麼呢?

一個每個玩家都有、千變萬化的個人探索區域?

一套充滿變化性、但能同時容納數百個玩家進行的活動副本?

一整套矮人要塞式的、等待著玩家去改變的,卻又能永久保留在伺服器上的隨機歷史線?

只要給出一套演算法,就能產生出一整片隨機生成,但又容許多個玩家在裡面同時行動,並進行永久改變的區域,這個設計點子的魅力有多麼誘人!

但冷靜地想想,用經驗判斷,這些新的設計點子雖然看起來已經經過了很大的優化,但裡面一定也蘊含著無數現在看不到的設計陷阱。我甚至看不清楚要把演算法設計做到什麼程度,才能在裡面保留最低限度的“好玩”而不是無人深空式的“乏味”,就更別提把這整個方案放在某個具體的遊戲裡了。這恐怕只能依靠實際製作和試錯才能做到,還得說服整個團隊克服無數困難才行。

至少,我覺得在中國,絕對沒有可能去製作這樣的遊戲:這樣的遊戲,哪怕只是一部分遊戲模組的製作風險和週期都太嚇人了,足以嚇死中國所有的遊戲公司、投資人和製作團隊。沒錯,除非真有不在乎錢的老闆拿充足的鈔票打我的臉,我想就連我都不會去做一個這樣的遊戲,因為在中國根本找不齊一群願意長期做這樣型別遊戲的笨蛋……花四年時間做這麼一個很可能會失敗的遊戲?別開玩笑了,大夥兒還有房貸要交、有男女朋友要哄、有老婆(或者老公)和孩子要養活吶!你們不知道中國的房價已經漲成什麼樣了嗎,做這種玩意男女朋友都要分手啦!

但我也會存有一線希望:在那龐大的國外獨立遊戲開發原野上,有那麼一群或很多群衣食無憂也不怕老婆孩子沒人養的遊戲製作者,受到無人深空這個例子的激勵,試圖在它的基礎上設計出一個或很多個更加保守但是好玩的遊戲出來。

無人深空星球生成機制深度分析 為什麼沒有多人聯機 第8張

遊戲史上不乏這樣的例子——比如,矮人要塞這個上手難度和門檻高到可怕的程式生成遊戲,最終激勵產生出了我的世界(Minecraft)。而在很多老玩家看來並不太好玩的Minecraft,它驚人的商業成功也最終激勵產生出了Steam和家用主機上一大堆的建設沙盤,裡面很多遊戲即便以最苛刻的標準來看,也是相當好玩的。

並不是每個型別的遊戲,都像平臺遊戲的超級馬里奧兄弟、動作RPG的塞爾達傳說這樣,有天才設計師製作遊戲給大家指明道路;也有些型別,只有經過無數設計師血淚甚至人生的澆灌,我們才能一點點看清楚正確的道路所在。

沒錯,無人深空確實是一大片缺乏遊戲設計的狼藉,活該大家罵它然後去退款。這個製作組的收益也足夠高了,他們也差不多該帶著錢滾去做下一個專案了,我不贊同大家繼續給他們捐獻利潤——不管是在Steam還是在PS4上。Steam70多萬銷量!PS4版本有索尼力推,銷量沒準比它還高!而且,每個遊戲要60美元,之後還打算賣付費DLC!先不管大家怎麼惡評如潮,起碼你們15個人都快可以一起退休了好嗎!

但我希望大家能夠看清楚,這並不是程式化生成,以及反過來的,“多人程式化生成伺服器”這兩個思路本身的問題,只是Hello Games一次嘗試的失敗而已。無人深空的設計思路,或許會變成未來設計更好、更巧妙的多人程式化生成遊戲的種子。我們也許能夠找到一條道路,在遊戲設計師的設計、程式生成的內容和玩家制作的內容之間找到更多可行的平衡點。

說實話,我之前確實沒想到我會給這個遊戲寫這麼長的文章,我甚至在這個無聊的遊戲裡都沒有忍耐這麼久。那麼,在這漫長的閱讀旅程最後的最後,是例行推薦指數。

推薦指數:75

如果你要看當前程式化生成遊戲的最高水平,那麼這個遊戲值得一玩——也真的只是一玩而已,二玩一般人就要爆炸了。

遊戲基礎質量分:70

雖然他的質量達到了程式化生成遊戲的最高水平,但最多也只有普通人類設計遊戲的一半水準,就更別提和他們自己專門做的宣傳影片或者玩家們腦海裡的美化相比了。

+4 十分獨特的程式化美術實現方案。但是,大多數時間,這個美術方案隨機產生的結果仍然無法被一般人接受;

+3 一個不知道是否行得通,通過固定演算法來生成多人遊戲的靈感。也許和遊戲設計一樣,縮減一些的話還是可行的;

+3 了不起的技術成就,迄今為止在程式化生成方面走得最遠的遊戲;

-5 宣傳和成品的落差是最大的敗筆,一切問題都可以滾到這裡——還有為什麼要賣60美元?你們給索尼抽稅抽瘋了嗎。

熱門標籤