天天看點

《王國之淚》逆天自由度背後的“創世英雄”

作者:星海情報局
《王國之淚》逆天自由度背後的“創世英雄”
《王國之淚》逆天自由度背後的“創世英雄”

2018年2月,一個叫大寬實體的Up主,在B站上傳了一個用《塞爾達傳說:荒野之息》為實踐案例,講解實體問題的視訊。5年後的2023年2月,他終于把這個案例講解帶到了正式的中學實體課堂之上。

在很多人心目中,《塞爾達傳說:荒野之息》是這個世界上最成功的開放世界遊戲,甚至沒有之一。它能如此成功的其中一個重要原因,就在于這款遊戲有一套調教得相當出色的實體引擎。

而到了續作《王國之淚》,比《荒野之息》還要真實的實體引擎調校,讓這幾天的遊戲圈彷如過年一樣陷入了“整活”狂歡。

比如“過河”這個海拉魯大陸永恒的課題,有不少玩家一折騰就是四五十分鐘,砍樹、搭橋、造車、造船、造飛機,甚至開始制造軌道交通,堪稱“無所不用其極”。

《王國之淚》逆天自由度背後的“創世英雄”

玩家在《王國之淚》裡造飛機

這種建立在優秀遊戲引擎之上的超高自由度,是《塞爾達系列》能夠成功的核心。在這個世界,雞會在即将天亮的時候打鳴,雪後的驿站會因為棚頂布被積雪覆寫而透不出光,雷暴天氣拿着大劍行于曠野,會發現自己身上突然起了靜電,然後當場被雷劈死……

很多人說,塞爾達會讓你真正感覺到自己進入了另一個世界,好像怎麼樣腦洞大開的玩法,都會變得真實且合理。而開發者們創造這個世界的工具,就叫作遊戲引擎。

《王國之淚》逆天自由度背後的“創世英雄”

從電子乒乓球到3D顯示

電子遊戲的初級形态是什麼?答案是代碼的集合。

隻是這樣說,恐怕很少有人會有直覺的感受,那我們不妨來看一看遊戲史上地位極高的一款小衆硬核遊戲《矮人要塞》的界面:

《王國之淚》逆天自由度背後的“創世英雄”

《矮人要塞》的遊戲界面

如果沒有視覺引擎的加持,那麼一個電子遊戲的操作界面,就可能是像上圖所示——我不是說要鄙視諸位讀者朋友們的了解力,我是說在座的,我相信你們沒有一個人能看懂這是個什麼玩意兒。

毫無疑問,這就是最接近電子遊戲原始的形态。在電子遊戲萌生的初期,開發者要做的,就是打開程式設計軟體,從第一行代碼開始敲起。

1972年,電子遊戲之父諾蘭·布什内爾創辦了雅達利,他和設計者艾倫·艾爾肯一起做出了第一款能夠驗證電子遊戲商業化可行性的遊戲,遊戲的原名叫“Pong”。簡單來說就是一個電子乒乓球,隻不過,中間的“球”是方形的。

人一旦成為傳奇,很多事情就會變成都市傳說。比如坊間一度流傳,這個方形的“球”是兩位大師覺得方形的球更酷,是以刻意為之的經典設計。幾十年後,布什内爾和艾爾肯想起這個說法還覺得好笑,因為方形乒乓球出現的唯一原因,是因為當時的顯示技術根本做不出圓形的球。

《王國之淚》逆天自由度背後的“創世英雄”

諾蘭·布什内爾和艾倫·艾爾肯在原始街機上玩Pong

球的形狀是方形的

在遊戲内容之外,連圖形的顯示,也都是建立在代碼之上的。這也就不難解釋,為什麼會出現《矮人要塞》這樣的遊戲了:在這遊戲長達20年的開發過程中,都隻有兄弟兩個人在寫代碼。堪稱包羅萬象的内容已經意味着極其龐大的代碼量,他們很難再有精力去兼顧圖形顯示層面更大的代碼量了。

上世紀80年代,有一大批遊戲,都因同樣的原因,而呈現出一種确實也不太想讓你玩下去的風貌。其中代表作品就是著名的《Rogue》,後來這類遊戲發展成了今天幾個最流行的遊戲分類之一:Roguelike。

《王國之淚》逆天自由度背後的“創世英雄”

《Rouge》的遊戲界面

對計算機圖形顯示的探索,則交到了遊戲發展史上最重要的天才之一:約翰·卡馬克的手裡。

1992 年,一款隻有2兆多的小遊戲,《Wolfenstein 3D(德軍總部3D)》經由3D Realms/Apogee公司正式釋出。這是人類曆史上第一款第一人稱“3D”射擊遊戲,之是以給“3D”加了引号,是因為當時的硬體其實并不能支撐真正的3D顯示,這款遊戲其實是利用2D畫面表現出3D透視效果,實作了“欺騙人眼”的僞3D。

能夠達成這一效果,是因為卡馬克抛棄了傳統做法。它沒有直接用代碼來“描述”他想創造的世界,而是寫了一套基礎的“顯示規則”,規定以玩家在遊戲中的位置為原點,讓計算機向所有方向發射射線,根據射線碰撞到障礙物的距離長短,在畫面上生成一系列豎直的線。你和碰撞點的距離越近,豎線越長,從視覺效果來說,你就會覺得豎線所組成的“牆壁”離你越近。

《王國之淚》逆天自由度背後的“創世英雄”

這種“規則先行,再在規則之上建構遊戲内容”的創造性做法,将遊戲産業帶入了一個全新的紀元。卡馬克将這套方法論進行了标準化,将大量遊戲所需要遵循的基礎規則全部封裝起來,做成了一套可以在許多遊戲中不斷進行複用的開發軟體,并将軟體命名為:遊戲引擎。

在遊戲引擎誕生之前,遊戲是代碼的集合,開發遊戲更多是用代碼描述一個數字的世界。

這個過程中可能會出現大量可以複用的基礎代碼,比如遊戲裡總是有草有花,有槍有炮,還有會動的小人兒。開發者們減輕工作負擔的方式,就是将這些經常會用到的基礎代碼打包彙總,需要用的時候直接“粘”過來。

而在遊戲引擎誕生之後,開發遊戲的底層邏輯徹底發生了轉變:變成了對“世界運作規則”的封裝。這其中最典型的就是實體引擎。

《王國之淚》逆天自由度背後的“創世英雄”

數字世界的規則制定者

在《魂鬥羅》和《超級馬裡奧》的紅白機時代,人物起跳高度,起跳後劃出的弧線,都是被規定好的,它實際上遵循的不是實體的規則,而是一條被程式事先畫好的線。

但在實體引擎的時代不是這樣的。每一個在畫面中起跳的角色,她所遵循的都是G=mg實體公式,開發者背景調整的參數不再是弧線本身,而是人物的品質,該星球的重力參數,物體之間碰撞所發生的動量變化……

即使在呈現出來的效果上沒有太大的差別,但遊戲引擎的出現,實際上已經徹底改變了人類建構虛拟世界的視角和方式。

拿開頭我們提到的《塞爾達傳說:王國之淚》來說,開局新手期,有一個很多人都玩到崩潰了的“懸崖”,懸崖邊上有幾塊長木闆,你可以用這些木闆搭橋通過。這本來是聽上去很簡單的一件事,但為什麼很多人玩到崩潰了呢?

因為所有木闆都遵循實體規律:存在“重心”。是以你會看到無數人以無數種離奇的姿勢,把橋搭得七零八落,比如這樣:

《王國之淚》逆天自由度背後的“創世英雄”

或者這樣:

《王國之淚》逆天自由度背後的“創世英雄”

在沒有實體引擎的遊戲世界,這原本隻是一個把A道具移動到B地點,就可以順利通過的小小障礙。但當有了逼真的實體引擎,林克跌下懸崖或者穿越峽谷的姿勢,就像現實世界一樣,仿佛有了無數種可能性。甚至有玩家幹脆就是利用重心偏移,模仿古代攻城的投石器原理,直接把自己像炮彈一樣發射到了“對面”。

僅僅是實體引擎帶來的豐富玩法,就已經讓《王國之淚》成為這些天各個遊戲社群屠版的存在。而實體引擎還隻是遊戲引擎數十個子產品中的其中一個子產品而已。

一個完整的遊戲引擎,包含渲染引擎、實體引擎、碰撞檢測系統、音效引擎、腳本引擎、動畫引擎、人工智能引擎、網絡引擎、場景管理引擎等一系列核心子產品。

《王國之淚》逆天自由度背後的“創世英雄”

這些子產品封裝的是不同領域的規則,堪稱包羅萬象。當遊戲引擎裡所封裝的規則以及沉澱的資料,能夠越來越接近于現實世界,那麼遊戲引擎的舞台,也就注定不可能再局限于遊戲而已了。

今天我們所說的數字孿生、高仿真模拟,都是天然的應用場景。甚至遊戲引擎的應用,很可能在未來對很多産業的格局都帶來颠覆式的改變。

舉個例子,過去整個自動駕駛行業的痛點,是缺乏道路測試條件:要保證安全才能上路,但是不上路就沒辦法積累資料提高安全性,于是變成了一個死循環。

根據美國蘭德公司的研究,自動駕駛汽車至少要177億公裡的測試資料,才能保證比人類駕駛員更可靠,假設由100輛車組成車隊,每年365天,每天24小時,不間斷地以28英裡每小時的平均速度進行測試,光完成這項測試就需要大概500年,總裡程相當于在全中國的公路上跑上整整3400多圈。

而現在的自動駕駛研究團隊,幾乎都開始使用遊戲引擎建構測試環境,1:1模拟現實的道路環境,積累測試資料。場景裡還可以直接模拟大量的極端天氣和互動情況進行極端條件的測試。

比如龍卷風,極端暴雨、暴雪,濃霧這些自然天氣的模拟;再比如行人突然闖紅燈,車的突然變道加塞,小動物突然從路邊竄出等等互動的模拟。在虛拟環境中進行測試,既積累了資料,又有了安全保障。

全動飛行模拟機(Full Flight Simulator,以下簡稱FFS)也是一個重要應用場景。這種模拟機可以替代真機進行民航飛行員訓練,是航空制造領域的高精尖技術裝備,可以逼真地模拟飛機的起飛、降落等各種飛行姿态和動作及特殊緊急情況,為飛行員提供最真實的訓練感受。

《王國之淚》逆天自由度背後的“創世英雄”

在FFS的研發中,視景系統是其中一個重要的組成部分。南航翔翼就和騰訊遊戲合作進行了基于騰訊遊戲CROS自研引擎打造的整套視景系統開發。這個引擎主要側重在3A級的渲染效果和跨平台能力上,專注于大規模渲染、寫實的視覺效果和數字内容的線上及離線生成;并通過創新架構來最大程度發揮最新的CPU和GPU的能力。

遊戲引擎正在全面且深入地介入到各行各業的數字化更新和前沿科技探索當中,《流浪地球2》中有大量場景都是通過虛幻引擎進行建構的,拍攝現場不再是綠幕,而是制作團隊通過結合錄影機追蹤路徑和XR虛拟制片生成的圖像,幾乎颠覆了傳統科幻電影的工業流程。

而最近經常被提及的EDA軟體,國内廠商突破封鎖很大的一個難點,在于過去三十年,海外巨頭們積累了天量的工藝資料和各類規則檔案、制造參數。進而依托這些經驗和資料,建構起了強大的仿真模拟能力。

這項能力讓它們能更好地在軟體端,通過算法就完成對現實生産情況的仿真模拟,來幫助晶片廠商降低實際流片環節的次數和成本。僅這一項就能夠和國内新興廠商拉開巨大的成本差距,成為晶片國産化道路上很難逾越的競争壁壘。

但如果未來能夠通過遊戲引擎,直接模拟制造晶片,并對工藝進行快速疊代呢?或許這将成為晶片國産化追趕的捷徑。

《王國之淚》逆天自由度背後的“創世英雄”

國産遊戲引擎之路

2003 年,“網絡遊戲通用引擎研究及示範産品開發”,和“智能化人機互動網絡示範應用”兩個項目,正式納入國家863 計劃。它們都隸屬于中文處理與人機互動技術綜合示範應用課題。這是大陸首次将遊戲技術納入國家科技計劃。

承擔該項目的時任金山公司總裁雷軍說,網絡遊戲開發引擎就像加工業常用的機床。這個比喻其實很貼切。

在諾蘭·布什内爾創辦雅達利之後的22年,中國才誕生了第一款原創遊戲《神鷹突擊隊》。這期間海外主流遊戲産業經曆了三代巨頭,兩次技術革命,還有一次産業中心的轉移。(詳見我們此前的文章《中國遊戲收割外國韭菜的正确姿勢》)。

錯失了這22年中國遊戲産業,在相當長一段時間裡都是缺乏完整工業化基礎的。而作為遊戲産業的“母機”,遊戲引擎的發展,在遊戲産業整體曲折的發展路徑中,也遇到了種種困難。

這原本就是一個技術門檻極高的研究領域。單拿渲染來說,其最基礎的渲染方程長這樣:

《王國之淚》逆天自由度背後的“創世英雄”

B站有科普Up主為了做一個遊戲引擎進行圖形渲染原理的科普視訊,足足做了五個月,視訊發出來之後在簡介裡感歎:它的難并不僅是理論的抽象,更是工程之複雜。

而他所研究的還隻是龐大遊戲引擎系統中,專注渲染的其中一個子產品的運作原理。除此之外,遊戲引擎還包含了實體、音效、人工智能、任務系統等龐大的底層元件。某種程度上講,這個世界有多複雜,試圖“創世”的遊戲引擎,也将會有多麼複雜。

拿我們上文提到的全動飛行模拟機的視景系統來說。騰訊遊戲CROS自研引擎,适配了視景系統對引擎的最核心要求:

一個是地球級的渲染能力(更廣空間更複雜緯度上的曲面渲染,且需要與真實地球坐标系保持一緻,星體、大氣和天氣、曲率校準等);另一個是世界級的數字資産真實重建能力。實作了模拟民航飛行員第一視角飛機起飛、着陸、巡航等各個時段的畫面和實時動态,以及機場、天氣、地球環境的四季晝夜變化。

同時基于CROS自研引擎,在差不多半天的時間裡,可以重建1000平方公裡的區域,其中包含了寶安機場的跑道,滑行道,停機坪等,以及15w+棟的建築,65w顆樹木,山體河流立交橋等城市地景資産。

《王國之淚》逆天自由度背後的“創世英雄”
《王國之淚》逆天自由度背後的“創世英雄”

在CROS自研遊戲引擎跨界應用之前,視景系統的圖像生成子系統也有過國産化方案,但是一直都沒有使用純自研技術的引擎來實作整套視景系統打造并投入使用。是以,南航翔翼和騰訊遊戲基于自研引擎的整套視景系統開發,解決了大陸民航裝備裡核心技術領域的自研突破。

而作為全球首個用遊戲科技打造的高等級全動飛行模拟機視景系統,背後是騰訊遊戲CROS自研引擎團隊近三年時間的持續探索。除了在航空領域的跨界應用以外,CROS自研引擎的另一個應用是數字文保領域的“雲遊長城”(時空版)。

《王國之淚》逆天自由度背後的“創世英雄”

從資産制作到畫面渲染,互動處理等環節都基于該自研引擎打造,同時通過全局動态光照SmartGI、計算機模拟實體大氣系統、虛拟幾何體和多象限貼圖等技術,讓使用者随時随地欣賞喜峰口長城的晝夜變化及積雪漫漫的效果。

《王國之淚》逆天自由度背後的“創世英雄”

“雲遊長城”本體模型就達到了10億面,貼圖量大概是80-90個G,這意味着經過自研引擎技術的優化和騰訊遊戲自研雲遊戲的加持,如此巨大的資源量也已經可以在普通的PC顯示卡上順暢運作。

從分類上來講,遊戲引擎如今已經越來越難被歸類于普通的“遊戲技術”了。當你要創造一個有飛機的世界,那麼所有飛機相關的知識和“規則”都要被封裝進遊戲引擎之中。前文所說的視景系統,其實已經屬于高端裝備制造的範疇,涉及航空科技、資訊技術、計算機軟體、虛拟現實、人工智能和自動控制等多個學科知識。

《王國之淚》逆天自由度背後的“創世英雄”

結語

1947年,人工智能先驅Alan Turing(艾倫·圖靈)為了推進人工智能的研究,寫下了人類曆史上第一行遊戲代碼。他在其開創性論文“智能機器”(Intelligent Machinery)一文中,把棋類遊戲放進了AI“思維能力”的重要展示場景之中。人與機器在棋盤上的争霸就再未停止。

《王國之淚》逆天自由度背後的“創世英雄”

毫無疑問,從電子遊戲誕生之初,這就是一個走在可及的科技最前沿的行業,承擔着推動人類科技進步的時代使命,隻是時常會被忽略。

比如,很少有人意識到,人類最早的AI應用,出現在1980年南夢宮開發的街機遊戲《吃豆人》裡,遊戲中在地圖上遊蕩的“鬼”,根據顔色有着不同的“性格”和活動路徑,這是AI作為NPC被應用在遊戲中的啟蒙之作。

于是你也就不難了解,為什麼OpenAI創始人在采訪中不止一次說,是遊戲推動了ChatGPT的誕生。

今天的中國,正在掀起全球最大的産業數字化浪潮,而以遊戲引擎為代表的遊戲技術,正在成為數字時代全球科技競争中最底層的關鍵技術工具,以遊戲引擎為代表的遊戲科技,正在外溢向各個領域發揮出巨大的作用,成為推開未來世界大門的鑰匙。