原文是回覆 Unity3D 板上板友提問的內容「菜鳥想請問零基礎自學速度以及asset store的問題」。最近決定將幾篇回答內容寫得比較完整的文章整理起來,用更泛用的方式翻寫一遍。比起給別人看更像是讓自己筆記起來,知道自己在這個時候的想法。
本文是一篇新手向(給尚未成功開發完一款商業遊戲的人)的文章。是為了避免新手容易忽視定義遊戲開發規模的重要性而寫的文章。
在嘗試開發遊戲之前,推薦開發者先想清楚:
- 遊戲類型
- 你想要親手處理的範圍
- 開發時間
這三個要素在開發前是否決定清楚,是開發遊戲成功與否的關鍵。
遊戲類型 🔗
新手很容易想著「我要做 2D、3D、插畫風、寫實風」這些畫面表現方式就當作開始製作的基礎,然而大部分情況下,遊戲的畫面表現手段和製作難度並無直接關係。
關於遊戲類型與製作難度的問題,水狼所寫的「你真的清楚遊戲的開發難度嗎?(上)」、「你真的清楚遊戲的開發難度嗎?(下)」大致上可以提供不錯的基礎理解。
但因為遊戲分類只不過是事後人們為了方便整理出來的概念,即便可以廣義分類在同個類型的遊戲,依然根據開發手段會有難度的差距。不需要因為在這裡標記的難度很高就氣餒;也更別因為標註難度偏低就大意。
但是開發目的當然可以做很多形式的調整,尤其是別忘記發揮簡單的數學計算。例如《Hollow Knight》是一款由三個本來就有相當經驗的人開發兩年半出來的遊戲,因此根據開發者人數與擁有的經驗,可以做一些簡單的除法取理解專案的可行性。
並且可以再以該遊戲為基礎試著往下砍遊戲的規格,以《Hollow Knight》為例遊戲的範疇可能有:
- 做出等同於《Hollow Knight》的遊戲
- 做出等同於《Hollow Knight》一個區域的遊戲
- 做出等同於《Hollow Knight》一個房間的遊戲
- 做出 《Hollow Knight》的機制(不能稱之為遊戲的程度)
- 做出《Hollow Knight》的部分機制(不能稱之為遊戲的程度)
這樣一路往下降的調整,總到了某個階段是「可行」的程度。
如果以《Hollow Knight》為出發點的話,我建議新手可以嘗試的是:
- 做出《Hollow Knight》的完整移動與戰鬥系統
- 做出一個頭目戰(複雜機制的單一敵人)
- 做出一個競技場挑戰(簡單機制的複數敵人)
你想要親手處理的範圍 🔗
遊戲是個很複雜的領域,Unity、Unreal 這些工具雖然可以貌似可以讓開發者快速的完成特定目的,但距離達到終點還是很遠。開發遊戲前必須先想清楚自己想要親手碰哪幾塊,以下是我自己擅自歸類的範圍,僅供參考:
- 遊戲設計(單純的機制與數值設計)
- 程式(如何將遊戲設計正確實作與工具設計)
- 美術(素材的產出與美術方針設計)
- 技術美術(怎樣讓產出的素材在引擎內照需求顯示出來)
要注意的是這裡完全沒有提到「故事」,並不是說故事不重要,但是在新手階段就糾結於表現故事的話,不如直接去製作視覺小說。一般情況下請不要一邊想著表現故事的情況下開發初期的幾個專案。
而無論是 Unity 跟 Unreal 都沒有辦法替代掉上述這四個要素,只有部分輔助的能力。頂多是你如果製作寫實的遊戲美術時,Unreal 相對內建能處理好寫實的畫面渲染。
決定好做為開發者想要自行完成的部分後,就可以找尋其他項目的解決辦法,例如:購買素材、找尋外包、降低處理難度(例如說美術上改做普通的火柴人、簡單的方塊)。
遊戲設計的部分雖然比較沒有直接買的方法,但是可以直接偷其他人的設計(無論是機制還是數值設計)來用,非常推薦新手先以別人的作品為基礎去改造,行有餘力的時候要想的是「這個機制、數值設計的意義是什麼」,並且逐漸發展出屬於自己的設計邏輯。
開發時間 🔗
在經驗越少的時候建議時間抓越短。例如說完全新手的話就抓一個禮拜到一個月以內可以完成的程度。
永遠不要想著在前十款遊戲專案內就要做出的遊戲大作,等到做了差不多十款左右的小專案就差不多會知道完成一個大專案需要花的努力是什麼,那時候挑戰起來才不容易出事,也就是有更高的機率成功完成這款遊戲。 基本上製作到最後,遊戲能夠完成所仰賴的並不是純粹的個人開發能力,而是專案管理能力。
例如說你明確知道自己手上有什麼能力、人才,用多少時間可以完成想要做到的目標,剩下的就靠外包與既有素材彌補。這件事情能預估得越準就越能確保遊戲可以完成,隨著開發中也要持續調整預期。雖然想這些東西感覺是與遊戲開發無關的無聊事,但想清楚這些事情才是能幫助專案成功完成的基礎。
結語 🔗
上面這些看法,就是我開發《自動混亂》期間所切身感受到的事情。最大的重點是「永遠不要嫌專案規模小」,通常最後會發現的還是「專案規模還是訂得不夠小」。
最後遊戲開發能完成,就是選擇一個開發者能力足以應對的規模,並隨著自己的能力提升可以開始擴大規模挑戰自己。而做為新手,能夠完成專案的價值,絕對比完成不了專案還要大。