PTT評價

[閒聊] 創造一個小小開放世界:A Short Hike開發

看板C_Chat標題[閒聊] 創造一個小小開放世界:A Short Hike開發作者
dogluckyno1
(lucky)
時間推噓 7 推:7 噓:0 →:1

原文標題:創造一個小小開放世界:《A Short Hike》開發歷程分享

原文網址:https://igdshare.org/content/a_short_hike_postmortem

作者 KWL

《A Short Hike》是一款精緻的小型開放世界遊戲,玩家要扮演一隻名為 Claire 的小鳥,在一座以高山為主要地貌的小島上探索,過程中會碰上許多不同的角色與地景,當然也少不了收集任務等要素,最終目標是登上島上最高山的頂峰。

https://youtu.be/qsA5p0MKdoM

《A Short Hike》獲得2020年 IGF 的最大獎(Seumas McNally Grand Prize),銷售量也很亮眼,在同年的 GDC,遊戲作者 Adam Robinson-Yu 以《Crafting A Tiny Open
World: A Short Hike Postmortem》為題,回顧了這款遊戲的開發歷程。

https://i.imgur.com/mUrw9Ivl.jpg


在2017年時,Adam 離開了他軟體工程師的正職,投身獨立遊戲開發,在這之前,他只製作過一些免費小品遊戲。他著手開發一款規模與野心不小的 RPG,有著豐富的人物、場景,以及充滿特色的機制。但他在開發了大約一年後,遊戲中的許多要素仍無法定案,最終的願景也很不明確,很可能要再花上好幾年的時間,才有辦法完成這款遊戲。這帶給了他很大的壓力,因為這很可能是決定他能否在這產業存活的唯一一擊。

https://i.imgur.com/Doma194l.jpg


到了2018年底,Adam 決定讓自己休息一下,把那款 RPG 的開發放到一旁,做個完全不同的小遊戲來轉換心情,同時也當作是給自己的生日禮物。他把一些他覺得有趣的素材丟進Unity,拼出一個小小世界,讓自己可以操作角色在裡面跑來跑去。他將這個小遊戲的畫面錄成短影片放上 twitter 後,意外地收到非常多的迴響,反映了這個小作品有進一步發展的潛力。

https://i.imgur.com/xpm7tUYl.jpg


這也讓他面臨了一個抉擇:要繼續開發那款充滿野心的 RPG,還是先來完成這款小遊戲呢?

https://i.imgur.com/xYmQj49.jpg


同樣在2018年,Adam 剛好也接觸到幾款長度不長的好遊戲,像是《The Haunted Island,a Frog Detective Game》與《Minit》,這些遊戲證明了即使只有一兩個小時的遊戲長度,依然能夠帶給玩家滿足感,並在商業層面獲得一定成功,回顧了這些案例後,Adam 決定以小遊戲開發為優先。

https://i.imgur.com/1z6OEEhl.jpg


實際上,對於新投入獨立開發的人來說,小型專案本來就會是比較好的選擇,因為開發時程較短,相對的風險也較低,比起大型專案,也比較容易順利開發完成,學習到一次完整的專案流程,並且可以較快獲得收入。(而且,現代人買了遊戲根本沒時間玩,哪管你長短)

https://i.imgur.com/P4Q2gCHl.jpg


作為一個沒沒無聞的獨立開發者,並沒有什麼宣傳資源,最主要讓他人看到作品的管道就是 twitter,但要在一瞬間就有大量資訊從眼前快速滑過的 twitter 頁面上受到矚目,美術風格絕對不能太過平凡。Adam 是程式出身,比起畫圖,更擅長製作 VFX 與後製,因此當他在製作《A Short Hike》的時候,選擇嘗試用低解析度的畫面算繪,來配合他所想呈現的小小世界氛圍,而且這樣,建模與貼圖的精緻度也就不用那麼高,可以省時又藏拙。

https://i.imgur.com/S4NJrptl.jpg


要達到這種低解析度的像素風畫面,Adam 採用的手法是把攝影機拍到的畫面,輸出為一張低解析度的動態貼圖,再讓另一台攝影機專門拍攝這張貼圖,作為最終輸出顯示的畫面。記得 Filter Mode 要設定為 Point,才能夠具有點陣圖的效果。順道一提,Adam 是從rougeNoodle 製作的「GBCamera for Unity」外掛學到這種手法的。

https://i.imgur.com/qB9Pv7p.jpg


一開始,他想不到該怎麼樣為遊戲配色比較好,後來他以「秋天」、「自然景色」、「加拿大」為關鍵字找了一些參考照片,並且直接從中取色,建立起遊戲的整體色盤。

https://i.imgur.com/gN4ZG1Rl.jpg


不過,當 3D 物件經過光影算繪後,並不一定都能有理想的結果,可能會出現色階過多、明暗不均等問題,因此他自己撰寫了一個算繪外掛,讓每個物件的陰影覆蓋程度;色階多寡等參數都可以獨立調整,原則上讓所有物件調整至色彩深度一致、彷彿 Flat Shading的感覺。畢竟如果讓低解析度又像素化的畫面有著太多的色階,就會讓物件看起來很難看。

https://i.imgur.com/qJ7bgoBl.jpg


這邊 Adam 也展示了他的 lighting ramp 製作演進,首先是將色階限定到4階,接著是限制色彩變暗的程度,最後是讓第二階的亮度也提升到與第一階相等,讓大多數情況下,算繪出來的顏色都會保持色盤的原色。

https://i.imgur.com/DuWPoMC.jpg


採用單色平塗的美術風格還有個好處,就是可以很快速的製作出 UV map,他把會用到的純色拼成九宮格型的材質貼圖,接著只要把各部位分配到指定的顏色上就可以了,非常省時省力。

https://i.imgur.com/Ecob4mll.jpg


而且還可以快速切換不同配色的九宮格貼圖,試驗各種配色效果。

https://i.imgur.com/9UcU29El.jpg


再來,是要善用後製特效。《A Short Hike》的遊戲畫面在還沒有加上後製特效時,遠景看起來非常雜亂,也會讓畫面失去焦點。

https://i.imgur.com/m6g1McDl.jpg


所以他所做的第一件事,是加上霧的效果,在視覺上淡化遠方的物件。

https://i.imgur.com/q0Pab8kl.jpg


但完全看不到遠景也不是好事,接下來,他加上了邊緣偵測特效,讓物件邊緣加上線框,讓遠景可見卻不會過於醒目,呈現出一種特殊的氛圍。而其實這個效果,是他在隨意測試了許多後製特效外掛時,意外得到的絕佳效果。

https://i.imgur.com/7iFTYptl.jpg


最後一步,是在做額外的調色,像是畫面左邊小屋內部,他在原本偏暗的陰影裡加入了一點藍色,讓場景感覺起來更有生命力。

https://i.imgur.com/kyjYV4rl.jpg


Adam 對小團隊在美術製作上的建議總結如下:

.盡量發揮你的強項、實驗各種工具
.選擇美術風格時要考量工作流程與規模
.你所碰到的限制,反而很可能會造就出你的特色!

《A Short Hike》的雛型與視覺設定在2018年12月就差不多完成了,他也獲得了Humble
Original 的資金,要把這個試作品發展成完整的遊戲,開發時程則是大約三個月。Adam設定了每個月達成一個里程碑的時程規劃,最後遊戲也如期完成,Adam 自認為他在這個專案的時程掌控上做得不錯。

https://i.imgur.com/zvfgmXS.jpg


在短時間內要完成一款遊戲,Adam 認為重點是設定好哪些部分是必定要完成的核心機制、哪些部分則是行有餘力再做的延伸目標。有些機制少了遊戲就無法成立,這部分當然是優先投注時間,有些機制加入會讓遊戲更有趣、但沒有也不影響,這部分就晚點再做,做不到也沒關係。實際上《A Short Hike》最初於 Humble 平台上首發時,確實有很多屬於延伸目標的功能被捨去,要到之後這遊戲在 Steam、itch.io 等平台上架時才有時間再加上去。

https://i.imgur.com/CuELcSQl.jpg


Adam 採用了簡易化的 Scrum 開發流程,每天與每週都會用 Trello 來確認與安排接下來的工作進度。

https://i.imgur.com/SxsLob3l.jpg


除了採用比較省工的美術風格,他也藉由過往的經驗,使用了許多現成套件,例如它的對話系統是使用「Yarn Spinner」,這是他先前在製作 RPG 時就採用的系統,已經有一定的熟悉度,因此拿過來繼續沿用。

https://i.imgur.com/4qJxaAgl.jpg


在輸入控制上,他使用的是「Incontrol」,可以輕鬆解決各種輸入裝置的支援;「
Cinemachine」則是他用來操控鏡頭的攝影機模組,這能很快速的創造動態運鏡效果。
Adam 也有自己寫的一套常用 Scripts,讓他可以在許多遊戲之間重複使用。

https://i.imgur.com/mhvqMEh.jpg


連美術素材、物件模型,他也從先前的 RPG 遊戲沿用了不少,因為算繪方式的不同,看起來具有明顯的差異。

https://i.imgur.com/MSVpO4F.jpg


遊戲內的地景,他是直接在 Unity 內,使用內建的地形工具製作,這讓他可以很快的創造與測試整個遊戲世界。

https://i.imgur.com/EDWdvSWl.jpg


遊戲中使用了 Triplanar Shader,這個 Shader 可以自動依據模型表面的面向,自動呈現不同的材質貼圖,因此在建立或改變地景時,對應的貼圖就會自動產生、改變,而不用每次更改地形就手動調整貼圖。

https://i.imgur.com/q3CR2Nfl.jpg


地景上也是使用 Unity 內建的 Terrain Painging 工具,讓他可以畫出道路、沙灘等等地貌。

https://i.imgur.com/8CMBwHYl.jpg


Adam 也自製了一些工具,像是專門用來編輯瀑布與河流的工具,一開始他是在 Blender裡面建模之後再匯入 Unity,但這樣每次要修改都很麻煩,於是他就自己寫了一個可以在Unity 裡面直接編輯瀑布模型的工具。做這樣的工具當然會多花一些時間,但因為這功能很常用,長期下來還是會讓工作流程順暢省時很多。

https://i.imgur.com/LSZ1W1Ol.jpg


在製作遊戲的過程中,當然會發生一些 bug,不過比起開發時間花在修復 bug 上,他覺得把時間用在製作更多的內容上,才是比較重要的。只要不嚴重影響遊戲,玩家們對於小瑕疵其實並不會那麼在意,特別是對獨立遊戲,比較容易給予包容。

https://i.imgur.com/iVY3Vywl.jpg


關於開發時程控制的簡單重點整理:

.設立里程碑並且隨時更新你的時程估計
.規模上保留一點不可預期性
.重複運用既有的知識、工具與素材
.如果工作流程尚有必要就自己製作工具
.你不需要糾結在修正所有的程式錯誤

《A Short Hike》是一款小型的開放世界遊戲,為什麼選擇開放世界遊戲這樣的類型呢?因為 Adam 想做一款「迷路也是一種遊戲玩法」的遊戲,他認為擁有隨時想往哪走就往哪走的自由,能夠為遊戲增添不少樂趣,特別是每次選擇沒走過的路走、就會碰到新東西的新奇感,是他最想呈現出來的感覺。

https://i.imgur.com/kIjw7aP.jpg


Adam 直接在 Unity 裡面建構出大致上的場景、決定整體規模,並且持續調整、確立哪些地形與地點是需要的,最終建構出遊戲世界的整體樣貌。

https://i.imgur.com/rAAt4Y3l.jpg


他將玩家的起點安排好,並且用山壁將附近的區塊擋起來,讓玩家只能往左下方的村落走,並在那邊遇到能夠引導玩家的 NPC。玩家要在這個教學區域內通過數個任務,取得能夠增強行動力的金羽毛後,才有辦法攀上更高的山壁,離開新手教學區。

https://i.imgur.com/D2EU7y4l.jpg


在離開初始區域後,遊戲的路徑就產生了分歧,玩家可以自由選擇要往哪邊走、並且一路往上爬,但不論當初選擇從哪個方向上山,最終都會走到一個共同的交會點。

https://i.imgur.com/IpaRvKrl.jpg


這個交會點,就是通往遊戲最終挑戰的起點,玩家會意識到如果不收集到夠多的金羽毛,他們將無法達成遊戲的最終目標,因此,他們必須回頭,去探索其他未走過的路徑。在這過程中,遊戲內也安排了很多的捷徑,讓玩家可以更加輕鬆地在場景間穿梭,同時,當玩家覺得他們發現了遊戲正規之外的路徑時,也會感到非常愉悅。

Adam 在給玩家測試遊戲時發現,如果玩家一直處於探索狀態、太久沒有碰到新事物時,他們會覺得厭煩,另一方面,如果玩家來到了一個新地點,裡面一次出現了許多 NPC,玩家卻也會懶得一個個跟他們互動,因此遊戲節奏的調整非常重要,必須要設法讓玩家每一小段時間就可以碰到新事物,但又不能夠讓 NPC 或任務在短時間之內一次出現太多。

https://i.imgur.com/EXjiX2Ll.jpg


不過呢,玩家永遠不可能全都照著開發者預想的路徑或步調來進行遊戲,本作在給玩家測試時,就碰到許多玩家一開始就不照著他所設想的、照著道路指引走到左下方的教學區,而是會跳入海裡,往其他方向前進。他認為這是玩家們的天性使然,喜愛挑戰規則、測試系統的底線、探索場景的邊界,因此,他也在起始點附近的海域裡,安排了幾座小島,滿足這類玩家愛探索的個性。

https://i.imgur.com/6go3ZxOl.jpg


意外的是,有些玩家不會在近海探索那幾座小島後就滿足,還會繼續往主要島嶼的背後前去,這就會造成問題了,因為島嶼背面不但沒多少有趣的東西,還可能讓玩家迷路而回不到該去的教學區域。

https://i.imgur.com/a4S2tzhl.jpg


他最後想出來的解法是,他在島嶼背面設置了一個顯眼的礦坑山洞,吸引玩家往那邊前去,玩家一旦進入了山洞,就會被礦車送到初始的教學區域!

https://i.imgur.com/eUXOpXa.jpg


這不但解決了玩家不走正規路徑的迷路問題,還會讓玩家覺得是發現了祕密通道,而不是被強制中斷探索、破壞遊戲的沉浸感。

https://i.imgur.com/vSELhY0l.jpg


有一些實用的方法可以來引導玩家的行動方向。首先是提供提示,除了明確的道路、路標,也可以用「麵包屑」類型的物件來提示,讓玩家知道哪邊可能有路可走。

https://i.imgur.com/WJP0uIHl.jpg


接下來是使用柵欄,適度的遮擋、阻止玩家前往還不該前往的地方。《A Short Hike》遊戲中很少使用字面上的柵欄,而是用不同高度的山壁,來限制玩家的行動範圍,玩家必須要取得夠多的金羽毛,才能登上更陡峭的山壁。用山壁來作為柵欄不但顯得較為自然,也與遊戲的主要目標一致。

https://i.imgur.com/n7wYQbal.jpg


另一個技巧,Adam 自己命名為「不讓人察覺的重複」。舉例來說,遊戲中有個道具是玩具鏟子,玩家要將其交換為真正的鏟子,然後就可以在遊戲中的許多地點挖掘地面,這並非絕對不可缺的道具,但作為遊戲設計者,當然還是希望玩家能夠取得這個道具。

https://i.imgur.com/tmnuCLOl.jpg


一開始,他將玩具鏟子放在一條他認為是必經之路的地上,但意外的,有些測試玩家就是會繞過這條路,但他還是不想把玩具鏟子強制塞到玩家手上去,因此,他的做法是,在圍繞著教學區域的眾多道路上,都放了玩具鏟子,讓玩家怎麼都不會錯過,而當玩家拿起了其中一把玩具鏟子,其他鏟子就會消失,讓玩家「發現」玩具鏟子這件事顯得很自然,而不會知道這其實是強迫中獎。

https://i.imgur.com/vT5TykCl.jpg


最後,就是教學必須要自然的灌注給玩家。在《A Short Hike》裡,攀爬是不可或缺的動作,但這個動作的操作方式,是要讓角色持續貼近牆面、再按住 Z 鍵,對不熟悉遊戲的人來說,不是一個自然而然就能做出的操作。像這種重要的教學訊息,是可以直接從 NPC口中說出,但光是這樣在對話裡看過一次,玩家其實很容易忘記。

https://i.imgur.com/IUE1H34.jpg


Adam 就在教學區域裡面擺放了一個攀岩場,那邊會有 NPC 邀請玩家加入攀岩俱樂部,並且會指導玩家練習數次攀爬,讓玩家記住這個操作。而就算玩家只是路過、不去跟 NPC
對話,至少也會看到有個 NPC 一直在那邊攀岩,讓玩家知道這個遊戲裡存在著攀爬動作,當自己也想要攀爬卻不知道該怎麼操作時,自然就會想要來看看 NPC 是怎麼做到的。

https://i.imgur.com/2kK2chX.jpg


在接近頂峰的區域,也就是遊戲的最終區域,他加入了較多挑戰要素,玩家應該都可以感受到這裡的難度,比遊戲的其他部份明顯要來得高。在這邊,玩家身上的金羽毛會慢慢凍結,除非回到溫泉或材火等熱源附近,不然無法回復,這使得玩家必須善用有限的金羽毛能量,找出理想路徑與中繼點,而不能靠消費大量的金羽毛硬闖。

https://i.imgur.com/JLzq5g7l.jpg


在登頂的路上,有一條直通終點的道路,但一路走上去後會發現,如果玩家只持有七根金羽毛(能攀上最終區域的最低數量),將會在路上耗盡所有金羽毛能量,必需得再回頭找到更多金羽毛才行。這種讓玩家看到終點明明就在前方,自己的能力卻差一點才能到達的感覺,將會強化對這段最終挑戰的執著。

https://i.imgur.com/TPO7FQVl.jpg


其實遊戲原先設計的金羽毛數量並不多,但在經過玩家測試後,Adam 決定大幅增加金羽毛的數量,畢竟如果玩家從最終區域下山尋找金羽毛花費了太多時間,就會使得那份急於攻頂的心情消散掉。增加金羽毛的數量後,不但可以改善上述問題,還可以增加更多給予玩家正面情緒回饋的機會,讓遊戲玩起來更加愉悅。

再來是關於遊戲的對白寫作。Adam 自認為寫作是很困難的事,這在他製作 RPG 時就深深感受到,對白不僅要能夠講出一個故事,還要具有意義與表現個性,讀起來還不能無趣,這並不簡單。

https://i.imgur.com/lJDdpQjl.jpg


在製作《A Short Hike》時,他就決定拋開 RPG 典型對話的枷鎖,朝「自然對話」的方向寫作對白。他排除了傳統 RPG 式、會占掉四分之一個畫面的大型對話框,改用小小的泡泡對話框來顯示對白,句子盡量簡短、不使用逗號斷句──實際上,Adam 是在模仿現
代人使用文字通訊軟體溝通時的對話方式來撰寫與呈現對話。

https://i.imgur.com/vFwGdgV.jpg


同時,遊戲主角 Claire 也不是許多 RPG 裡會見到的那種「沉默的主角」,而會與 NPC一來一往的對話,畢竟比起讓 NPC 自言自語,雙人對話會更加自然,也更容易撰寫。然後,Adam 在撰寫本遊戲腳本時,就已經決定這不會是什麼情節峰迴路轉的嚴肅故事,對話甚至不會是遊戲的重點,而只是輕鬆的點綴,這也讓腳本寫起來比較沒有壓力。

《A Short Hike》是在 Humble 的遊戲訂閱服務 Humble Monthly 首次推出,玩家的反應很不錯,他整理了一些玩家的意見,加上自己想做與先前捨棄的新功能,在接下來幾個月時間內將遊戲內容改進,於 2019 年 7 月在 Steam 與 itch.io 上架發售。

https://i.imgur.com/HkHxUael.jpg


他的最主要宣傳管道依然是 twitter,他製作了一些有趣的 gif 小動畫來宣傳遊戲,效果確實也相當不錯。由於遊戲已經透過 Humble Monthly 被許多人玩過,因此他也透過觀察玩家的反應,挑選出最受玩家喜愛的角色或橋段,來做為宣傳時的主要素材內容。

https://i.imgur.com/vzCFBLLl.jpg


Adam 也製作了本遊戲的 Press Kit(新聞素材包),寄送給對類似風格遊戲有興趣的媒體記者、專欄作家,例如先前報導過《a Frog Detective Game》並給予好評的作家,就很有可能也會對《A Short Hike》有興趣,並為其撰寫新聞或評論。

https://i.imgur.com/lpMhsLjl.jpg


Adam 知道,《A Short Hike》步調緩慢,又缺乏深度的解謎或刺激的戰鬥,絕對不會是一個所有人都喜歡的遊戲。因此,他也要避免玩家因過度期待而導致的失落感,在宣傳標語上,就強調這是款「關於爬山的小小探索遊戲」,甚至直接在遊戲名稱上放了「Short」這個字,減免玩家對遊戲長度的不滿。

https://i.imgur.com/btC84A4l.jpg


在遊戲啟動時,會有一段「遠離城市、到山上去度假」的演出,這一方面是在掩蓋遊戲的資料載入,也是為遊戲的故事做背景鋪陳,同時還有個用意,就是向玩家傳達這是款步調輕鬆、遠離紛爭、宛如度假的遊戲。

https://i.imgur.com/l6AT7XY.jpg


《A Short Hike》在 Steam 上架後,獲得了相當好的銷售成績,玩家們給予了極度的好評。在首周,遊戲 Steam 頁面主要的外部流量來源是 twitter。

https://i.imgur.com/IWzS83Fl.jpg


而他推測,這些大量的外部造訪數據,也影響了 Steam 的演算法,讓他的遊戲在 Steam商店內有較高的曝光機會,因此在首周,更多的流量來源,是 Steam 商店內引導而來,而這對他遊戲的銷售非常有助益。

https://i.imgur.com/Wg7QH7j.jpg


以上就是 Adam 對於《A Short Hike》的分享,希望對大家有幫助!


--
清廉正直射命丸文,世界第一可愛
https://i.imgur.com/XqOptr2.jpg

https://i.imgur.com/zGCOdHq.jpg
https://i.imgur.com/SJR03hx.jpg
https://i.imgur.com/nUbq2HQ.jpg
https://i.imgur.com/0yn2DP5.jpg

--

※ PTT 留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.244.184 (臺灣)
PTT 網址

g22gs05/01 22:42推 學到很多

dreamnook05/01 22:43這個GDC有看 非常精彩xD

mosqutiolamp05/01 22:45真厲害

ADYex05/01 23:00當初玩就覺得這遊戲很精良,但沒想到背後還有這麼多設計跟

ADYex05/01 23:00考量。感謝分享。

j24805/01 23:17

appie116169505/01 23:36太讚了!

knetch05/02 11:40好文