放棄思考的設計 🔗
各種意義上,《自動混亂》的關卡設計其實算是「放棄思考的設計」。
這有多個面向構成:
人力不足
有夠現實,但這在一般團隊中是需要有專職進行的,有效人力剩下一人的我實在難以進行。
無論怎樣的關卡,其實都是在檢定玩家的技術
找不到相關的推文,但這個看法是在一篇 Oskar Stålberg 的推文中看到的。當時他是在討論說《Bad North》可以順利使用 WFC 進行隨機關卡產生的理由,是因為那是個標準的戰鬥作品,因此提到說他認為「無論怎樣的關卡,其實都是在檢定玩家的技術」。不過該篇的討論點其實是在討論說 WFC 不適合拿來做解謎關卡這點。
總之我決定採用這樣的方針,然後著重在設計關卡的大方向跟隨機生成其中的內容。
首先我製作了一個精美的關卡編輯器:
看起來很廢,但老實說這是我設計的所有關卡編輯工具中,最簡單實用的那個。
總之這邊的目的是讓我專注在設計關卡板塊的大致形狀,而既然我沒有辦法靠幾何密度跟獨特視覺設計去驚艷玩家,所以我也不打算在這邊花費時間。
總之每一個這樣的板塊,搭配上面隨機生成的物件,就可以誕生一個獨特的戰鬥謎題。
我總共準備了三種可能會出現的物件:
- 柱子-會擋住所有東西,可以被破壞
- 矮欄-會擋住非飛行的單位,基本上可以當做動態生成空缺處的手段
- 陷阱-一堆炸藥
但當然說放棄思考,還是得設計一些條件限制,避免太糟糕的情境產生,破壞玩家體驗:
- 最多能生成物件的板塊數是房間板塊數開根號。
- 生成物件的板塊周邊至少要有六塊相鄰的板塊。
- 如果相鄰的板塊有生成物件的話,就不能生成。
- 出口和入口直接相鄰的板塊禁止生成物件。
總之這些簡單的規則似乎就能產生相當實用的關卡結構。
這些規則並不會產生無上限被記住的關卡配置,但是每個隨機配置的變化都會改變整個關卡的動線流向,馬上就構成了完全不同的戰鬥謎題等著被解決。
但當然這些規則寫得也比較鬆散,如果想要的話可以寫出額外檢測產生關卡性質的程式碼,例如說看:
- 整個關卡的可穿梭性
- 扣除掉陷阱周遭區域後算出來的安全範圍
應該也可以進一步引導產生出所想要的特定關卡類型。
關卡視覺 🔗
雖然我才提到因為無法提供精細建模而基本上不著重在裝飾關卡,但是我還是留了點希望能有驚喜感的設計。每個關卡都會有自己的特殊的地板形狀裝飾,這個視覺只有在有光線的時候才能被玩家看見,所以希望這樣的動態性質能讓玩家覺得有趣。