為什麼你們會相信一個程序生成的宇宙?
數學界有個著名的故事,很多人聽說過,簡單重溫一下大意是這樣的:有個人發明了國際象棋,國王很高興,要獎勵他。這個人說,我不要獎勵,您在棋盤的第一個格子給我放兩顆米(也有版本是一顆),第二個格子放4顆米,第三個8顆,以此類推,放滿棋盤就行了。國王爽快地就答應了,但在經過計算之後,發現傾其國庫都不能滿足這個需求,因為棋盤有64個格子,僅僅是最後一個格子,就需要放2的64次方顆米
2的64次方是18,446,744,073,709,551,616,這個數字在日常生活中幾乎完全接觸不到,也是《無人深空》里的星球數目。
關於《無人深空》,目前爭議已經多到大家審美疲勞,光是促使兩大遊戲銷售平台——Steam和亞馬遜無條件退款,已經是冠絕近幾個世代的「壯舉」,這裡就不多展開了。我們這篇文章的大前提,也是建立在這樣一個現實上:《無人深空》有著非常強勢的宣傳,而成品則是一邊倒的差評,遊戲性和內容極其慘烈。慘到了人們不免會納悶在遊戲工業如此發達的國外主機市場,為何會讓這種天方夜譚般的產品一步步走向市場。
程序不懂美
「用程序來生成海量內容」乃至「模擬一個宇宙」,這種構想不是《無人深空》獨有,這些年曾屢次出現過數個類似的項目,國內外皆有,無一例外以失敗告終,或者繼續以「宇宙沙盤」的名義忽悠大眾。
在繼續說下去之前,有必要先澄清一下這類遊戲的核心技術Procedural nGeneration,《無人深空》們理論上可以籍此產生近乎無窮的「遊戲內容」。對於計算機在「創造力」方面的瓶頸,其實很多人沒有直觀印象,因此在開發者繪出的圖景之下,容易對其抱有過高期待,同時也有相當多的誤解。
大眾開始談論《無人深空》後,網上關於Procedural Generation的話題開始增多,隨之而來的還有不少誤讀。Procedural Generation是一項非常古老的技術,有著近20年的歷史,但至今中文資料依然語焉不詳,這次很多人將其翻譯成「程序化生成」或「隨機生成」,導致人們將其與很多遊戲里司空見慣的「隨機生成」混淆了起來。比如你開一局《文明5》,打一把《暗黑3》,場景和地圖也可以說是隨機的、程序生成的,但他們和《無人深空》這類遊戲的原理和用戶體驗是兩碼事。
《無人深空》所用的Procedural Generation,應該歸為「過程生成」。迄今為止複雜度和多樣性舉世無雙的ASCII遊戲《矮人要塞》,在遊戲開始前會構建一個世界,即使這遊戲連圖形都沒有,全靠最簡單的ASCII字元組成,這個過程也相當漫長,最後生成的地圖文件,比遊戲本體還要大。而採用了「過程生成」技術的遊戲,普遍特徵是地圖奇大,但數據量很小。《無人深空》的PC版只有2.6GB,哪怕一個星球的數據量只有1位元組,這點容量也絕不可能裝得下。因此這個宇宙,是依靠有限的美術素材,在一定演算法的支持下,隨著玩家的探索,逐步生成出來的。
《矮人》的ASCII字元畫面
這種特性導致採用了此技術的遊戲可以輕鬆生成海量的場景和地圖,因為整個遊戲地圖就是一套複雜的數學公式集合,不同地點不同的值,得到不一樣的計算結果,從而生成「千差萬別」的豐富地形地貌,而不需要手工去逐一繪製,這樣一來時間和空間都節省了,美術方面只需要有限的基本素材,用演算法和值將其組合起來,以至於在極端條件下,一個純粹以過程生成的3D遊戲只有不到1MB的體積。
由於場景是即時生成的,也就無需額外的數據載入時間,因此「無縫」「無需載入」常常成為這類遊戲的一大賣點。
但遺憾的是,程序不懂美。
《無人深空》演示視頻里鱗次櫛比、錯落有致由各種動植物構成的美麗生物圈,如今來看應該都是開發組特意手動去校調的。因為玩家實際所能看到的世界,充滿了隨意、混亂與無序,就像「狗在打字機前創作的詩句」,毫無美感可言。
錯落有致的風景美如畫,但你在實際遊戲中,只能看到遍地雜亂的怪石頭怪植物怪動物
所以迄今為止,依靠「過程生成」而來的遊戲,沒有一個能讓人記住的漂亮場景,更遑論美學與藝術性。
一個故事,一講再講
《無人深空》這個遊戲總讓我想起一個非常相似的項目——《無限星辰》。而如果一個人對《無限星辰》稍有了解,也能很容易看出《無人深空》的不靠譜之處。
這是一個始於11年前,至今沒有做出來的項目。
在《無限星辰》的舊版官網首頁醒目位置,還掛著一條2008年管理員發布的信息,上書:
夫《無限星辰(Infinity)》者,大型多人線上遊戲也。
一切玩家,入於未來太空,漫遊乎星漢中流,行星十億百億計。
上下四方,皆順自然演化;往古來今,盡由程序生成。
俯仰細察,一草一木宛然可見;扶搖直上,萬千星雲盡入眼底。
可探險、可交兵、可互市、可通信。
噫吁嘻,星辰無限,豈有涯際!
從「往古來今,盡由程序生成」這句話可以看出《無限星辰》項目對於過程生成技術的執念。在2007年左右,《無限星辰》名噪一時,「過程生成」這個概念因此被拿出來科普過一陣(如果你現在搜索這個詞,還經常能搜到那時的帖子)。當時官方論壇的人們興緻勃勃地談論著遊戲的遠大前景,甚至打算集眾多愛好者的力量,一起把這個遊戲搞出來。當時官方也放出過一些Demo演示,可以說,如今《無人深空》所宣傳的賣點,在當時這個項目中,就全包含了。
這個項目當然不會有結果,但在沉寂了數年後,就在2015年底,這個項目改名為《無限星辰:戰爭遺迹》,又捲土重來,並上Kickstarter參加了眾籌。
在官網的眾籌專題頁面,《無限星辰:戰爭遺迹》被如此描述:
《無限星辰:戰爭遺迹》是一部能無縫登陸星球表面,建造升級飛船、基地,史詩般的太空模擬遊戲。數百名玩家的戰爭將綿延整個完全無縫、過程生成、真實尺度的恆星系內!
「外界評論」——值得一提的是最下面這個人已經退出《星際公民》項目兩年了
《無限星辰》再次出現在公眾視野的時機有些耐人尋味。在2015年,它不是孤例,除了有《無人深空》在E3上大放異彩外,國內還有另外一個類似的項目,叫《幻》,曾於2015年9月開啟眾籌,眾籌雖然失敗了,但成功獲得了國內廠商的投資。
《幻》的目標,按照官方的說法,是創造一個1:1大小的虛擬太陽系,裡面有數百顆可登錄的星球等著玩家去探索,有行星,衛星,小行星,甚至彗星、星球與星球之間的距離也是真實比例的,同時,星球間的旅行是無縫的,也就是沒有載入這個說法(是不是很眼熟?)。在早期的宣傳語中,《幻》還將有「超高的自由度」和「很強電影感」。
當時的眾籌說明
模擬宇宙遊戲們的賣點和宣傳都像同一個文案寫的
作為國產獨立遊戲,從眾籌開始,《幻》的開發商就深諳「搏出位」的理念,將中國遊戲概括為「請充值」,而將自己的遊戲概括為「最牛X」。這個理念在近期演繹到了高潮——3天前,《幻》的官網上線,在官方問答中,充滿了自High式的言論:
上述很好地迎合了最近國內互聯網的話題:創業者為什麼越來越壞了?
搏出位的言論帶來了很多爭議,面對外界的質疑,製作人在官網上說了他們的新計劃:
很多人對此表示質疑,你們如此小的一個團隊吃的下這麼一個大世界嗎?人們是有理由質疑我們的,我們也一直在思考這個問題。當然,現在我們有了思考的結果。那就是,徹底(除了核心程序部分,世界觀架構等部分)將遊戲,或者說這個世界交給玩家來打造。
根據官網的說法,遊戲會將絕大部分美術資源陸續開放給玩家,玩家可以遞交他們製作的美術資源;將提供玩家寫作的功能,可以根據截圖來創造故事、分支、任務、等等;遊戲內將提供功能強大的「編程」系統,玩家完全可以設計出各種匪夷所思的程序,機械,任務乃至演算法各種強大和稀奇古怪的玩意。
如果你見過一些互聯網UGC(用戶產生內容)產品創業者講的情懷故事,你會發現上面這些說法簡直再熟悉不過了。
技術的正確用法?
看上去,這些將內容重心依託在「過程生成技術」的遊戲,往往呈現出一種欺世盜名的面貌。但事實也沒這麼絕對,此類技術下也有一個非常正面的例子——《我的世界》。
《我的世界》是一個典型的「過程生成」遊戲,其默認的生成策略是:自動生成以玩家所在區塊為中心的21×21共441個區塊。這441個區塊的區域稱為視野。也就是說,進入一張全新的地圖,就會從空白開始存儲441個區塊,之後隨著玩家移動,視野擴張到未生成的區塊時,便會生成新區塊。區塊一旦被生成就會存儲到遊戲里,因此《我的世界》的地圖實際上是一直變大的,你探索的地方越多,地圖文件越大。
但同時,《我的世界》也是一款畫面元素極其抽象的遊戲,其更類似於樂高,基本只提供基礎元素,玩家可以通過這些基礎的元素,來創造非常複雜的場景與建築,但遊戲本身並不會提供很現成的、高完成度的素材——也只有這樣,MC才會有極大的擴展性與自由度(同時要玩家創造力的支持創造美)。而本文提到的這些遊戲,均不具備這種「樂高」性質,而是呈現出一種相對「高複雜度」的美術表現——在當前的計算機水平下,無論怎樣精妙的演算法,都不可能使其具有視覺上和Gameplay層面的美感。
那麼迄今為止,採用「過程生成」技術的項目中,有誕生過什麼完成度湊合的遊戲嗎?
還真有一個,是個賽車遊戲,名叫《燃料》(Fuel),07年出品,因為擁有14000平方公里的無縫大地圖,還申請了世界吉尼斯記錄。在使用過程生成技術打造的遊戲世界裡,《Fuel》屬於完成度非常高的了,場景已經相當複雜,但當時外媒如IGN是如何評價它的的呢:
《燃料》的地圖已經算得上完成度非常高了,地形和植被多變,還有龍捲風之類的極端天氣,但,依然不會有什麼給人留下印象的地方當時申請吉尼斯世界紀錄的地圖,任何一個太空模擬遊戲,想在星球上尺度上模擬出《燃料》這樣的地圖,現在依然沒啥可能地圖是呆板設計的堆積,許多解鎖功能無意義。
遠看還不錯,但當視角拉近後,就有很多瑕疵、紋理錯誤。
AI問題和環境問題讓整個遊戲無趣。
遊戲帶著你去發現、收集所有東西,但玩家不會有興趣完成。
而另一款採用了同樣技術的《孢子》,在當時可以稱得上「有趣」,但這種有趣是建立在《孢子》里塞了5個經過設計且完全不同的遊戲模式,以及豐富而先進的玩家自創內容上的。至於程序化生成的海量內容,則更偏向於噱頭——我們該很慶幸Will Wright沒有把「創造」的部分完全交給演算法。
《孢子》有點生不逢時,如果生在當下,其龐大的UGC內容恐怕會成為一時的現象,而在當時主要是在一些論壇里傳播
最後,我傾向於用一位網友的話為本文划上句號:遊戲賣的是創造出來的獨特,美術素材的每個像素是創造,每一行代碼是創造,坑錢的數值也是創造。優秀的地圖生成演算法當然也是創造。但,也會隨著被消費而失去生命。
PS.你可能注意到我沒有寫《星際公民》,因為《星際公民》的內容生產方式,和這些同類產品(如果稱得上同類的話)很不一樣,限於篇幅,這裡就不做展開了。也許在未來,我們會對這個項目做專門的分析與討論。
請關注游研社微信公眾號:yysaag
推薦閱讀:
※「單機有什麼意思?」,「網遊只知道騙錢!」
※玩《Dead Cells》不死個上百次你還想通關?
※企鵝插手單機平台,到底想幹什麼?
※《如龍》,是為成熟男人準備的一道雞湯
※遊戲看完直播後還有入正的必要嗎?
TAG:无人深空NoMan'sSky | 单机游戏 | 游戏开发 |