高分游戲《TUNIC》幕后制作揭秘
由 Andrew Shouldice 開發(fā)的《TUNIC》于今年3月正式多平臺發(fā)售,登陸了 PC、Xbox One 以及 XSX 平臺。游戲一經(jīng)發(fā)布就大獲好評,IGN 不僅大方地給了9分,還稱它為一款披著“塞爾達(dá)”風(fēng)格外衣的類魂游戲;Metacritic 給它打了85分的高分;還有游戲評論家稱《TUNIC》“是一部冒險和探索的大師之作”。
?

《TUNIC》是一款關(guān)于探索與冒險的故事,主角小狐貍將在一個遼闊的奇幻世界里與各式各樣的怪物戰(zhàn)斗、揭開古老的秘密、找尋隱藏的寶藏。盡管《TUNIC》從《塞爾達(dá)傳說》和《黑暗之魂》等游戲大作那里借鑒了很多內(nèi)容,但它仍舊憑借著自己的特色走出了一條獨(dú)特的成功之路。
Unity官方采訪了Andrew Shouldice,讓他為大家揭開這個自15年開啟的項目幕后。
?
向老游戲致敬
Shouldice表示:“我非常珍視老游戲帶給玩家的那種體驗,能夠勾起玩家的好奇感和探索的沖動。這些游戲充滿了秘密,但是它們并不會這么告訴玩家,而是‘藏在’了游戲手冊里。同時,游戲手冊又是獨(dú)立于卡帶的另一件藝術(shù)品?!?/p>
Shouldice希望用輕色調(diào)突出《TUNIC》的神秘氣氛、引導(dǎo)玩家。游戲的敘事圍繞著環(huán)境展開(并非具體的對話來傳達(dá)事件),并俏皮地致敬了游戲手冊等懷舊元素。
《TUNIC》把當(dāng)今幾乎消失的游戲說明書搬到了游戲中,作為收集品待玩家發(fā)現(xiàn)。玩家可以在這些說明書上學(xué)到許多的提示和技巧,了解各個地圖、敵人以及其他隱藏寶藏的線索——只要他們能夠破譯神秘文字并把一切拼湊起來。
?

“你找到的隱藏秘密可能是一次升級或一些貨幣,但真正的寶藏是好奇感?!盨houldice解釋說,“這扇門后面有什么?那條河的另一邊有什么?這就是我想喚起的感覺?!?/p>
《TUNIC》的主角雖然一言不發(fā),但也不是完全沉默的。游戲中的大部分文字和對話都用一種難以理解的象形文字來呈現(xiàn)的,目的在于將玩家代入一個完全不同的異世界里。于是,玩家必須依靠自己的直覺和其他線索來搞清楚這里究竟發(fā)生了什么。這種令人耳目一新的敘事方式使得《TUNIC》的故事線和世界觀脫穎而出。
?
圖像與視角
《TUNIC》的世界采用了明亮的簡單多邊形渲染而來,視角采用了等距視角。游戲的早期版本是完全扁平的紋理,Shouldice表示這些風(fēng)格就是他當(dāng)時的建模水平。隨著他的技術(shù)提升,游戲里的圖像也在不斷發(fā)展,變得更加詳細(xì),如今的畫面不僅能完全展現(xiàn)出他所設(shè)想的廢土世界,同時又能忠實于最初的“低多邊”美學(xué)。
從游戲設(shè)計的角度來看,等距視角是《TUNIC》隱藏許多秘密的關(guān)鍵。“在使用真正的正視角攝像機(jī)時,每一種元素都未經(jīng)過透視收縮(foreshortening)處理,沒有幾何圖形上的視覺把戲——我們并沒有特意去追求這種效果。因為我們使用的是等距正交投影,垂直線可以一直保持完美的對齊,方便我們隱藏東西?!?/p>
Shouldice對此進(jìn)行了解釋:“在游戲前期,有一條瀑布的后邊藏著一條隱藏的小道,你可以悄悄溜過去。如果我們采用了任何形式的FoV透視攝像機(jī),那這條路就會變得很明顯。你會看到物體在周圍移動,視角的變化則會泄露這個秘密?!?/p>
使用正視攝影機(jī)帶來了視角上的挑戰(zhàn),Shouldice必須克服這些挑戰(zhàn)才能營造出一種規(guī)模感?!皩τ谀切┬枰憩F(xiàn)得宏大、向玩家展示遠(yuǎn)處不可觸摸之物的情形,比如懸崖邊上的一片巨大森林,我們需要用上一些技巧,”他揭露說,“我會用到多層攝像機(jī)。你可以在正交視角的棱形視野(平行視錐)末端粘上一塊包含遠(yuǎn)處景物的視錐。”
?

?
光照與著色器
為了保證性能,Shouldice采用了動態(tài)光照和全局光照(GI),并為《TUNIC》仔細(xì)計算了光照數(shù)量:“因為延遲渲染不支持正交攝像機(jī),所以我需要特別注意以下光照數(shù)量。我用了預(yù)先計算好的 GI 而非點(diǎn)光源(Point Light)來做大部分的光照,并依靠批處理來減少繪制調(diào)用次數(shù)。”
他曾經(jīng)手寫過著色器,但最后決定使用Shader Forge的節(jié)點(diǎn)式著色器?!拔耶?dāng)然可以寫點(diǎn)代碼,但我更偏愛視覺圖形,更喜歡實時預(yù)覽、在一個空間里組織想法。”Shouldice繼續(xù)說道,“節(jié)點(diǎn)編輯器和我的大腦可謂是非常契合。它非常靈活,非常有趣!”
Shouldice還大量使用了滾動紋理來照亮游戲中的元素,這不僅能大大降低開發(fā)的復(fù)雜性,還能實現(xiàn)華麗(且性能還高)的效果。
在游戲早期,《TUNIC》的主角可以與一尊雕像互動來打開一扇金色的門,這個雕像在被觸摸時會發(fā)出一陣脈沖光。Shouldice 使用了幾種 Unity 編輯器和Shader Forge的組件來實現(xiàn)這種效果。
最初的一片光點(diǎn)——我稱之為“星爆”——是從三塊帶動畫的網(wǎng)格變化而來,每張網(wǎng)格的旋轉(zhuǎn)都不同步。一個甜甜圈狀的“光環(huán)”會圍繞在網(wǎng)格周圍,向這個扁平圓柱體投射一張滾動的UV紋理,Shouldice把這些紋理向外滾動,形成一種環(huán)繞光。這里,UV坐標(biāo)會被滾動并乘上一個因數(shù),然后再被反轉(zhuǎn),從而創(chuàng)造出黑底白光的效果。
Shouldice將滾動紋理應(yīng)用在了幾種網(wǎng)格上,借此來改變光的行動。在另一個例子中,他將紋理導(dǎo)到一個狹窄的圓錐形網(wǎng)格上,創(chuàng)造出魔法能量向天空凝聚的效果。
?

“我之所以非常喜歡將基本效果應(yīng)用在專門的網(wǎng)格上,其中的一個原因是,你可以通過調(diào)整 UV 坐標(biāo)等把同樣的材質(zhì)以不同的方式表現(xiàn)出來?!盨houldice肯定說,“這里的能量射向天空的效果可以通過聚攏或分散網(wǎng)格上的UV來實現(xiàn)。”
另一個效果是在空中按照一定模式運(yùn)動的光斑,光斑最后會聚焦到一點(diǎn)上再沖向一座雕像。這本來可以使用粒子效果或貝塞爾曲線來實現(xiàn),但Shouldice回歸了一個可靠的老方法,他問自己,“如果我們滾動這里的紋理會怎么樣?”
在例子中,光的軌跡實際上是一條在Blender中編寫和展UV的長管,經(jīng)過扭曲、旋轉(zhuǎn)、變形和復(fù)制。由于每條管子都有著UV,柔和的漸變彩色紋理可以在上邊滾動,并借助后處理和“炫目的泛光”來掩蓋可能存在的缺陷。
Shouldice在顏色選擇上非常地挑剔,他想保證能量球能恰當(dāng)?shù)爻尸F(xiàn)想象中的白熱化場景。他指出:“我常會選擇一些色度非常高、非常飽和的顏色,我會略微降低一點(diǎn)飽和度,以免掩蓋了其他的通道......不要只單純地選擇藍(lán)色、紅色或綠色,選擇一個稍弱的顏色,降低它的色度,同時再用上一些色輪對面的顏色,這樣一來你在應(yīng)用HDR時,它就能‘轟’地變成白色。”
?
角色控制、戰(zhàn)斗和動畫
Shouldice使用了Unity的NavMesh系統(tǒng)來影響敵人和玩家的行為。默認(rèn)時,敵人身上的NavMesh代理將其引導(dǎo)到一個特定的目標(biāo)地點(diǎn)。NavMesh會告訴敵人要前往哪里,還會與物理系統(tǒng)溝通,讓怪物的剛體可以正確地碰撞,并且還驅(qū)動著底部以運(yùn)動為基礎(chǔ)的行為。
Shouldice同樣使用了NavMesh代理來劃定游戲的邊界。他會查詢NavMesh代理可以前往的地方,然后用參數(shù)將信息輸入動畫控制器,防止玩家離開NavMesh。
敵人的定向是《TUNIC》的一個重要部分,它和《黑暗之魂》一樣都采用了以動畫為基礎(chǔ)的戰(zhàn)斗?!禩UNIC》的許多動畫都是用Blender創(chuàng)建,再用Unity的動畫曲線繼續(xù)打磨。Shouldice希望能精細(xì)地控制某些部分,比如敵人在攻擊時哪一部分會面朝著玩家,將命中盒(Hitbox)與角色模型的特定部分相連:“即便你把劍向敵人揮去,如果劍沒有碰到敵人的命中盒,那它就不算接觸到敵人!”
這種方法能做出更加細(xì)致的戰(zhàn)斗機(jī)制,比如誘騙敵人互相攻擊,或針對 Boss 的攻擊間隔來練習(xí)躲閃與攻擊。
?

Shouldice甚至創(chuàng)建了一個委托系統(tǒng)來隨機(jī)化敵人與Boss對玩家不同位置的反應(yīng)。躲到BOSS后面可能會觸發(fā)幾種特殊的攻擊,比如生成小怪、噴火,或用左爪/右爪攻擊。
?
對有抱負(fù)的獨(dú)立開發(fā)者的建議
“在《TUNIC》之后,我故意不去構(gòu)思下一個項目,因為我想保持專注?!盨houldice 承認(rèn)道。“我可能要休息一下。就算我真的再做一個游戲,也最多是做一些小游戲,可能不是商業(yè)性游戲?!?/p>
在談話的最后,Shouldice向有志于自己制作游戲的獨(dú)立開發(fā)者們提供了一些建議:“別想太多直接開做,多與別人分享你的作品,并且不要怕做出爛游戲,盡快做出成品!假設(shè)你腦子里有著一排想要做的游戲,那么前100個都會非常糟糕。只管把它們做出來,然后搜集反饋、吸取教訓(xùn),再繼續(xù)前進(jìn)?!?/p>