在物理引擎之外,《塞爾達(dá)傳說:荒野之息》還有化學(xué)引擎

《荒野之息》使用了著力于模擬真實(shí)物理的Havok引擎,但這不是全部——雖然“Havok神”依然出現(xiàn)了。

編輯或閃2017年03月10日 10時16分

Havok(念做哈勃克)是一款被廣泛使用的游戲開發(fā)引擎,它主要用于對真實(shí)物理效果的模擬,許多展現(xiàn)、模擬了現(xiàn)實(shí)世界的游戲都有這個引擎的參與,包括《Halo 4》《上古卷軸5:天際》《輻射4》,甚至是手游《現(xiàn)代戰(zhàn)爭4》等等;它還給許多電影中特效提供了技術(shù)支持,比如說《守望者》《哈利波特和鳳凰社》。

一直以來致力于表現(xiàn)真實(shí)世界的Havok,同時也是最近熱門游戲《塞爾達(dá)傳說:荒野之息》所使用的引擎。

《塞爾達(dá)傳說:荒野之息》的游戲畫面

塞爾達(dá)系列的制作人青沼英二在此前的采訪中談到他們使用了Havok作為引擎的時候,讓采訪他的主編、和他對談的對象、DQ系列的開發(fā)者藤澤仁都很驚訝,而根據(jù)青沼本人的敘述,Havok公司的工程師們自己,也對于利用這個引擎能夠在游戲中達(dá)到的效果感到驚訝。

青沼說,“其實(shí)我們和Havok公司的人關(guān)系很好,和他們現(xiàn)場的工程師們討論了很久,做了不少調(diào)整。他們也覺得,“天Havok引擎居然能做到這個程度?”很驚訝。”

此時采訪人電fami nico gamer的主編甚至直接說,“這里向讀者們解釋一下,Havok是一款廣泛使用的物理引擎,但會出現(xiàn)很多讓我們?nèi)毡就婕液荏@訝的動作,極端一點(diǎn)來說,角色們會突然跳到空中之類的。”

“我們的東家Dwango,也就是niconico動畫的用戶中,還有一個詞叫做‘Havok神’呢”。

舉一個例子的話,就比如說《輻射4》中的這個飛到半空中的bug

“Havok神”這個詞來自在日本的宅圈,可以認(rèn)為是Havok被稱作“物理演算之神”的一個簡略說法。而日本玩家們對這個神其實(shí)并沒有一直保持一種敬畏的態(tài)度。他們?nèi)绻谌粘S螒蛑泻俺觥癏avok神”這個詞的話,那一定是在游戲出現(xiàn)bug的時候。

這時候需要大喊一聲“Havok神降臨!”或者直接說,“這是Havok神在發(fā)怒”。

來自推特的Havok神之怒,圖中并不是鴕鳥

Havok也是開發(fā)了這款引擎的公司的名稱。他們位于愛爾蘭首都都柏林,在1998年設(shè)立了這家公司之后,于2015年被微軟收購。Havok引擎是在2000年的游戲開發(fā)者大會上首次面世的,那之后就被許多以模擬真實(shí)物理畫面的游戲所采用——塞爾達(dá)看起來和那些之前采用了Havok引擎的其他游戲都不太一樣。

不過,雖然大多數(shù)已經(jīng)玩到的玩家普遍都說bug很少,但要從目前已經(jīng)出現(xiàn)的一些bug來說,還是能夠看到Havok神的影子的。

比如這個玩家就卡在了這個地方,并且放下炸彈的話會徑直往上飛。點(diǎn)這里可以看到動畫

寶箱的一個bug

不過,《荒野之息》并不僅僅只是“單純使用”了這個引擎而已。在今年的游戲開發(fā)者大會上,《荒野之息》的團(tuán)隊(duì)也登臺為大家介紹了他們游戲制作過程中的一些話題。根據(jù)日本媒體4GamerFami通的總結(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ì)能夠在正確地加入物理法則之外,盡可能地“多說謊”。

團(tuán)隊(duì)認(rèn)為,開發(fā)者需要實(shí)現(xiàn)的可能并不是完全復(fù)原原本世界的物理性,而是一種“游戲中的物理法則”,或者說,是一種“虛假的物理法則”。

這時,“如何巧妙地來通過‘說謊’來構(gòu)建一個假象的世界,就成為我們程序員的樂趣之一?!?/p>

堂田在演講中舉出了幾個例子來說明這種“騙人的物理”。比如說,游戲中有一個名叫Stasis的動作可以讓時間停止。但發(fā)動這個動作的時候,并不是整個時空的時間都停止,只是承受這個動作的物品處于幾秒鐘時間停止的狀態(tài),如果向它施加其他動作,它仍然受動作影響,并且影響會不斷積累,在時間停止結(jié)束的一瞬間爆發(fā)。

“時間停止的動力學(xué)”

除此之外,遠(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í)是物理的范疇,但在荒野之息的世界中,它變得更加簡化了。

”風(fēng)元素“

《荒野之息》中的“物理引擎Havok”和“化學(xué)引擎”雙管齊下的做法讓整個開放世界的開發(fā)思路變得十分清晰。

堂田等技術(shù)開發(fā)者們覺得,動作游戲是由“沖突+移動+狀態(tài)”來構(gòu)成的。而化學(xué)引擎就主要負(fù)責(zé)計(jì)算道具、場景等等的變化。如果把游戲中出現(xiàn)的具有固定實(shí)體的東西稱作物體(material),沒有的稱作元素(element),那么只要制定3條法則就可以幾乎實(shí)現(xiàn)所有的動作。

這3條法則分別是,元素可以改變物體的狀態(tài)(火可以讓木頭燃燒);元素之間可以互相影響對方的狀態(tài)(水可以澆滅火);物體之間不會互相干涉狀態(tài)(木頭裝上石塊不會有什么變化)。

動作游戲=沖突+移動+狀態(tài)變化

火可以點(diǎn)燃樹木,元素和物質(zhì)之間會發(fā)生反應(yīng),元素和元素之間也可以,但是物質(zhì)和物質(zhì)之間不行,這是適用物理法則

所以,面對Havok神的時候,一向bug較少的任天堂給出的答案,除了給“神跡”添磚加瓦之外,依然是敬畏啊(誤)。

1

編輯 或閃

kongyu@chuapp.com

200斤的死肥宅,長得超好看。

查看更多或閃的文章
關(guān)閉窗口