打造小型開放世界:《短途旅行》剖析 | Crafting A Tiny Open World: A Short Hike Postmortem
- Kori
- 2022年5月10日
- 讀畢需時 11 分鐘
已更新:2022年5月16日
之前的文章有提到《A Short Hike》這款遊戲主要是由 Adam Robinson-Yu 一個人製作完成的,而 Adam 在 2020 的GDC (遊戲開發者大會 Game Developers Conference) 上有分享關於《A Short Hike》的製作過程以及給開發遊戲的小團隊或是個人開發者一些建議。在這裡將內容大致翻譯並分享給大家,而其中提到了一些 Unity 的相關內容,不過因為我沒用過 Unity,所以就直接按照講者在原演講中提到的名稱來寫。
如果還不認識《A Short Hike》這款遊戲的朋友可以左轉這裡,我先前寫的簡介文章!
這場分享會的內容大致分為以下幾點:
製作《A Shot Hike》的起因
開發美術風格
如何如期完成
關卡設計
撰寫文本
行銷及遊戲上市
影片長約 31 分鐘,如果想自己看影片聽原講者敘述的朋友可以往這裡↴
一、製作《A Short Hike》的起因 Shelving my main project
Adam 原本是軟體工程師,在 2017 年辭職搬回多倫多,並想嘗試全職製作獨立遊戲。當時 Adam 已經有製作過一些小遊戲了,因此他想藉此機會自己做個規模較大的遊戲。就在辭職的一年後,他開始製作一個 RPG 遊戲,和《A Short Hike》相比有更多角色、地圖、也包括了一些戰鬥機制。不過當時 Adam 對於正在製作的遊戲並沒有具體的願景,對於遊戲中的元素也還有很多不確定,開始意識到這款遊戲的製作一定會再花個幾年,但又希望自己能把握機會完成這個遊戲,在這樣的壓力之下讓他感到很焦慮。到了 2018 年 12 月,Adam 想讓自己休息一下,所以就先暫緩了原本在製作的遊戲,改做一個比較小的專案,也算是給自己一個聖誕節禮物,於是開始《A Short Hike》的製作。
一開始 Adam 只是將一些他覺得有趣的物件丟進 Unity 來打造一個小小世界,而這就成了《A Short Hike》的原型。不過他也很猶豫到底應該繼續製作它原本的 RPG 遊戲還是選擇製作《A Short Hike》,畢竟原本的 RPG 遊戲已經著手一年多了相較之下也有一些進展。不過當時他接觸到並玩了《The Haunted Island 青蛙偵探:鬼島》和《Minit》兩款小遊戲,受到這兩款遊戲的啟發,讓他體會到小遊戲也可以很成功,因此最後 Adam 決定開始製作《A Short Hike》。
在這裡 Adam 表示剛開始選擇製作小遊戲有一些好處:
風險較小 Less risk
較容易達成 More achievable
能早點推出遊戲,藉此學習,並得到一點收入 Faster release cycles
反正誰有那個美國時間打遊戲 Who has time to play games anyway

二、開發美術風格 Developing the art style
而在製作《A Short Hike》這款遊戲,Adam 首先決定開發此款遊戲的美術風格。一開始他把自己的作品放在 Twitter 上以聽取大家的建議,而製作這樣的小遊戲有一點很重要,就是要能在短時間內吸引玩家的注意力,不過對於小型開發團隊來說要製作具有吸引人的美術風格的角色既困難又很耗時,因此 Adam 決定先用他手上有的資源、自己會的技術來設計角色。他舉例自己無法做出太多關節和太複雜的角色,因此先嘗試讓角色和遊戲在自己現有的能力範圍內看起來有趣一點。
首先,由於 Adam 本身具有程式背景以及較多的 VFX ( 視覺效果 ) 和後製經驗,因此他想實驗看看用像素風格來繪製 ( 或渲染,原文:render ) 整個遊戲世界的美術風格,除了像素風格看起來很酷之外,他也只需要製作簡單的角色建模,進而縮小整個遊戲製作的規模。他使用了一個插件叫 GBCamera for Unity,如果有興趣的朋友也可以參考看看。


接下來是整體風格的顏色選擇及參考,他上網找了一些大自然的照片,並汲取照片上的顏色,讓他決定好遊戲的色調。雖然決定好顏色了,但在不同光線下可能會造成顏色失真,因此他寫了 Custom Unlit-ish Shader 來建立物件的陰影。演講中 Adam 也解釋了自己如何調整明亮度的階梯 ( 色階? ) 讓顏色看起來更接近原本選擇的色調。而決定好調色盤上的顏色讓他能使用 UV Mapping,也更方便製作角色建模。


Adam 提到他喜歡用後製效果為遊戲加上視覺上的亮光 ( visual flare ),例如水面的反光,這些可以在 Unity 的 Default Standard Assets Packs 中找到並免費使用。從影片的 7:53 - 8:41,他展示了在 A Short Hike 中加入的不同效果:Fog ( 霧 ) 讓前景突出 → Edge Detection ( 邊緣偵測 ) 讓背景更生動 → 最後進行 Color Correction ( 調色 )。




總結一下,給小團隊或單人遊戲開發者在能力所及範圍內製作遊戲美術風格的建議:
運用自己擅長的技能 Play to the strengths you have.
透過手邊可得的工具實驗看看 Experiment with the tools available to you.
思考美術風格會如何影響到遊戲製作流程及規模 Consider how the art style will affect your workflow and scope.
成果也許會看起來很獨特!The end result might look unique!

三、如期完成 Meeting the deadline
Adam 制定了彈性的遊戲製作流程,將要達成的項目分為遊戲核心以及延伸目標。若是沒有完成遊戲就無法運作的項目以及一定能達成的項目放在遊戲核心,而延伸目標內則是不確定能不能達成的支線項目,即使遊戲缺少這些項目依舊能保有趣味及可玩性。

至於制定死線,對 Adam 來說是能幫助他專注在把事情完成而不是要把所有事情做到完美。
不過他當然也希望能達成越多事情越好,因此偶爾也是需要抄點捷徑的。重複利用過去的知識、工具或物件,就可以為你省下不少時間,他舉例自己利用 Yarn Spinner 來處理遊戲的對話系統,由於在之前的 RPG 遊戲也是使用這個工具來處理對話,因此就可以直接套用先前建立好的工作流程。
在製作《A Short Hike》的過程中,Adam 也自己寫了一些自訂的工具,例如製作河流、瀑布的工具,不過自己寫出這樣的工具很耗時,因此他建議如果是工作流程上的需求,才需要這樣自己寫自訂工具。
最後至於修 Bug 的部分,Adam 認為不用急著去把每個 Bug 都修好,尤其是像這樣小團隊製作的獨立遊戲,有些玩家在遊玩時如果有發現任何 Bug 也會回饋給製作團隊知道。
在這裡 Adam 提到了一項工具 — Scrum Board,Scrum Board 是一個將工作視覺化的工具,把要做的事情分成 To Do ( 未執行 )、Doing ( 正在執行 )、Done ( 已完成 )。如此一來就能清楚知道目前在執行的專案有哪些項目要做,哪些正在進行,哪些已經完成了。

總結一下如期完成的秘訣 Getting It Done On Time:
設定目標並隨時更新評估 Create milestones and update your estimates.
考慮到製作範圍內的不可預測性 Account for unpredictability in your scope.
重複利用過去的知識、工具和物件 Reuse knowledge, tools, and assets.
在工作流程需要時可以自己做自訂工具 Create tools when the workflow demands it.
不需要修復每一個Bug You don’t need to fix every bug.

四、關卡設計 Lessons in level design
而為什麼決定把《A Short Hike》打造成開放世界呢?Adam 希望能讓玩家沉浸其中,自由選擇要往哪走,並呈現一種在探索中總有更多新發現的感覺。
如果有玩過《A Short Hike》就會知道,遊戲中主要是透過「收集金色羽毛」作為是否能更深入探索新區域的條件。收集羽毛相當於增加體力值,收集到的羽毛越多,能拍打翅膀往上飛或是攀爬岩壁的時間就越長,由於是一個爬山遊戲,越高的地方就需要越多羽毛才能抵達,因此玩家多少需要在島上探索,以收集更多羽毛才能到達山頂。
Adam 表示自己在地型設計上有幾條正規的路線,但同時也有一些捷徑,例如一些奇怪的坡道或是其他小路,讓遊戲保有一定的自由度,因為他認為在遊戲中能找到屬於自己的路徑或是不照著遊戲規定的路線走是一件開心且讓人滿足的事。不過由於大致上還是有規定的路線,因此也比較容易控制玩家的遊戲體驗,再來就是要控制遊戲的節奏,規劃好讓玩家自由探索的區域以及可以對話的 NPC 在地圖上的分布。
但是玩家當然不會這麼聽話,在遊戲測試期間,他發現雖然遊戲一開始的地點只有一條明顯要讓玩家走的道路,不過很多玩家卻直接衝進海裡 ( 我也是其中之一XD ),也許想測試看看角色能不能游泳,或是測試遊戲地圖的邊界在哪裡,甚至有些玩家直接朝反方向走,這就成了 一個問題,如果不按照預定路線走的話,可能會迷路或是錯過一些 NCP 的新手教學對話。為了可以將直接往反方向走的玩家導回正道,Adam 在反方向的途中設計了一個洞窟吸引玩家注意力,而這個洞窟就會直接將角色傳送到一開始玩家該去新手教學的地方。就算玩家對洞窟沒興趣也沒關係,畢竟遊戲的地圖就是個島,總會繞回原本的地方。


一些讓玩家走上正途同時又不會有逼迫感的小撇步 Tips For Keeping the Players On Track:
提供引導 Provide Guidance,例如剛剛提到的洞窟
麵包屑 Breadcrumbs,例如放在道路上的錢幣或道具
地標 Landmarks
道路 Paths
路標 Sings
陡峭的地形 Inclines
門 Use Gates,限制玩家可以活動的區域直到取得特定道具或是學會特定技能
懸崖 Cliffs,結合收集羽毛的條件達到類似門的效果
無聲的重複訊息 Silent Repetition 遊戲中 Adam 在某條路上放了一個玩具鏟子的道具,是為了讓玩家拿去和 NPC 交換成真正的鏟子,接著就能在地圖上的挖掘點挖東西,不過一開始他發現很多玩家會略過他放置的玩具鏟子,也許是沒看到或是根本沒走過那條路,因此他最後在一開始的教學區域內分散放置了五個玩具鏟子,只要玩家撿起其中一個,其餘的四個鏟子就會消失,不僅能保證玩家一定找得到,也能讓玩家覺得是自己發現了鏟子。
提醒玩家 Prime the Player 遊戲中有一項動作是攀爬岩壁,由於攀爬岩壁的動作對於玩家來說很不直覺,因此 Adam 不僅在 NPC 對話中提醒玩家攀爬的方式,也在教學區中設置一個小型攀岩場教玩家如何攀爬岩壁,同時也希望在玩家在看到其他 NPC 攀爬時能激起玩家的興趣並嘗試攀爬。

最終區域的平衡 Balancing The Final Area
Adam 希望將最終區域難度提升並設計成類似需要解謎的區域,因此在《A Short Hike》中的最終區域 ( 即為山上更高的區域 ) 因海拔較高天氣寒冷下著雪,因此玩家收集的羽毛體力值消耗後就無法恢復,會被凍住,需要回到營火旁或是泡進溫泉中才能恢復,如此一來玩家就無法直衝山頂,需要計畫好路線尋找可以恢復羽毛的地方才能抵達山頂。
山頂上 Adam 設計了一條明顯的路徑可以通往山頂,不過若是羽毛沒有收集到一定數量這條路其實是上不去山頂的,這條路的用意是為了讓玩家能看見終點,並重新思考上山路線。

五、撰寫文本 Writing
對於 Adam 來說,撰寫文本是一件相對困難的事,在撰寫先前 RPG 的文本就讓他卡關很久,他也希望能寫出一個好的故事,有意義或至少有趣好笑的對話,因此他在製作 A Short Hike 時就稍微改變了一下策略,讓撰寫文本不那麼困難。
首先他將角色的對話都寫成輕鬆的日常對話,用對話小泡泡並句子中不加入標點符號的方式,就像我們平常用 LINE 等通訊軟體傳訊息的方式來呈現。
再來他把主角 Claire 設計為會講話的角色,這樣就能輕鬆形成日常對話了,相較於 Adam 先前製作的 RPG 遊戲中的主角則是沉默的角色,當然,對話就是會有兩個人一來一往。他也建議可以請其他人來看看自己寫的文本,如果有發現不通順的地方也可以幫忙修改。
最後 Adam 提到這次在撰寫文本上就沒有給自己太多壓力,就用一個好玩、即興創作的方式來寫,也不把遊戲重心放在對話上,就讓他比較容易持續推進下去。
六、行銷及遊戲上市 Marketing and release
最初《A Short Hike》是透過 Humble Original 募資發行的,接著在後續幾個月持續更新,最終上架到 Steam。Adam 主要是透過 Twitter 來宣傳《A Short Hike》,他自己用遊戲內的場景製作了一些有趣的 GIF 小圖,分享關於遊戲的內容或是製作相關的訊息。對他而言,在 Twitter 上宣傳遊戲的功效蠻不錯的,有些人會在上面給予回饋,或是還沒玩過的人看到也會就此提起興趣,同時看到大家對他的遊戲感興趣也是他的動力來源。
Adam 也準備了 Press Kit ( 宣傳資料包 ) 並寄給一些寫過和他的遊戲性質相似遊戲新聞的記者,希望他們也能對 Adam 的遊戲感興趣並寫一篇報導。接著他也聯絡一些在 Twitter 上對《A Short Hike》感興趣的人,其中一部分的人在上市的那週幫忙寫了文章介紹他的遊戲。


設定玩家的預期 Setting Expectations
Adam 認為《A Short Hike》不是一個真的適合所有人玩的遊戲,這是一個步調很慢,裡面也沒有真的要解謎或是戰鬥元素的遊戲,因此他想確保玩家在玩之前都能知道,他們才不會有過多的期待,並在玩了之後感到很失望,因此 Adam 一開始就注意各個方面的呈現,甚至就直接在遊戲名稱裡加一個 Short 字。同時他也希望玩家在玩的時候可以抱著一個和遊戲本身性質相同的心態,因此在遊戲的一開始就先跑一段對話,交代主角只是想短暫逃離城市的喧囂,因此玩家抱著放鬆的心情玩就可以了。

遊戲上市
最後,遊戲在 Steam 上推出之後,Adam 表示大部分的流量來自於 Twitter,可能因此也讓 Steam 的演算法注意到,在 Steam 上的觸及也變多了,在推出的一週,Steam 上的流量來源都是來自於 Steam 本身,也就是從 Steam 自己內部的遊戲推薦過來的。


總結 Summary
最後來幫大家總結一下 Adam 分享的重點:
剛開始選擇製作小遊戲的好處
風險較小 Less risk
較容易達成 More achievable
能早點推出遊戲,藉此學習,並得到一點收入 Faster release cycles
開發美術風格
運用自己擅長的技能 Play to the strengths you have.
透過手邊可得的工具實驗看看 Experiment with the tools available to you.
思考美術風格會如何影響到遊戲製作流程及規模 Consider how the art style will affect your workflow and scope.
如何如期完成
設定目標並隨時更新評估 Create milestones and update your estimates.
考慮到製作範圍內的不可預測性 Account for unpredictability in your scope.
重複利用過去的知識、工具和物件 Reuse knowledge, tools, and assets.
在工作流程需要時可以自己做自訂工具 Create tools when the workflow demands it.
不需要修復每一個Bug You don’t need to fix every bug.
關卡設計
提供玩家引導 Provide Guidance
門 Use Gates,限制玩家可以活動的區域直到取得特定道具或是學會特定技能
無聲的重複訊息 Silent Repetition
提醒玩家 Prime the Player
撰寫文本
輕鬆的日常對話
會講話的主角
請他人來閱讀看看
行銷及遊戲上市
利用社群軟體如: Twitter
Press Kit 宣傳資料包
設定玩家的預期
由於原影片有 30 多分鐘因此內容相對也多一點,感謝你一路閱讀到這邊!雖然我自己不是遊戲開發人員,單純只是玩了《A Short Hike》後看到這部影片也學到了一些東西,才想試著翻譯並分享給大家。如果你有其他意見或想法歡迎在下面留言!
(圖片來源: GDC Youtube 截圖)
May 10, 2022
Comentários