譯介丨關卡設計的工具和方法(續):《An Architectural Approach To Level Design》第二章


3樓貓 發佈時間:2023-12-21 10:32:24 作者:Shally Language

數字關卡設計工具

關卡設計師的目標應該是儘快將自己的設計以互動的形式呈現出來。這樣,他和其他人就可以對關卡設計進行遊戲測試,也就是說,他可以通過玩遊戲來評估它是否實現了最初的設計目標。一旦設計師花時間在紙上規劃了關卡,形成了關卡體驗的具體計劃,他就可以開始將他的想法數字化。
用於關卡設計的數字工具可以在關卡生成和規劃方面實現許多功能。也許有人會問,在紙上花費了大量時間繪製關卡建築草圖之後,為什麼還需要額外的規劃呢?正如我們將看到的,數字工具可以幫助規劃空間條件,這些條件將在本書後面的章節中詳細討論。
和上一部分一樣,這是一個工具清單,列出了這些工具在建築繪圖方面的用途,以及它們如何幫助關卡設計過程。同樣,你應該根據自己的流程或最適合自己遊戲的流程來選擇工具。
引擎基元與白模
您應該將重點放在通過遊戲引擎儘快將遊戲轉化為互動形式。許多新手設計師常犯的一個錯誤是,他們認為在有美術素材輸入引擎之前,遊戲性是無法測試的。然而,在美術開發的同時,設計關卡的空間和創建任何所需的腳本(使遊戲元素運行的代碼片段)要有效得多。這樣,關卡設計師就可以測試他的紙上設計是否能有效地創造出他想要的遊戲體驗。
為此,可以用引擎基元(一些遊戲引擎自帶的簡單幾何形狀)創建遊戲原型。在引擎中,這一般包括立方體/矩形實體、球體和圓柱體。有些引擎還可能包含樓梯、錐體和其他形狀(圖 2.30)。引擎基元可以創建出令人驚訝的各種關卡幾何形狀,事實上,許多引擎的關卡編輯器都非常強大,可以完全用基元創建出關卡中大部分較大的空間幾何。對於沒有基元的引擎,比如許多 2D 遊戲引擎,設計師可以用同樣的方法使用佔位素材。佔位素材通常包括簡單的形狀--方形、圓形、三角形等--用於測試遊戲性,直到最終美術素材被導入。
圖2.30:虛幻開發工具包(UDK)中的基元。

圖2.30:虛幻開發工具包(UDK)中的基元。

基元在設計師使用圖紙或CAD繪圖進行規劃時,能夠很好地契合遊戲引擎規定的標準度量系統。以Valve的Hammer關卡編輯器為例,它是Source引擎的一部分,要求用戶在設計時始終啟用吸附的網格。這樣做的目的是為了避免在關卡中出現空隙,這會妨礙關卡成功編譯。Hammer的基元會自動吸附到2的冪次測量上,因此對象的長度可以是16、32、64、128等Hammer單位(圖2.31)。許多2D引擎也採用類似的2的冪次測量,因此在設計時應以像素為單位創建相應的佔位符。
圖2.31:在Source引擎中使用基元構建時,用戶被要求採用與CAD程序中相似的網格吸附。

圖2.31:在Source引擎中使用基元構建時,用戶被要求採用與CAD程序中相似的網格吸附。

直接使用引擎基元的另一個好處是,設計師可以利用引擎的各種系統,比如粒子效果、照明等,這些系統會影響遊戲的外觀。通過這種方式,他們可以儘早開始測試遊戲場景與氛圍的匹配情況。結合腳本編寫,設計師可以創建相當健壯的遊戲原型,而無需依賴開發完善的美術素材(圖2.32)。
圖2.32:這個殭屍射擊遊戲的原型完全是用Unity引擎的基元創建的。敵人和盟友被編入腳本,以創建一個防禦場景,玩家必須在被淹沒之前儘可能長時間地抵擋住殭屍群

圖2.32:這個殭屍射擊遊戲的原型完全是用Unity引擎的基元創建的。敵人和盟友被編入腳本,以創建一個防禦場景,玩家必須在被淹沒之前儘可能長時間地抵擋住殭屍群

在3D遊戲引擎中,環境物體是在3D建模程序中設計的,然後導入到引擎中。與使用2D關卡資源或關卡基元類似,這些3D資源可以根據規劃階段定義的度量系統進行創建。您將不得不使用3D程序生成關卡幾何的程度將因引擎而異:UDK和Hammer的關卡編輯系統允許設計師在引擎內完成大部分工作,而在Unity中最好在其他地方進行關卡幾何的建模。對於具有強大關卡編輯功能的引擎,主要導入的環境模型將是裝飾或特殊物品,例如傢俱、機械零件、外星建築等。在這些情況下,尺度不是太大的因素。然而,如果您使用的引擎要求從3D建模程序中導入大部分關卡幾何,包括關卡的實際房間,那麼在3D程序和引擎之間有效管理尺度就變得非常重要。
與引擎類似,3D程序也有自己的比例和度量系統,設計師可以按照這些系統構建模型,通常以通用單位為定義。例如,如果環境藝術家將關卡幾何的度量從紙張轉換為3D程序的單位系統,比如1個網格方塊=1個單位,那麼對象可以按照正確的比例相互轉化。
將環境模型從3D程序導入引擎並確保它們在比例上保持一致的一種簡單方法是在3D程序中建模整個關卡(圖2.33)。這對於構建環境裝飾也很方便,因為它們可以在與關卡的其餘部分相關的上下文中構建和佈置(圖2.34)。這種方法還提供了內存優勢,因為一些遊戲引擎更容易渲染單一模型。然而,問題在於你是在一個非交互式程序中建模你的關卡,因此測試可能會非常緩慢。通過正確規劃單位度量(例如,角色跳躍4個單位遠,因此縫隙應該適應這一點等),可以幫助緩解這個問題,但測試關卡布局仍然需要進行尷尬的導出和導入。因此,最好在3D程序中建立一個將關卡劃分為部分並在引擎中組裝的系統(圖2.35)。
圖2.33:這個叢林關卡是在 3D 程序中整體建模的,然後以單個模型的形式導入到遊戲引擎中。像流經關卡的河流這樣的美學元素,則是根據模型進行建模的。這樣就創建了一個具有規範性的系統,但又可以在引擎中進行調整,而無需回到三維程序中。

圖2.33:這個叢林關卡是在 3D 程序中整體建模的,然後以單個模型的形式導入到遊戲引擎中。像流經關卡的河流這樣的美學元素,則是根據模型進行建模的。這樣就創建了一個具有規範性的系統,但又可以在引擎中進行調整,而無需回到三維程序中。

圖2.34:在圖 2.33 中的模型特寫鏡頭中,可以看到環境裝飾。每個裝飾都是在模型上建模,以檢查比例是否合適,然後單獨導出到遊戲引擎中,根據需要進行復制和佈置。

圖2.34:在圖 2.33 中的模型特寫鏡頭中,可以看到環境裝飾。每個裝飾都是在模型上建模,以檢查比例是否合適,然後單獨導出到遊戲引擎中,根據需要進行復制和佈置。

圖2.35:為了為遊戲《SWARM!》創建一系列城市關卡,我們在 3D 程序中創建了瓦片,並將其導入到引擎中,這樣就可以創建許多關卡設計。

圖2.35:為了為遊戲《SWARM!》創建一系列城市關卡,我們在 3D 程序中創建了瓦片,並將其導入到引擎中,這樣就可以創建許多關卡設計。

將3D模型導入引擎是尺度管理變得困難的地方。由於每個3D程序和引擎都有自己的度量系統,當3D對象導入引擎時,它們可能無法同步。通常,導入的對象可能與場景相比非常大或非常小,因此有必要了解你的3D程序的度量與引擎度量之間的關係。
如果你在3D程序中以標準比例為所有關卡對象建模,比如之前提到的1個網格方塊=1個單位,那麼所有關卡幾何應該以相同的比例導入。例如,如果你發現你的對象以其實際尺寸的1/20導入,你可以將每個相似比例的對象導入為它們尺寸的20倍。如果你以相同的比例建模,那麼每個對象應該以相同的比例導入,只需記住一個比例因子。(比例因子:用於表示兩個物體之間的比例關係的因子。它可以用來放大或縮小一個物體的尺寸)
在導入對象時進行縮放的另一種方法是弄清楚你的3D程序中的單位與引擎中的單位之間的比例。例如,Maya和Blender中的1個單位=Unity中的1個單位。這在3D Studio Max中並不總是成立。然而,Max可以使用真實世界的單位,因此設計師如果使用米制系統,就可以按照正確的比例建模,因為1個Unity單位=1米。其他引擎有類似的比例。一旦弄清楚了這些比例,甚至可以為3D程序構建一個縮放模型,通常只是一個以角色或單位的標準比例構建的盒子,用作構建級別幾何的“尺”(圖2.36)。
圖2.36:這個截圖展示了建築側面的一些關卡幾何瓦片,以及一些以深色顯示的參考模型。矩形實體模型的尺寸被縮放到一個角色的大小,而平面關卡幾何參考模型在遊戲引擎中被縮放為1個單位乘以3個單位和3個單位乘以3個單位。同時還展示了一扇門的參考模型。

圖2.36:這個截圖展示了建築側面的一些關卡幾何瓦片,以及一些以深色顯示的參考模型。矩形實體模型的尺寸被縮放到一個角色的大小,而平面關卡幾何參考模型在遊戲引擎中被縮放為1個單位乘以3個單位和3個單位乘以3個單位。同時還展示了一扇門的參考模型。

現在,您已經瞭解了關卡設計師的數字工具以及如何在關卡製作中使用這些工具,您可以使用它們來生成自己的遊戲關卡。在下一節中,我們將討論一些設計關卡的工作流程,以及如何使用我們討論過的工具。

關卡設計流程

美國建築師路易斯·沙利文,通常被認為是摩天大樓的創作者,曾經說過一句名言:“形式追隨功能。”通過這一表達,沙利文表達了現代主義建築的一個主要原則。現代主義是20世紀初的一場建築運動,其特點是強調建築的形式源於其用途。在現代主義建築中,裝飾通常是建築物本身的產物,或者是為了特定目的而應用,而非單純為了美學。與沙利文相似,勒·柯布西耶提出:“房屋是一個用於居住的機器。”他的許多建築作品,以及弗蘭克·勞埃德·賴特、瓦爾特·格羅皮烏斯、路易斯·沙利文等人的建築,都專注於有意為居住者創造一種體驗。
正如我們所見,關卡設計也是如此。在關卡設計中,開發者通常以特定的體驗目標為導向進行設計。在2008年的一次採訪中,Valve的關卡設計師Dario Casali強調,在進行關卡設計時,“體驗至關重要”。我們之前已經討論了一些玩家如何使用遊戲空間以及我們作為設計師如何通過空間與玩家溝通相關的關卡設計目標。這些體驗目標應該決定我們作為關卡設計師如何構建空間:形式追隨功能。
在上一節,我們討論了關卡設計師使用的一些工具,從在方格紙上草擬想法到在引擎和3D程序中使用縮放模型和度量系統。在這一節中,我們將討論一些涉及這些工具的工作流程過程,首先從“形式追隨功能”如何融入遊戲設計開始。
形式追隨核心機制
在遊戲設計中,“形式追隨功能”的原則通過一個被稱為核心機制的概念得以充分體現。核心機制通常被定義為玩家在整個遊戲過程中執行的基本操作。在遊戲設計師Aki Jarvinen的博士論文中,提出了一種以核心機制為中心的設計方法,設計師們從動詞入手。如果將核心機制看作是玩家在遊戲中進行的基本動作,就可以理解構建每個遊戲獨特體驗的基本元素。例如,《超級馬里奧兄弟》以跳躍為核心,而《薩爾達傳說》注重探索,《塊魂》則以滾動為主題,《憤怒的小鳥》則聚焦於投擲,以此類推。從這一核心出發,再添加其他動作來規定最終遊戲產品的規則。
在設計關卡時,有必要在頭腦中形成類似的核心機制想法。雖然許多新手設計師認為各個關卡應該簡單地遵循遊戲的核心機制,但我們可以通過定義關卡核心機制使每個關卡變得獨特。以《軍團要塞2》(TF2)中的Badwater Basin關卡(圖2.37)為例。在這個關卡中,遊戲的BLU隊必須通過軌道上的礦車將炸彈推入對手RED隊的基地。Badwater Basin是Payload模式的地圖,該模式改變了TF2標準的團隊第一人稱射擊(FPS)機制並增加了一些變化。這不僅改變了遊戲玩法機制,還改變了關卡的空間幾何條件。
圖2.37:來自《軍團要塞2》的Badwater Basin關卡平面圖。地圖上標明瞭RED和BLU隊的基地,以及主要的交通區域和連接兩個基地之間的BLU檢查點

圖2.37:來自《軍團要塞2》的Badwater Basin關卡平面圖。地圖上標明瞭RED和BLU隊的基地,以及主要的交通區域和連接兩個基地之間的BLU檢查點

Casali提到的一個例子是他在設計Badwater Basin時提到的關卡中的隧道。在關卡的最初原型中,設計師們將礦井隧道的寬度設置為他們用於其他基礎地圖的標準寬度。然而,在使用了推動礦車的機制進行關卡測試時,他們意識到必須擴大隧道以容納玩家和礦車。這看似是一個小改變,但卻避免了玩家被礦車擋在隧道外的尷尬。(圖2.38)
圖2.38:通過調整Badwater Basin中隧道的寬度,不僅使玩家和礦車在關卡中更順暢地移動,並減少遊戲對進攻方的影響。

圖2.38:通過調整Badwater Basin中隧道的寬度,不僅使玩家和礦車在關卡中更順暢地移動,並減少遊戲對進攻方的影響。

這與利用基於遊戲度量的測量系統為關卡設計密切相關。作為關卡設計師,我們的任務是根據玩家角色和其他遊戲元素在關卡中的移動方式來設計。只有當關卡空間能夠舒適地適應度量標準時,穿越關卡才會變得更加舒適。正如我們在後面的章節中所討論的,當我們創造出將度量標準推向極限的空間時,遊戲戲劇效果就會顯現。這樣的空間包括需要角色進行儘可能遠跳躍的縫隙,例如《超級馬里奧兄弟》世界8-1中的那個(圖2.39),或者在恐怖遊戲中限制移動的狹窄走廊,例如《生化危機》(圖2.40)。
圖2.39:《超級馬里奧兄弟》第8-1關的這一部分將馬里奧的跳躍度量推向了極限。這個縫隙有10個方塊寬,比馬里奧的奔跑跳躍距離9個方塊更長,因此需要使用1個方塊寬的中間小島。穿越這個縫隙的大多數策略都是先跑跳到中間的小島上,然後再從 1 個方塊寬的小島上快速跳下,這樣馬里奧的落地慣性就不會將玩家帶入坑中。

圖2.39:《超級馬里奧兄弟》第8-1關的這一部分將馬里奧的跳躍度量推向了極限。這個縫隙有10個方塊寬,比馬里奧的奔跑跳躍距離9個方塊更長,因此需要使用1個方塊寬的中間小島。穿越這個縫隙的大多數策略都是先跑跳到中間的小島上,然後再從 1 個方塊寬的小島上快速跳下,這樣馬里奧的落地慣性就不會將玩家帶入坑中。

圖2.40:《生化危機》中的許多走廊幾乎只夠兩個肩並肩站立的角色通行。因此,在這些走廊中,一個單獨的殭屍可能成為試圖通過的玩家的重要威脅。這種空間條件還為遊戲營造了一種幽閉恐怖的氣氛。

圖2.40:《生化危機》中的許多走廊幾乎只夠兩個肩並肩站立的角色通行。因此,在這些走廊中,一個單獨的殭屍可能成為試圖通過的玩家的重要威脅。這種空間條件還為遊戲營造了一種幽閉恐怖的氣氛。

按照遊戲玩法進行設計不僅僅需要考慮度量。它還意味著可以根據特定的角色能力進行設計,比如特殊攻擊或移動模式。像《合金裝備》這樣的潛行遊戲就很好地演示瞭如何基於不同類型的角色移動構建關卡。在《合金裝備》中,玩家角色Solid Snake具有躲藏在牆後並窺視拐角的能力。與其他動作遊戲相比,這極大地改變了90度拐角的含義——它們是戰略性的藏身之處,而不僅僅是關卡的幾何形狀。因此,構成《合金裝備》環境的核武器設施擁有許多這樣的拐角,以便玩家可以從一個地方悄悄移動到另一個地方,窺視拐角找到下一個安全區。雖然不是基於度量,但這些佈局是基於角色自身機制的,是角色能夠如何在環境中行動或互動的可能性範圍。

關卡設計主旨(Parti)

譯者注:我沒能找到Parti的合適翻譯,如果你有更好的想法,歡迎評論區指出。
之前我們討論了建築師的“設計主旨”(Parti),這是建築師用來確定他們想要建築採取什麼形狀或方向的基本形式探索。對於剛剛確定了關卡核心機制的關卡設計師來說,設計主旨是另一個有價值的工具,用於制定關卡的空間佈局。
使用設計主旨進行設計與在圖紙或計算機上設計有很大的不同。設計主旨是為了草圖,因此會缺乏精確度量。雖然這可能與本章節中的其他建議相矛盾,但草圖練習允許設計師在花費時間規劃設計的精確度量版本之前迅速形成想法。關卡設計主旨的關鍵在於將遊戲玩法的想法表達為空間圖。例如,Badwater Basin關卡的設計主旨可能是兩個大塊(代表隊伍的基地區域),兩者之間有較窄的流通區域代表礦車軌道,以及一些供BLU玩家奪取的較小基地,類似於圖2.37中的示意圖。
在《獨立遊戲:電影》中,Edmund McMillen在討論關卡設計時認為,一旦設計師創建了環境機制,也就是關卡中影響遊戲玩法的可交互部分,這些部分應該以多種不同的方式可被使用,這樣才有價值。對於e4 Software的手機遊戲《SWARM》,這是一個小球滾動的平臺遊戲,玩家需要誘使敵人走入陷阱,程序員兼設計師Taro Omiya創建了許多通電圍欄陷阱的草圖,以可視化它們可能的不同用途(圖2.41)。同樣,Omiya和其他參與遊戲開發的人員在計算機和紙上製作了正式的設計主旨,以可視化關卡的空間方向,如下坡滑道、漂浮島嶼和跳臺區域(圖2.42)。
圖2.41:當《SWARM》的設計師們設計出通電圍欄陷阱後,他們對這些陷阱製作了許多遊戲玩法設計主旨方面的草圖,以可視化它們如何在不同的關卡中被利用。

圖2.41:當《SWARM》的設計師們設計出通電圍欄陷阱後,他們對這些陷阱製作了許多遊戲玩法設計主旨方面的草圖,以可視化它們如何在不同的關卡中被利用。

圖2.42:《SWARM》的正式設計主旨展示了不同空間方向的可視化,如山坡、傾斜的巖壁等。

圖2.42:《SWARM》的正式設計主旨展示了不同空間方向的可視化,如山坡、傾斜的巖壁等。

使用任天堂力量(Nintendo Power)的方法來調整關卡節奏
規劃遊戲中的個別部分的一個缺點是不瞭解它們在關卡中如何相互關聯。這就是繪圖紙和其他基於度量的工具發揮作用的地方。關卡設計師稱之為“節奏”,即適當安排遊戲玩法。
節奏建立在這樣一個概念的基礎上,即為了使遊戲玩法看起來令人興奮,它必須與"安靜 "的遊戲時刻形成對比,比如解謎、探索,甚至是利用角色的移動可能性進行遊戲。正如我們在後面的章節中所展示的,空間對比對於在遊戲和建築中構建有意義的體驗非常重要。因此,我們必須學會如何控制遊戲中關卡的節奏。
實際上,在紙上進行的自上而下的關卡設計應該從兩個不同的角度進行:宏觀尺度的關卡設計和微觀尺度的關卡設計。TF2的Badwater Basin的設計主旨是宏觀尺度的設計,因為它展示了整個關卡,並圖解了它如何創造預期的遊戲玩法。另一方面,來自《SWARM》的陷阱和關卡元素的設計主旨是微觀尺度的設計,因為它們顯示了與整個關卡脫離關係的個別遊戲玩法實例。許多新手設計師都會犯一個錯誤,即將激烈的微觀尺度的遊戲玩法實例連續放置在一起。合適的節奏應該使這樣的遊戲玩法實例在彼此之間被較為寧靜的遊戲時段分隔開來。
為了避免這種情況,使用任天堂力量的關卡設計方法是很有用的。任天堂力量是任天堂於20世紀80年代末開始出版的一本遊戲攻略和新聞雜誌。在一段時間內,它是任天堂遊戲機上的秘密代碼、提示和遊戲攻略的重要來源。對於許多遊戲,任天堂力量會發布詳細的關卡地圖,並在地圖上使用說明框來突出顯示遊戲玩法中特別值得注意或困難的地方(圖2.43)。對於關卡設計師來說,這些地圖可以是關於節奏的寶貴經驗。
圖2.43:《任天堂力量》雜誌中的地圖展示了整個關卡,並在每張地圖上突出顯示了遊戲玩法的重要點。

圖2.43:《任天堂力量》雜誌中的地圖展示了整個關卡,並在每張地圖上突出顯示了遊戲玩法的重要點。

《任天堂力量》中的地圖從宏觀角度展示了一個關卡,因此讀者可以看到遊戲關卡的全貌。與此同時,它還在微觀上突出了重要的遊戲時刻,讓讀者知道要到達秘密房間或克服困難障礙需要注意什麼。還應該注意到,這些地圖上的突出顯示框並不是緊密相鄰的,而是均勻分佈在整個地圖上。這不僅僅是雜誌的出版結果,更是遊戲設計師合理安排節奏的結果。在設計關卡時,我們可以利用同樣的思維方式,將我們的關卡圖紙視為《任天堂力量》的圖紙,以宏觀的尺度創建關卡的整體範圍,在微觀上將激烈的遊戲區域均勻地分佈在整個地圖上。在“喧鬧”的遊戲時刻之間,應該是放鬆空間,用於基於移動的遊戲玩法、基於移動的障礙、探索,甚至是玩家角色的休息和整備。
在關卡中沒有安靜的時刻來對比高強度的時刻,遊戲可能會變成一個永無止境的苦差事,而不是一個令人興奮的體驗。然而,即使進行了最仔細的規劃,設計師也很可能會漏掉一些東西。這就是為什麼儘可能多地玩遊戲,並讓其他人玩遊戲是很重要的,這將引導我們進入下一個關卡設計工作流程。
利用遊戲測試不斷迭代
迭代設計是從人機交互設計中借用的一個術語。它描述了一個循環往復的設計過程,在這個過程中,設計者製作出自己作品的原型,測試用戶是否能與之正確交互,評估結果,修改設計,並再次與用戶進行測試。這與科學家通過反覆實驗來驗證假設的科學方法並無二致。
遊戲設計師通過對他們的遊戲進行試玩來測試他們的想法。Salen和Zimmerman在《Rules of Play》中將遊戲設計稱為一個二階設計問題。他們指出:“你從來不是在直接設計玩家的行為。相反,你只是在設計系統的規則。”Salen和Zimmerman強調,設計遊戲與設計一個直接可關聯的物體(如杯子或椅子)非常不同,你是在為玩家創造一個棲息的環境。這與遊戲關卡是玩家和設計師之間交流的媒介這一觀點直接相關。
就像建築師會帶客戶來參觀和評估作品一樣,遊戲設計師也會帶玩家來測試遊戲。要想了解你想要的體驗是否會在你的遊戲關卡中出現,根據你的開發階段,觀看他人以非數字和數字形式玩你的遊戲是很重要的。當你在觀察人們玩你的遊戲時,牢記這些事:
  • 他們瞭解如何玩這個關卡嗎?在討論行為調整時,我們發現教學是關卡設計的一項重要任務。如果玩家對你打算重複的謎題不理解,那麼他可能需要一個更好或更透明的機制介紹,然後再進入他被卡住的謎題進行測試。
  • 關卡對玩家來說是否太難?這主要適用於遊戲的早期關卡,不過您應該始終避免在沒有適當平衡或玩家準備的情況下突然增加難度。如果玩家在遊戲開始十分鐘後就被一個挑戰或謎題卡住了,那麼你也許應該把這個挑戰放在遊戲的後面,或者建立更簡單的關卡,放在玩家被卡住的挑戰之前。遊戲測試非常重要,因為當你玩自己的遊戲時,你就會變得非常精通遊戲,再也看不出什麼地方太難了。
  • 不要干涉他們的遊戲。當人們購買你的遊戲時,他們不會聽你解釋遊戲應該怎麼玩。因此,你不應該阻止試玩者解釋他或她應該做什麼。如果他或她無法理解,你就應該在關卡中增加更多的教學環節。
  • 擁抱快樂的意外。有時,試玩者會揭示一種策略,以獨特的方式解決謎題,或者 "玩弄 "系統以創造新的能力。例如,如果你知道從哪裡跳,那麼《SWARM》關卡的整個區域都是可以跳過的。當你看到玩家以一種你沒有想到的方式進行操作或使用關卡時,請評估一下這是否會破壞遊戲。如果不是,反而可能成為一個有趣的秘密,那就保留它。
  • 針對當前開發階段進行遊戲測試。引導玩家就與開發階段相匹配的問題提供反饋。主要的遊戲反饋應在資產創建之前儘早進行,而後期反饋側重於發現可能阻礙體驗、阻礙進展甚至使遊戲崩潰的錯誤。例如,遊戲機制或美術方面的反饋不適合在遊戲發佈前一個月進行,因為此時測試的重點應該是查找錯誤。向測試者提出與你希望他們提供的信息相關的問題,或者製作一份紙質調查表讓他們填寫。
  • 徵求補充意見,但要堅持原則。雖然你希望得到有針對性的反饋,但獲得額外的意見也是好的,以防測試者有什麼意外的說法可以幫到你。不過,你也要做好準備,迎接一大堆荒謬的建議。遊戲測試者通常會非常熱心地幫助開發遊戲,並會提出 "你完全應該在遊戲中加入一些東西 "的設計建議。要學會正確地審查這些意見,從中找出對開發階段有幫助的東西,而不是會破壞遊戲核心理念的東西。還要學會以友好和不卑不亢的方式駁回不好的想法。
  • 在整個過程中,隨著試玩者嘗試你的關卡,請記錄每個原型的優點以及可以改變或改進的地方。修改你的設計,並讓某人測試你的下一個原型。接下來的兩個部分將討論兩種類型的原型:非數字和數字。
非數字原型
多年來,遊戲開發者都是在遊戲進入測試階段後才對其進行遊戲測試,也就是在遊戲發佈前,資產製作已經完成的階段。這可能是一種危險的遊戲測試方法,因為已經來不及修復基本的設計問題了。在過去的幾年中,有大量的文章論述了從遊戲的非數字原型開始,在整個設計過程中進行測試的問題。甚至在遊戲創意被輸入電腦之前,設計者就可以使用非數字原型來探索遊戲的可玩性。
大多數出版物詳細介紹了用於遊戲機制的非數字原型。然而,關卡設計師在某些類型的遊戲中也可以利用非數字原型。特蕾西-富勒頓(Tracy Fullerton)在她的著作《遊戲設計工坊》(Game Design Workshop)中描述了藝電(EA)如何利用一個真實的沙盒來測試《榮譽勳章》系列的關卡。設計師使用塑料樹、玩具士兵和戰場模型來繪製室外關卡。作者還描述了一種第一人稱射擊遊戲的桌遊原型,設計者為玩家在一個六邊形網格中移動軍隊制定了移動規則(圖2.44)。
圖2.44:一種利用六邊形網格和玩具士兵的第一人稱射擊遊戲的非數字原型。設計師在棋盤上放置小木棍來定義牆壁。小木棍是簡單原型的理想選擇,因為它們可以輕鬆地被拾起並移動,以嘗試不同的空間表達。

圖2.44:一種利用六邊形網格和玩具士兵的第一人稱射擊遊戲的非數字原型。設計師在棋盤上放置小木棍來定義牆壁。小木棍是簡單原型的理想選擇,因為它們可以輕鬆地被拾起並移動,以嘗試不同的空間表達。

與《任天堂力量》的方法一樣,非數字原型可以在宏觀和微觀上定義遊戲空間。例如,喬治梅森大學《遊戲設計導論》課程的學生項目表明,非數字原型可以揭示遊戲不同部分的空間情況。其中一個原型要求玩家在一個類似《糖果之地》的棋盤上,讓自己的騎士角色通過不同的階段,直到到達終點的公主。設計者希望設計一款故事性較強的角色扮演冒險遊戲,因此選擇了一個岔路極少的線性路徑棋盤。在許多方面,這塊棋盤是整個遊戲的互動部分,顯示了設計者的意圖,即根據特定的故事節奏而不是玩家的選擇來創造線性體驗。作為對遊戲環境的宏觀展示,它允許玩家在一般遊戲情境的線性進展中進行遊戲,但並不對每個情境進行深入挖掘。
另一個學生項目的原型是一款潛行遊戲,玩家必須躲避守衛、營救同伴並逃離監獄場地。這款遊戲側重於微觀層面的遊戲原型設計,允許設計者在監獄的一個房間內探索敵人移動和角色互動等問題。在課堂上展示的版本使用了一個完全開放的房間,沒有任何牆壁,因為設計者專注於定義角色如何移動。不過,棋盤的進一步迭代可能會探索移動規則如何在更復雜的走廊和類似牢房的環境中運行。
非數字原型可以在宏觀和微觀層面對遊戲玩法進行抽象測試,而數字原型則可以讓設計師通過一種名為 "白盒"的過程來測試特定環境的遊戲玩法。
使用白盒建立數字原型
當開發者從在計算機之外的原型製作過渡到數字形式的原型製作時,他們通過一種稱為白盒的過程創建測試關卡。白盒是指關卡設計師使用簡單的幾何形狀,通常是白色或帶有紋理的塊(因此得名),來創建關卡,以測試關卡是否實現了他們所期望的遊戲目標。在設計過程的早期階段,當設計師試圖定義玩家角色和其他要素的遊戲指標時,白盒可以幫助確定應該採用哪些遊戲度量標準。設計師可以以某種方式勾畫關卡的空間特徵,測試不同環境的大小和形狀,以獲取不同的遊戲體驗,然後再向關卡添加具體的美術資產(圖2.45)。
圖2.45:為《SWARM》製作的白盒顯示了在添加美術資產之前,如何在簡單幾何圖形中對關卡中教授玩家如何殺死敵人的重要部分進行測試。

圖2.45:為《SWARM》製作的白盒顯示了在添加美術資產之前,如何在簡單幾何圖形中對關卡中教授玩家如何殺死敵人的重要部分進行測試。

用於進行關卡空間白盒測試的幾何圖形通常是為了模擬最終關卡設計中將使用的碰撞器而需要的最簡單的幾何圖形。碰撞器是遊戲引擎中物體的一個組件,模擬物體之間的相互作用。例如,在關卡幾何體上附加一個盒狀碰撞器將使該物體與其他物體互動,就好像它是一個六面的盒子形狀,而不管實際美術資產的形狀如何(圖2.46)。碰撞器可以是簡單的幾何形狀,也可以被製作成緊密貼合有機形狀的形式。
圖2.46:這個植物上附加了一個盒狀碰撞器,儘管它的3D模型呈有機形狀。遊戲中的玩家對象與其互動時,就好像它是一個矩形實體一樣。

圖2.46:這個植物上附加了一個盒狀碰撞器,儘管它的3D模型呈有機形狀。遊戲中的玩家對象與其互動時,就好像它是一個矩形實體一樣。

Valve 在其關卡設計過程中廣泛使用了白盒測試,在他們的關卡編輯器 Hammer 中,設計師允許通過簡單而精確的建模進行快速的3D關卡原型設計。 Hammer 的基元稱為 "筆刷",用於大致定義關卡空間,然後對其進行遊戲測試,以確定是否能創造出預期的體驗。關卡設計師們會看到哪些地方做得好,哪些地方做得不好,然後通過編輯筆刷來改變空間。當設計師發現自己很少編輯主要空間,而是專注於較小的細節時,關卡就可以進行環境藝術設計了。
作為一個迭代過程,"白盒 "始於從Parti一樣的關卡互動開始,逐漸向以藝術和裝飾為中心的設計發展,這與室內設計並無二致。隨著關卡幾何圖形的定義越來越清晰,環境藝術的標準也可以定義出來,最終成為關卡的構建元素。以度量為中心的環境藝術是設計過程的重要組成部分,將在下一節中討論。
模塊化的關卡設計
使用引擎基元構建關卡的一個好處是,這些基元在引擎中是標準化的,而且很容易重複。它們是模塊化的,也就是說,預先製作好的部件可以很容易地複製、組裝、拆卸和移動。自工業革命以來,建築物都是由模塊化元素組成的。其中許多都是預製件,在工廠製作,然後在建築工地組裝。現代主義建築師是模塊化建築的忠實擁護者。例如,菲利普-約翰遜和路德維希-密斯-凡德羅就以設計使用預製鋼材和玻璃構件的建築而聞名。勒-柯布西耶設計的 "Unite D'Habitacion "是一座公寓樓,其中的公寓都是以模塊單元的形式製作並堆疊在一起的(圖 2.47)。
圖2.47:勒-柯布西耶設計的 Unite D'Habitacion 公寓的剖面圖和模型草圖。

圖2.47:勒-柯布西耶設計的 Unite D'Habitacion 公寓的剖面圖和模型草圖。

我們用樂高積木來比喻關卡設計;模塊化就是其中的原因。遊戲開發是一個工作強度很大的過程,聰明的設計師會利用易於重複的遊戲對象和紋理來減少對美術資產不斷重新制作的需求。如果設計師能創造出一套如圖 2.35 所示的模塊化作品,那麼關卡就可以像樂高積木一樣組裝起來,而不是像定製藝術品一樣難以更改。
創建模塊化資產還有助於本章前面概述的基於度量的測量方法。《SWARM》的設計者在一些非有機關卡的設計中使用了模塊化地磚。使用預定義的地磚可以輕鬆測量滑板公園和迷宮等遊戲環境。例如,設計者意識到,兩單位寬的地磚是玩家在使用遊戲的傾斜控制時能夠平衡的最小單位,而不會感覺遊戲難度不公平。在類似迷宮的謎題中,玩家必須在狹窄的迷宮中穿行,而不掉進帶電的地板或酸液池中,因此使用了兩個單位的瓷磚來構建邊緣。
即使是像有機地形和植物這樣的不太基於度量的元素,擁有模塊化的部件也使構建《SWARM》的關卡變得簡單。不太基於度量的對象,如地形和樹木,可以按任意大小進行縮放,而不會相比其他物體顯得突兀。它們還可以根據設計師的需要以任何方式旋轉,以適應關卡中需要上坡或下坡的地區。
建築師通過稱為建築進度表的文件來追蹤他們建築中的模塊化元素。建築進度表是一張圖表,它規定了門窗或管道裝置等預製產品、這些產品的尺寸以及它們在建築中的位置(表 2.1)。關卡設計師使用的模塊化構件也可以用類似的方式記錄下來,尤其是當這些構件遵循基於度量的建築系統時。
在遊戲藝術指導中,通常會使用風格指南——建立顏色、圖形、度量和其他藝術標準的文件——以保持團隊的一致性。關卡設計進度表可以為關卡構建提供類似的效用。圖2.48中體現的Half-Pipe式關卡的進度表可能類似於表2.2中的內容。
圖2.48:一個3D遊戲中的Half-Pipe式關卡

圖2.48:一個3D遊戲中的Half-Pipe式關卡

就算是那些沒有明確比例的元素,比如樹木和植物,進度表也能幫助規劃關卡的風格,通過列舉將在關卡中使用的元素。這種方式不僅有助於清單化構建特定環境所需的元素,還能在藝術方向上提供支持。
現在,我們已經探索了關卡設計的幾種工作流程,接下來我們將演示幾種流行遊戲引擎中的工具,更具體地介紹關卡是如何構建的。

針對遊戲引擎的簡單介紹

就像有許多關卡設計方法一樣,遊戲設計師也有許多可以選擇的遊戲引擎。雖然對任何一種引擎提供具體的教程都不在本書的範圍之內(這方面已經有很多其他優秀的書籍了),但我們將瞭解建築設計方法如何應用於實際的遊戲引擎中。為了最大化收益,我們將研究四個流行的引擎,包括Game Maker、Unreal Development Kit(UDK)、Source的Hammer Editor和Unity,以發現影響你設計遊戲關卡的引擎特有因素。值得注意的是,本節將涉及特定引擎的方法和問題,因此只有{在【將來自3D程序的模塊化對象導入】是關卡構建過程中絕對必要}的引擎中,我們才會探討這方面的內容。如果你使用的引擎不在這裡列出,仍然會有信息可以遷移到你自己選擇的軟件中。
Game Maker
Game Maker是由YoYo Games開發的以2D為主的遊戲引擎。對於許多新手設計師來說,這是一款很好入門的軟件。相比於完整的3D遊戲,二維遊戲通常在編程複雜性和為達到視覺完整所需的藝術量上更為簡單(儘管有些採用極簡主義藝術風格的例外情況)。Game Maker之所以被認為是一款出色的學習引擎,是因為它允許用戶通過拖放邏輯元素來創建遊戲,而不需要使用腳本語言。隨著設計人員對 Game Maker 的熟練掌握,他們可以使用該引擎的內部腳本語言 Game Maker Language (GML),並利用其有限的3D功能創建簡單的三維遊戲(圖 2.49)。
圖2.49:在Game Maker的界面中,正在根據2的冪次測量法構建2D遊戲關卡。

圖2.49:在Game Maker的界面中,正在根據2的冪次測量法構建2D遊戲關卡。

對於使用本章前面所討論的建築方法(尤其是以網格為基礎的度量方法)的設計者來說,Game Maker 是練習關卡設計的絕佳工具。Game Maker 中的關卡是以房間的形式構建的,這與其他遊戲引擎中使用的場景類似。創建一個新房間時,該房間的窗口會顯示一個網格,網格的間距是像素測量值的 2 次方,如 16 × 16(默認值)、32 × 32、64 × 64 等。網格大小可以設置為非 2 次冪測量,但這種測量比 2 次冪測量需要消耗更多的內存空間。
如果使用這些單位,就可以輕鬆繪製出符合網格方格大小的二維關卡對象,並將其放置在房間網格上。此外,遵循 Game Maker 網格系統還能幫助規劃遊戲角色的移動,其方式與繪圖紙相同,都是根據基於測量的移動標準。通過了解角色在網格方格中的移動方式,可以相應地確定關卡對象的大小和間距。
Unreal Development Kit (UDK)
UDK 是本節將討論的幾個 3D 引擎中的第一個,它是 Epic Games 的虛幻引擎 3 的免費非商業用途版本,該引擎最初用於創建《虛幻競技場 3》。UDK 因其強大的關卡編輯器和先進的光照功能而廣受歡迎。關卡編輯器允許使用 UDK 的BSP畫刷在引擎內快速創建關卡。BSP 筆刷的默認紋理設置可以產生紋理效果很好的表面,從而減少了通過 3D 藝術程序的 UV 展開功能為簡單對象應用紋理的需要(圖 2.50)。
圖2.50:編輯空房間時的 UDK 界面截圖。表面上的方格顯示了紋理如何在引擎內對象上自動平鋪,從而大大減少了對環境幾何體 UV 貼圖的需求。

圖2.50:編輯空房間時的 UDK 界面截圖。表面上的方格顯示了紋理如何在引擎內對象上自動平鋪,從而大大減少了對環境幾何體 UV 貼圖的需求。

在UDK中進行編輯時,和我們將要討論的其他引擎一樣,理解單位系統對於確定對象大小是至關重要的。在UDK中,一個角色通常有96個UDK單位的高度。儘管這個測量不像Game Maker等引擎使用的2的冪設置那樣簡單,設計師仍然可以將其作為工作的基礎。當使用從3D程序導入的模型(UDK稱之為靜態網格體)構建關卡時,建議使用縮放模型以生成適用於度量的靜態網格體。
Source’s Hammer Level Editor
Source引擎於2004年首次亮相,推出了《反恐精英: 起源》和《半條命2》。與同年推出的虛幻引擎 3 一樣,由於持續更新,它仍然是設計人員的熱門選擇。任何擁有 Source 製作的遊戲的人都可以使用 Source,並可在 Valve 公司的 Steam 平臺上下載。
Source引擎的內部關卡編輯程序Hammer,結合了許多使Game Maker和UDK等引擎受歡迎的特點。像UDK一樣,Hammer是一個以3D為主的引擎,允許用戶使用稱為筆刷的幾何基元編輯工具。像Game Maker一樣,它也具有基於2的冪測量的網格系統(圖2.51)。
圖2.51:Hammer 的截圖,顯示了一個由筆刷基元構建的簡單關卡。Hammer 的筆刷是可編輯的,因此可以在引擎中製作拱門和圓頂等物體。

圖2.51:Hammer 的截圖,顯示了一個由筆刷基元構建的簡單關卡。Hammer 的筆刷是可編輯的,因此可以在引擎中製作拱門和圓頂等物體。

在引擎中創建關卡時,Hammer的吸附設置非常重要,因為環境必須完全封閉才能成功編譯,即處理成可以在Source遊戲中運行的關卡。吸附設置幫助用戶構建適應這一限制的關卡,同時也有助於創建適用於度量的幾何體。
Hammer的紋理系統也遵循其對2的冪測量的關注。默認情況下,導入Hammer的紋理的大小取決於它們的實際文件大小。例如,一個128 × 128像素的紋理將始終以相同的大小導入。儘管這些大小在單個筆刷面上是可編輯的,但默認大小是一致的,以至於編輯器甚至包含了以紋理尺寸註釋為特色的測試紋理(圖 2.52)。這種一致性可以實現強大的基於度量編輯功能。
圖2.52:導入 Hammer 的紋理大小與其文件大小一致。為了進行紋理和度量規劃,引擎包含了帶註釋的測試紋理,顯示每個對象有多大。

圖2.52:導入 Hammer 的紋理大小與其文件大小一致。為了進行紋理和度量規劃,引擎包含了帶註釋的測試紋理,顯示每個對象有多大。

Unity
我們要討論的最後一個引擎是 Unity,這也是一個3D引擎,在大型和小型工作室中都很流行。與本文討論的其他三維引擎不同,Unity 並不是為某一特定遊戲而開發的工具,而是用於創建一系列不同類型遊戲的工具。這種不專業化是一把雙刃劍:該引擎可以靈活地創建多種類型的遊戲,但卻缺少其他兩個 3D 引擎(這兩個引擎最初都是為第一人稱遊戲而創建的)內部所擁有的關卡編輯器(圖 2.53)。
圖2.53:Unity 的截圖。圖中所示的關卡原型由模塊化對象構建而成,這些模塊化對象在 3D 藝術程序中預製,然後在引擎中佈置

圖2.53:Unity 的截圖。圖中所示的關卡原型由模塊化對象構建而成,這些模塊化對象在 3D 藝術程序中預製,然後在引擎中佈置

因此,在Unity中進行關卡編輯需要設計師進行額外的規劃。Unity使用自己的單位系統,每個單位等於1米,因此構建度量很簡單。不過,與 UDK 或 Source 不同,Unity 的3D基元缺少 UV 貼圖,因此無法成為有效的筆刷幾何體。Unity 紋理是平面映射的,這意味著紋理是從一個角度投射到基元上的。例如,如果縮放一個立方體基元,使其成為一個矩形實體,短邊上的紋理就會被擠壓。
Unity是一個關鍵在於使用模塊化預製對象的引擎。這需要在3D藝術程序和UV展開方面額外花費一些時間,但這樣做的結果將有助於創建適合度量的關卡,這些關卡可以從圖紙上快速進行原型設計。本章前面展示的例子就反映了這種情況:為人工環境創建瓦片對象,為有機環境創建可佈置的植物、樹木和島嶼。Unity 甚至可以通過頂點吸附系統來輔助這種關卡構建,該系統允許用戶將對象精確地吸附到其他對象的邊角上。
譯者注:本書成書已有多年,以上提到的遊戲引擎都已發生了很大的變化,關於選擇適合自己的遊戲引擎工具,讀者可到流媒體平臺觀看對比視頻

總結

研究、規劃和執行遊戲關卡的工具種類繁多,它們可以共同創造更好的遊戲體驗。通過了解繪製空間圖的不同方法,我們可以更好地觀察遊戲空間。在規劃關卡時,我們可以將重點放在度量上,從而為遊戲的實際操作做好準備。將這些發現應用到遊戲引擎中,並在迭代過程中對其進行原型設計,可以確保我們的遊戲關卡滿足我們最初的體驗目標。最後,探索不同的引擎不僅能讓我們找到實現想法的最佳工具,還能幫助我們修改設計方法,以適應每種軟件的限制。
在下一章中,我們將借鑑這些經驗,探索現實世界和遊戲世界中的不同空間類型。通過探索,我們將發現如何利用這些空間類型以及我們看待它們的視角來創造有意義的遊戲體驗。

© 2022 3樓貓 下載APP 站點地圖 廣告合作:asmrly666@gmail.com