《
星之卡比 探索發現 》是一款擁有濃縮了遊戲性與漂亮外觀的地圖,且能兼顧兩者優點的遊戲作品。這兩項要素原本好比魚與熊掌不可兼得,但為了實現這點而開發的,便是新的自動生成系統。在針對遊戲開發者的講座「CEDEC 2022」舉辦的演講「《
星之卡比 探索發現 》地形生成程序的組合」,就由 HAL 研究所的開發本部 / 開發環境室的工程師加藤步先生進行演說,介紹了該程式其中的秘密。
HAL 研究所的開發本部 / 開發環境室的工程師加藤步
能夠兼顧玩心與外觀的自動生成系統
在 2022 年 3 月發售的《星之卡比 探索發現 》是主系列首次的 3D 動作遊戲。在 CEDEC 2022 舞台展示的地圖不論是遊戲性或外觀的品質都非常高。詳細會在後面提到,在製作地圖的時候,由於遊戲性的部分是給關卡設計師、外觀由美術各司其職的關係,很難同時兼顧兩者,但是能夠支援本次開發的便是地形生成這項系統了。另外,請注意本次演講中提到的 2D、3D 是指地圖的構造,並不是指像素圖等的 2D 繪圖與使用多邊形的 3D 繪圖。
本次的 3D 地圖製作中,首先由關卡設計師在地圖編輯器做出方塊狀的地形,接著按下模組輸出按鈕後,程式就會自動生出正式使用的地形模組。藉由這套「地形生成系統」,就是能夠讓關卡設計師在極限邊緣做出遊戲的部分,又可以同時兼顧地圖美觀的主因了。
但是,在當初還沒有這套系統存在的時候,也策定了一套沒有自動生成系統輔助的製作過程。那就是在關卡設計師做好地形的設計圖後,接著由美術製作地形模組這樣一般的形式,但是這樣的過程卻也浮現出了關卡設計師不只難以調整細節或變更,加上美術的作業成本太大的問題點。加藤先生說,「這對關卡設計師還有美術來說,都是非常綁手綁腳的狀態」。就這樣,在一面繼承 2D 動作的《星之卡比 》文化同時,也開始著手開發品質足以直接使用在成品上的地形模組自動生成系統。
以往的《星之卡比 》系列的地圖製作過程。先由關卡設計師用方塊狀的地形做出地圖,
然後再把美術製作的部件自動配置。本次製作的自動生成系統擁有相似的體制。
《星之卡比 探索發現 》策定製作相關的工作流技術。以關卡設計師做好的設計圖為基礎,再由美術製作 3D 模組。
但是這樣的流程對關卡設計師來說不僅很難針對細節做調整或變更,連美術的作業成本也很大。
首先要共同分享想要製作出來的地形印象,於是做出了一套在關卡設計師做好的地形,加入美術想要實現的要素的繪圖。能先讓關卡設計師 進行作業,據說也因此能展現出本作的特性。接著,由美術提出的「毛茸茸的地形邊緣」「地形的一部分可以使用別種外觀的部件」「彷彿自然形成的牆壁」等部分,就是自動生成系統製作的主題。能夠生成代表系列的草原表面,以及在本作地圖中讓人印象深刻的 毛茸茸地形邊緣,在 HAL 研究所通稱的「 毛邊(モコ)」要素得以實現。
關卡設計師在 Unity 使用做好的地圖編輯器,先配置方塊狀的部件做出地形後,美術就可以把準備好的邊緣零件利用 Maya 的 Curve Warp 功能配置就完成組合了。只要變換素材跟 毛邊,就可以做出沙漠或購物商場的效果,讓人一目瞭然效率的成效如何。
地形由關卡設計師以方塊狀的部件做出
只是更換素材跟毛邊而已,連沙漠的地面跟購物商場的地面都可以做出來
在跨部門的總體戰,做出嶄新的系統
於是乎,在關卡設計師與美術之間,透過程式打造而出的地形生成系統連繫的體制 —— 加藤先生說,「跨部門的總體戰」就此開始了。但是自動生成剛做好的時候,還沒有完全達到美術要求的成品品質,因此之後又追加了「製作道路」「為了讓地形呈現自然,山丘部件、扭曲功能、地形的崩壞挖洞效果」「破壞地型專用的崩壞部件」等各種功能。
舉例來說,在製作道路這個功能, 不是準備 mesh 或投影,而是使用了頂點色彩。首先在地圖編輯器讓想要變成道路的地方利用頂點色彩改變,自動生成的時候系統就會參照這個,並且將被頂點色彩改變的區域做成道路。
在地圖編輯器針對地圖做調整變得輕鬆,將材質蓋上別的材質的時候,使用同樣的 UV(※ 此處 U 指材質的 X 座標,V 指的是 Y 座標) ,有著使用邊角也不 會被拉長的好處。藉此機制,就可以把累積在地面上的細砂或牆壁上的青苔等,使用在改變地形質感的部分。地形生成系統也可以自動設定碰撞的屬性,所以能毫不費力表現出「走在細砂上面就會讓塵埃飄起來」的感覺。
但是,因為地圖編輯器只是用地形方塊組合出地圖而已,邊角跟邊緣那種直線的部分很容易做出給人不自然的印象。為了解決這點,於是導入了山丘部件跟地形的扭曲,還有地形的 崩壞挖洞效果。山丘部件不做成方塊型,而是準備了較自然的型狀,而且可以直接放在地圖上。扭曲功能則是對準直線地形邊緣的頂點座標後,故意加入混雜錯開的效果呈現出地形自然歪斜的感覺。
其中最有趣的就是崩壞挖洞部件了。只要在地形配置就可以讓那塊地呈現出坑洞的樣子,加藤先生說「跟山丘部件是完全相反的功能」。只要放置山丘部件就可以讓地形呈現隆起的樣子,但崩壞挖洞部件則是相反做出坑洞的樣子。換言之就是負向地形部件,或也可以說是把地形風化破壞的部件吧?正因為本作的舞台是文明荒廢的世界,所以很適合這個功能部件,也很常使用在各種地方。崩壞挖洞部件也會用在門的部分。由於只要用部件就可以把地形挖出洞,所以關卡設計師在想要改變位置的時候也不用直接碰到地形方塊,只要移動這個挖洞部件就可以了。
挖洞部件也很常被使用在 maya 的 布林,並做出物件之間的 AND 、OR 、NOT 運算。只要崩壞挖洞部件利用這個,就可以使用在想要破壞的牆壁等部分。先用論理差挖開洞,接著用論理積做出可以埋進洞裡的地形(變成破壞之前的狀態)。把這個地形複製、切割之後,就會變成卡比進行破壞的時候產生的碎片。除此之外還有加入地形邊角的倒角,自動對邊角跟 毛邊的附近加上頂點色彩的功能等,提升自動生成的品質。
在早期自動生成的地形中,還殘留有不自然的地方
加入形狀較自然的山丘部件後,稍微緩和了不自然的印象
崩壞挖洞部件,也可以應用在門的部分
破壞專用的崩壞挖洞部件。可以在破壞這個地形的時候,讓地形的碎片飛出來
追加包括倒角功能(左圖)跟歪斜功能(右圖),可以讓地圖外觀看起來更自然
透過自動生成做出各式各樣的關卡,兩位美術也需要模擬出草原跟大樓、水泥地跟沙漠等,最後做出了大約 40 種資料。然後由 5~10 位關卡設計師製作、共 250 張的地圖中,有 230 張地圖是透過自動生成系統做出來的。關卡的形狀可以保持原本的,也可以自由改變外觀這點就是這個系統最大的好處,像是早期做成洞窟的關卡,只要改變外觀,再用裝飾部件重新配置就可以快速變換成遊樂園關卡,這樣的效率實在驚人。
準備了 40 種左右的基本圖樣資料
只要更換外觀、重新配置裝飾部件,就可以變成不同的地圖使用在別的關卡
系統提升品質的變遷。多虧這套自動生成系統,可以同時實現遊戲性跟外觀美感兩者要素
自動生成的流程
雖然也有 UV 中途斷掉的時候,但是本作的視角鏡頭是反固定的關係,中斷的部分也可以拿到鏡頭看不到的地方去
為了要配置毛邊,所以安裝了可以針對調整 mesh 細部變形的功能
因為是新開發的系統,在實際運用時不斷的嘗試錯誤。不只是輸出地形的時候很花時間,也有失敗的時候。
加上不停地更新基本圖樣資料的話,也可能會有讓以前做好的地圖變得過時等不同的麻煩與難處
這套自動生成系統的成效,也許在本作發售後獲得的高評價就足以證明了吧。在遊戲開發階段,同時兼顧遊戲性與美觀是一項重要的課題。本傳系列首次採用 3D 地圖的本作,能夠透過開發的新系統,同時實現帶有濃厚玩心與美麗好看的外觀。這樣的技術力自然讓人印象深刻,團隊的挑戰心也足以讓這場講座給人留下深刻的印象。
(C)HAL Laboratory, Inc. / Nintendo