你好,我是 Makihiro(@makihiro_dev)。
遊戲開發真的很辛苦。外面常常會聽到這種說法:
想做遊戲的人有 1000 個
真正開始做遊戲的人有 100 個
能持續把遊戲做下去的人有 10 個
真正把遊戲完成的人只有 1 個
遊戲開發就是難到會被這樣形容。
這篇文章會根據我的遊戲開發經驗,來解說把遊戲做完的訣竅。
不過在那之前,我先稍微寫一下自己的遊戲開發經歷。
作者的經歷
我的遊戲開發資歷有 6 年。我是獨立製作遊戲。
前 5 年我完全沒有辦法發佈任何一款遊戲。這段期間裡,有超過 10 個專案化成泡影。
然後到了第 6 年,我終於成功發佈了第一款遊戲。
https://twitter.com/makihiro_dev/status/1234444358067216387?s=20
那麼,接下來進入正題。
遊戲不會完成
首先,我想先打破一個「做不完遊戲的人」大概會有的誤解。
遊戲是不會完成的。
在做遊戲時,腦中會一直冒出「這個也想做、那個也想做、如果把這裡改好一定會更好」這類想法。就連只是個小型迷你遊戲,只要開始做,點子也會源源不絕地冒出來。
我已經發佈的《Treasure Rogue》,到現在仍然還有超過 50 個任務沒有做完。其中大多數都是在發佈之後才冒出來的。等我把這些任務做完時,大概又會再冒出新的 50 個以上任務吧。
只要你還在做遊戲,就請把這些任務當成會無限冒出來的東西。
遊戲開發就是無限任務地獄。
遊戲開發沒有真正的完成。
讓遊戲完工

既然不存在所謂的「完成」,那就改成把遊戲完工吧。
說穿了,就是讓它達到「最低限度的遊戲迴圈、最低限度的內容、最低限度的圖像表現,以及至少能玩起來的狀態」。
只要做到這一步,我認為就已經可以發佈了。倒不如說,如果不在這個階段發佈,你就會被無限任務地獄困住,所以還是發佈比較好。
實際上,《Treasure Rogue》就是在「最低限度的遊戲迴圈、最低限度種類的敵人、道具與地圖、最低限度的圖像表現」這種狀態下上架到商店的。
老實說,以 Roguelike 遊戲來看,它的內容明顯不夠豐富,但總比陷進無限任務地獄、最後連發佈都做不到要好。
而且最該避免的事情,就是不去定義什麼才算完工。
我自己就是這樣的人:不去定義什麼才算完工,持續追逐那個模糊的完成幻影。只要這麼做,就會被無限任務地獄困住,遊戲永遠也不會完工。
開始做遊戲時,請先具體訂出「做到這裡就算完工」的標準。
總之,先把遊戲做完並發佈吧。
已經發佈的爛遊戲,比沒有發佈的神作更有價值。
遊戲無法完工的原因
接下來我會回頭檢視那些過去化成泡影的專案,整理出「遊戲無法完工的原因」。
消耗 MP 的工作太多

人能用在工作上的 MP 是有限的。一旦 MP 不夠,就算你心裡想做,腦袋和身體也會因為疲憊而動不起來。
所以,請盡可能壓低 MP 的消耗。
至於「什麼情況下會消耗 MP」,每個人都不一樣,所以沒辦法一概而論。
以我自己來說,「建模」和「做關卡」特別消耗 MP,所以我會盡可能不要把這些工作放進遊戲開發裡。
- 如果不擅長建模,那就盡量用簡單的模型解決。
- 如果不擅長做關卡,那就讓關卡自動生成。
總之,對你而言會大量消耗 MP 的工作,請盡可能壓到最低。
另外,接下來要介紹的很多原因,最後都可以歸結到「MP 消耗太高」。
失敗經驗
我曾經想做一款以攻略關卡為核心的解謎遊戲,結果因為做不出關卡而放棄了。
想使用自己從未用過的技術
只要用上自己沒碰過的技術,設計很容易變得一團亂。
設計一亂,建置與維護專案就會變得很辛苦,最後平白消耗掉大量 MP。
請盡量不要使用沒用過的技術。就算要用,也最多限制在 1 項左右,或者先透過原型來學會它。
沒有導入 AssetBundle 的故事
例如,目前的《Treasure Rogue》沒有用 AssetBundle 載入資產。因為我從來沒有用 AssetBundle 把一款遊戲做完過。
使用 AssetBundle 可以縮小應用程式容量,現在也有像 Addressables 這種方便的方案,所以很容易讓人想去嘗試沒用過的技術,但我更優先考慮的是把遊戲做完。
因此,在 Unity 的物件參照上,我老老實實地只用「在 Inspector 裡拖放」的方式處理。
失敗經驗
我曾經把沒用過的技術一股腦塞進專案,結果 MP 被瘋狂消耗,最後只好放棄。
無法對它產生愛
這聽起來有點浪漫,不過「愛」其實相當重要。
如果你沒辦法喜歡自己的遊戲,就會失去持續把它做下去的動力。
對遊戲的製作動力一旦下降,也就代表最大 MP 下降了。
所以,一開始決定的「遊戲美術風格」或「玩法」之類的東西,最好要想清楚到自己真正能接受為止。
失敗經驗
我曾經因為無法喜歡自己做出來的模型,而放棄了專案。
沒有想清楚就開始做新遊戲

這是那種因為太想做遊戲,結果沒有仔細思考就開始新專案的模式。
尤其專案初期會非常有趣,所以當你對目前正在做的遊戲失去動力時,就特別容易被新遊戲的點子誘惑。
絕對不要輸給這種誘惑。
照這種衝動開始做的遊戲,往往會在開發途中發現裡面塞滿了「大量沒用過的技術」,或是存在某些致命缺陷。
而且,人在被這種誘惑打敗時,總是會想著「先中斷現在這款遊戲,之後再回來做就好了吧」,但是依照我的經驗,中斷開發的遊戲幾乎不會再重新啟動。
畢竟,過去的自己做出來的專案通常亂七八糟,根本不想碰。
接著又會再次落入「輸給誘惑、沒有想清楚就開始新遊戲、發現缺陷……」這種見異思遷的循環,所以開始做新遊戲時,請先好好規劃,不要敗給誘惑。
培養把遊戲做完的能力
「完工力」顧名思義,就是把遊戲做完的能力。
「遊戲開發新手」或「總是做不完遊戲的人」,首先最好先把完工力培養起來。
做教學
不管是 Unity 官方教學 也好,遊戲開發入門書也好,總之先做一次那種「通往完工的路線已經被安排好」的教學。
這樣就能掌握把遊戲做完之前的整體流程。
我以前抱著 「第一款作品就應該是自己的原創遊戲!」 這種多餘的堅持,所以直到開發第 4 年都完全沒做過任何教學。再加上我在做的遊戲本身又很複雜,結果一直沒有培養出完工力。
這種執念只會讓事情停滯,真的完全不需要。
順帶一提,現在的我已經能自然地把事情區分成「《Treasure Rogue》是第一款作品,教學只是習作」,所以回頭看就會覺得「當初那種堅持真的完全沒必要」。
不需要的執念現在就丟掉吧。 未來的你自然會替自己找出合理的切分方式。
試著在 1 週內做完一款遊戲
透過教學掌握遊戲開發流程之後,就試著在 1 週內完成自己的遊戲。
這麼做可以一口氣培養起完工力。
畢竟,我就是在這麼做之後的 4 個月,成功發佈了《Treasure Rogue》。
第一次做時,我明顯感覺到「完工力」提升了;第二次做時,「完工力」就已經徹底定著下來。
這裡最重要的是,先建立最低限度的遊戲迴圈。也就是把遊戲做完。
我在 2 年前曾參加過一個叫做 unity1week 的活動,但那時我甚至沒辦法把遊戲做到至少能玩的程度。
即便如此,我還是抱著「總之先公開看看,也許能培養出把遊戲做完的心態吧」的想法,把那個狀態的遊戲公開了。但就經驗值而言,效果並不理想。結果從那時起到真正正式發佈,又花了 2 年。
所以,請把開發門檻降到自己都會覺得「這樣是不是太少了?」的程度。
「先讓 1 個關卡可以遊玩。只實作 1 種武器。敵人只有 1 種。」這樣就夠了。老實說,連這樣的門檻都還算高。
公開它
遊戲完工之後,請務必真的把遊戲公開。
就算是爛遊戲也一樣。
如果不公開,你就不會真正感受到「遊戲已經完工了」,然後就會無止盡地繼續做下去,最後被困在無限任務地獄裡。
把遊戲公開,作為一個「段落」,是非常重要的。
下圖是我在 unityroom 投稿過的遊戲列表,從「教學作品」到「1 週做完的遊戲」我全部都有公開。

Makihiro | unityroom
讓玩家真的玩到遊戲之前,都還算是遊戲開發的一部分。
結語
以上,就是我把這 6 年苦戰整理成的文章。
如果能幫到那些「遊戲總是做不完的人」,我會很高興。
追記
文中的一句話在 Twitter 上脫離脈絡地被轉傳,所以我另外寫了一篇補充文章。