《荒野之息》使用了著力于模擬真實(shí)物理的Havok引擎,但這不是全部——雖然“Havok神”依然出現(xiàn)了。
Havok(念做哈勃克)是一款被廣泛使用的游戲開發(fā)引擎,它主要用于對真實(shí)物理效果的模擬,許多展現(xiàn)、模擬了現(xiàn)實(shí)世界的游戲都有這個引擎的參與,包括《Halo 4》《上古卷軸5:天際》《輻射4》,甚至是手游《現(xiàn)代戰(zhàn)爭4》等等;它還給許多電影中特效提供了技術(shù)支持,比如說《守望者》《哈利波特和鳳凰社》。
一直以來致力于表現(xiàn)真實(shí)世界的Havok,同時也是最近熱門游戲《塞爾達(dá)傳說:荒野之息》所使用的引擎。
塞爾達(dá)系列的制作人青沼英二在此前的采訪中談到他們使用了Havok作為引擎的時候,讓采訪他的主編、和他對談的對象、DQ系列的開發(fā)者藤澤仁都很驚訝,而根據(jù)青沼本人的敘述,Havok公司的工程師們自己,也對于利用這個引擎能夠在游戲中達(dá)到的效果感到驚訝。
此時采訪人電fami nico gamer的主編甚至直接說,“這里向讀者們解釋一下,Havok是一款廣泛使用的物理引擎,但會出現(xiàn)很多讓我們?nèi)毡就婕液荏@訝的動作,極端一點(diǎn)來說,角色們會突然跳到空中之類的。”
“我們的東家Dwango,也就是niconico動畫的用戶中,還有一個詞叫做‘Havok神’呢”。
“Havok神”這個詞來自在日本的宅圈,可以認(rèn)為是Havok被稱作“物理演算之神”的一個簡略說法。而日本玩家們對這個神其實(shí)并沒有一直保持一種敬畏的態(tài)度。他們?nèi)绻谌粘S螒蛑泻俺觥癏avok神”這個詞的話,那一定是在游戲出現(xiàn)bug的時候。
這時候需要大喊一聲“Havok神降臨!”或者直接說,“這是Havok神在發(fā)怒”。
Havok也是開發(fā)了這款引擎的公司的名稱。他們位于愛爾蘭首都都柏林,在1998年設(shè)立了這家公司之后,于2015年被微軟收購。Havok引擎是在2000年的游戲開發(fā)者大會上首次面世的,那之后就被許多以模擬真實(shí)物理畫面的游戲所采用——塞爾達(dá)看起來和那些之前采用了Havok引擎的其他游戲都不太一樣。
不過,雖然大多數(shù)已經(jīng)玩到的玩家普遍都說bug很少,但要從目前已經(jīng)出現(xiàn)的一些bug來說,還是能夠看到Havok神的影子的。
不過,《荒野之息》并不僅僅只是“單純使用”了這個引擎而已。在今年的游戲開發(fā)者大會上,《荒野之息》的團(tuán)隊(duì)也登臺為大家介紹了他們游戲制作過程中的一些話題。根據(jù)日本媒體4Gamer和Fami通的總結(jié)可以知道,開發(fā)團(tuán)隊(duì)在Havok引擎的基礎(chǔ)上加上了許多新的內(nèi)容。(以下圖片來自原文配圖)
荒野之息是一款以開放世界和自由度為主要特點(diǎn)的游戲。團(tuán)隊(duì)的目標(biāo)是,“只要玩家愿意,你甚至可以把你在游戲最初看到的一塊巖石一直搬到最終Boss面前”。
那么可想而知,開發(fā)者們要面對復(fù)雜無比、并且具有無限可能性的各種情況,開發(fā)難度很大。這時候技術(shù)導(dǎo)演堂田就決定要導(dǎo)入在物理法則模擬上有很高口碑的Havok引擎來開發(fā)游戲——“因?yàn)檫@樣,我們才能自由地做出除了物理之外的部分?!?/p>
同時,技術(shù)導(dǎo)演堂田認(rèn)為,游戲中的物理法則同現(xiàn)實(shí)世界中的物理法則是不同的,而這種不同,在游戲中就被他們稱作“騙人的物理”。使用Havok,也是為了能夠讓團(tuán)隊(duì)能夠在正確地加入物理法則之外,盡可能地“多說謊”。
這時,“如何巧妙地來通過‘說謊’來構(gòu)建一個假象的世界,就成為我們程序員的樂趣之一?!?/p>
堂田在演講中舉出了幾個例子來說明這種“騙人的物理”。比如說,游戲中有一個名叫Stasis的動作可以讓時間停止。但發(fā)動這個動作的時候,并不是整個時空的時間都停止,只是承受這個動作的物品處于幾秒鐘時間停止的狀態(tài),如果向它施加其他動作,它仍然受動作影響,并且影響會不斷積累,在時間停止結(jié)束的一瞬間爆發(fā)。
除此之外,遠(yuǎn)程控制金屬道具的動作Magnesis讓它看起來像是一種使用了類似磁力一樣的動作,但這并不是磁力而是近似的另外一個東西,使得它同時具有操作性,并且也不會露餡。
而攀巖的動作中,其實(shí)角色和巖壁之間有一個名叫Constraint的動作,這是Havok引擎中將兩個物件相連的一種動作,也因此,玩家同樣也可以攀爬上運(yùn)動的物體。其他還包括比如說在砍樹之后,砍下來的樹干會直接變成一塊木頭,也可以浮在水面上等等,這些都和現(xiàn)實(shí)中的物理不同。
在使用Havok引擎之后,塞爾達(dá)的世界中就存在了一個貫穿始終的物理法則了,這時候,開發(fā)團(tuán)隊(duì)的工作人員就開始有了各種想要嘗試的點(diǎn)子,包括“那些幫助角色渡過小河的鐵板,是不是也可以用來砸敵人呢?”等等。
而這也正好契合了開放世界和自由度的游戲標(biāo)準(zhǔn)?!痘囊爸ⅰ返膱F(tuán)隊(duì)除了加上一些“騙人的物理法則”之外,相對于Havok的“物理引擎”還專門開發(fā)了“化學(xué)引擎”,用來讓一些比如說火、水等等元素和物質(zhì)的內(nèi)容能夠同其他的物體發(fā)生聯(lián)動。
有趣的是,堂田介紹說,除了剛體力學(xué)以外的幾乎所有自然現(xiàn)象都可以通過這個化學(xué)引擎來實(shí)現(xiàn),比如說游戲中的風(fēng)和電氣等等。這在現(xiàn)實(shí)生活中其實(shí)是物理的范疇,但在荒野之息的世界中,它變得更加簡化了。
《荒野之息》中的“物理引擎Havok”和“化學(xué)引擎”雙管齊下的做法讓整個開放世界的開發(fā)思路變得十分清晰。
這3條法則分別是,元素可以改變物體的狀態(tài)(火可以讓木頭燃燒);元素之間可以互相影響對方的狀態(tài)(水可以澆滅火);物體之間不會互相干涉狀態(tài)(木頭裝上石塊不會有什么變化)。
所以,面對Havok神的時候,一向bug較少的任天堂給出的答案,除了給“神跡”添磚加瓦之外,依然是敬畏啊(誤)。