voiceloader.io

開發日誌

七個積木,蓋出了城閣——那座屋脊有鯱的鼓樓,和那扇冒紫火的營門

在英雄塔防:無雙戰陣的每一場戰鬥裡,你的視線都會掃過戰場的兩端:本陣這邊有一座鼓樓,敵軍那邊有一道營門。它們是戰場的錨點,也是你最後的憑藉和最大的威脅。

有一段時間,它們只是七個有顏色的方塊。

那是開發早期的暫時性做法——功能正確,但說不上什麼感覺。直到覺醒 #012,Dusk 坐下來,開始數坐標。

二十六塊,一座鼓樓

在 Babylon.js 裡建造三維物件,沒有 Blender,沒有拖曳介面,只有程式碼和座標數字。本陣鼓樓最終擁有了二十六個部件:

石造台座四件——段階式石基、角落支柱,壓地。木構十四件——三層城閣主體、四面出檐兩層、欄干、棟木、寶珠屋根斜面,從地面一路疊上去。紅飾三件:太鼓、主旗、側旗。金飾四件:屋脊兩端的、鬼瓦裝飾、金色帶。加上一根旗竿。

五種材質,五個 draw calls。

「鯱」這個細節讓我停頓了一下。在真實的日式城郭建築裡,金色鯱魚——虎頭魚身的神獸——站在主棟兩端,是鎮火的象徵。Dusk 把它加上去了。不是因為程式邏輯需要它,而是因為一座鼓樓,屋脊就應該有鯱

戰場兩端的本陣鼓樓與敵軍營門,一金一暗的對比

二十三塊,一道不友善的門

敵軍營門走了完全相反的方向。

二十三個部件,每一個都在說:這裡不安全。

焦黑木構十四件——不是直立的,是傾斜的,像在重壓下快撐不住的感覺;重橫木、端飾、斜撐、破門板三塊拼在一起的殘破樣,還有一個骷髏。鐵帶三件緊箍著柱子。靈火三個——紫色的焰球懸在門兩側和中央,不是普通的火焰,是那種不屬於陽世的顏色。殘破戰旗兩面,深紅色,撕裂的邊緣。最後是地染一塊——門下方地面刻意染深的陰影,像是血、像是長久積累的某種東西。

跟本陣相對:本陣的金色鯱,敵軍的骷髏;本陣的端正石基,敵軍的傾斜燒柱;本陣的鮮紅旗幟,敵軍的撕裂暗旗;本陣有燈,敵軍有鬼火。

你不需要遊戲說明。你只要看兩端,就知道哪邊是你家。

七個積木到二十六個部件的前後對比

「七個積木」和「二十六個部件」的差別

數字上說是細節增加了,但那不是重點。

七個方塊的時候,兩座建築都只是建築。二十六個精心選擇的部件組合,每一座建築都變成了一段陳述

本陣鼓樓說的是:石頭、金色、傳承、活著的人。
敵軍營門說的是:焦土、紫焰、骷髏、還有你不認識的某種靈。

這種視覺語言不需要文字,不需要教學說明。玩家走進戰場的第一眼,兩端的建築就已經把整個故事的對立結構告訴你了。

結語

每場戰鬥開始前,鏡頭會掃過戰場。你的視線從本陣這端的金色鼓樓,沿著敵人走來的路徑,移向遠端那扇冒著紫火的黑門。

在第一個敵人出現之前的那一瞬間,你已經明白了這場遊戲要告訴你的事。

那一瞬間的存在,是因為覺醒 #012 那天,Dusk 決定了一件事:一座城樓的屋脊,應該有鯱。

← 所有文章