從「帶團隊領軍作戰」到「單人開發游擊」的心路歷程
我與「深夜拉麵」開發之旅的起點
寫在最前面
一句話給想看懶人包的讀者:
我偷偷做了一款遊戲,
還上架了試玩版快來玩喔!
Steam商店連結:
請大家幫忙加入願望清單!(等上市後不買也沒關係有加就好XD)
有興趣也可以玩玩看試玩版本!
還有各種社群平台連結,有興趣的請多關注!
- Cointinue Games Twitter(X): https://twitter.com/CointinueGames
- Cointinue Games 臉書: https://www.facebook.com/CointinueGames
- Cointinue Games IG: https://www.instagram.com/cointinuegames
- Discord 伺服(快來找我聊天): https://discord.gg/gTHHZRKYTu
- Cointinue Games 官網: https://www.cointinue.games/
(P.S.因為目前一個人在經營所以這些帳號的更新速度會有點慢XD)
正文開始
好,簡單來說呢,筆者業餘時間開發了一款敘事遊戲小品,然後已經在Steam上面公開了商店頁面以及試玩版本。
會有這款作品的出現,主要還是因為我從入行到現在,有研發到上線的遊戲產品幾乎是「一款也沒有」啊……
雖然說營運類遊戲真的能完成並上線的專案其實不多,但我個人實在是運氣有夠差的那種。
無論是開發階段就夭折,或是上市測試半年成績不佳直接關服,又或著是母公司大老闆被毒殺(恩對我沒有在開玩笑,有興趣的自己搜尋一下關鍵字)導致子公司停止營運等等。
入行到現在七年,才驚覺到自己完全沒有在遊戲世界留下任何足跡欸。(雖然是有在寫文章啦,但這跟遊戲產品還是不太一樣的)
和大學麥塊時期一學期做個兩三張地圖,或是被我當作畢業設計的「盤靈古域」相比,還真是有種淒涼感。
所以呢,秉持著遊戲人的「做自己的遊戲」的夢,最後決定以SideProject的形式,做一款自己喜歡,並能負擔得起的遊戲。
至此,原神……喔不是
開發計畫,啟動!
啊......所以我應該要做什麼遊戲?(毆)
為此特地盤點了一下自己的技能樹:
- 擅長數值和機制導向的遊戲設計
- 營運遊戲的付費設計
- 沙盒類遊戲設計
- 中型團隊研發製程和專案管理
- 中大型預算專案的經濟數值規劃
- 中……
好吧,也因為筆者個人從入行以來從事的都是手機營運研發專案,導致我對單機類遊戲的開發經驗是比較欠缺的。(甚至還不如大學時代麥塊地圖來的豐富)
畢竟數值或機制設計,在小規模甚至程式需求不能太高的情況下,毫無用武之地。
考慮良久,最終還是決定做回以往的老本行:
那就來說個好故事吧。
深夜拉麵的誕生
雖然決定要做敘事類型的遊戲,但方向還是太過於廣泛了……
一方面也想順便熟悉一下Unity引擎的開發環境,所以不太想用現成的二次元AVG編輯器來做。
最終,我決定走類似 VA-11 Hall-A:賽博朋克酒保行動 和 Coffee Talk 這類遊戲類型,以對白和一些簡單的交互操作來呈現故事。
選擇這樣的遊戲類型,理由有三個:
- 交互操作能調節對白敘事的節奏,讓故事不會太無聊。但說白了,這其實是因為我自己本身對純文本(例如小說)不是非常有自信,有更多輔助工具能調整節奏以及增加帶入感,會更容易呈現我腦海中的故事。
- 較為簡單的操作模式,在開發門檻上不會太高,剛好可以作為提昇程式技能的目標。
- 可以限縮場景數量,最大程度壓低成本。(畢竟是 Side Project,沒有太多預算可以請美術繪製資源)
在已經決定了程式和企劃都自己來,只有美術外包的前提下,這樣的選擇應該是最符合當前能負擔的「技術」和「預算」上限了。
至於題材,從甜品店、小火鍋店或是深夜的便利商店等都考慮過,最後想回到這類型遊戲的靈感始祖:「深夜食堂」,在重溫了東京版的影集之後,就決定設計成日式、木質調且溫馨的深夜氛圍。
因此才決定了「深夜的拉麵攤」這樣的開發方向。
跌跌撞撞的開發歷程
俗話說:
技術沒有,肝來湊(不,沒有這種說法)
嗯哼,更正一下,應該是
技術不夠,GPT來湊。
沒錯,程式底子不夠紮實,那就有請24hr值班,不管怎麼問都超有耐性回答的GPT大神來坐鎮啦。
在這邊要順便分享一下,雖然很多問題GPT不一定能給出正確答案,但在基礎的程式碼撰寫這塊,準確率還是很高的。
筆者個人雖然有一些程式語言基礎,但最大的問題是對Unity語法的不熟悉,但在GPT的教學下,可以很快速的做橫向連結。(查詢API,API的使用範例,資料結構的定義,以及Unity引擎的運作邏輯與Lifecycle等等)
在編碼的學習速度上,簡直有如神助,我都擔心以後巨X之類的程式補習班是不是要招不到學生了。
不過當然也不是這麼順利,尤其GPT在程式碼部份的講解很清楚,但在引擎的運用上(例如掛載腳本,拖拽或創建prefab等)由於只能用文字描述,加上Unity每個版本的操作與項目都有微調,實際上引擎環境的細節還是需要很多時間去查核的。
但無論如何,總算是可以開始開發的程度啦。
一切都從逐字顯示開始
有了GPT協助的我,滿心歡喜的請它給了我一個「逐字顯示」的程式碼範例。並且把這個範例放到場景當中,於是就有了這個畫面:
將將!文字會一個一個慢慢顯示出來耶!就跟那些Unity插件或是AVG遊戲引擎一樣的完美效果……
錯!才沒有那麼簡單!
看似就只有逐字顯示,但實際上還包括:
- 逐字顯示的間隔要能控制(不同語言語速是不同的)
- 玩家短時間連點保護(避免連點太快遇到很短的句子直接被點掉)
- 遇到標點和刪節號要額外停頓
- 音效的播放控制
- 人物立繪表情等視覺上的配套功能
……等等各種很細節很細節的東西。
尤其是對於一個以對白為核心玩法的遊戲而言,如果這個系統用起來不舒服,那就完蛋了。
所以逐字顯示系統其實是我從一開始到試玩版最後一刻都還在調整的系統之一,不斷的優化改進,最終才有現在試玩版本的效果。
接下來,該煮拉麵了
遊戲中玩家就是在聊天區和料理區交替進行操作,因此聊天區的開發差不多告一段落後,就進入料理區的實做階段。
然後我就遇到了另一個大坑:
Steam遊戲都建議要有的:搖桿操作適配
這玩意兒搞我超久的超要命的我的天!(吶喊)
即便Unity有搖桿選取的自動導航功能(Navigation),搖桿操作還是讓我卡了非常之久,大概有一整個月都在處理這個系統……
要偵測搖桿並且做出對應的反應其實不難,在GPT的協助下很快就搭出了雛型。
麻煩的是UI層級的控制,例如「開新彈窗出來時,原本底部的介面不能被操作」等等,這在滑鼠控制很簡單的事情,在搖桿卻不是那麼回事。
最後還是寫了個底層UI邏輯讓所有的介面元件都繼承才算暫時解決。
人要衣裝佛要金裝
俗話說的好,遊戲也需要美美的玩家才玩的下去。
不過有鑑於筆者在大學時期就深刻的理解到自己不是美術那塊料,所以介面、場景和角色人物是選擇外包處理的。
這次在UI帶入的部份也是學到很多以往做純企劃工作不會碰到的東西,包含prefab製作、Atlas圖層、UI組件的拆分和顯示方式,以及考量到搖桿相關功能的呈現等等。
工欲善其事
除了GPT之外,也運用了一些以往在專案團隊內學的的小技巧,算是有減輕不少負擔。
例如 Git 搭配 Fork(或Sourcetree)做版控,Trello做簡單的工作項紀錄,一些插件做Excel配置表的轉檔等等。雖然跟直接遊戲內容比較沒有相關,但老實說,如果沒有這些經驗,在開發上整體效率大概會降低個一半吧。
小結
有些坑真的是要自己踩過才會知道(嘆)。
這次算是把遊戲從 0 到 100 重新磨了一次,除了學會不少技能之外,也對想做一款自己的遊戲的這個念想有了交待。
不過!遊戲還沒做完呢!
功能雖然開發的差不多了,但劇本還沒寫完,也還有很多優化等著去做……
所以懇請大家給個支持吧,幫小弟我加個願望清單,感激不盡!
(看在我寫了那麼多免費文章讓大家看的份上XD)
Steam商店連結
若有餘力也請幫我分享一波,非常感謝~
還有各種社群平台連結,有興趣的請多關注!
- Cointinue Games Twitter(X): https://twitter.com/CointinueGames
- Cointinue Games 臉書: https://www.facebook.com/CointinueGames
- Cointinue Games IG: https://www.instagram.com/cointinuegames
- Discord 伺服(快來找我聊天): https://discord.gg/gTHHZRKYTu
- Cointinue Games 官網: https://www.cointinue.games/
今天就先到這邊。
我是水狼,我們下次見。