遊戲開發雜記(一) 萬事開頭難
還記得小時候第一次接觸遊戲,是西安二套的遊戲俱樂部頻道,不僅有各種最新的PS2遊戲演示,還有電話撥號玩各種遊戲的互動環節。那時候第一次看到合金裝備2中裸體的雷電,第一次看到尤娜在海面上起舞,第一次看到秀真的紅領巾(那時候我還以為shinobi忍就是忍龍)......在那個內地大部分人還在玩小霸王的時代,對於一個還在上小學的孩子來說,這些遊戲簡直就是幻想中的世界,這些遊戲的畫面成為了我童年記憶中不可磨滅的一部分。後來父母給我買了一臺電腦,是那個時代最頂級的配置,於是我投入到了極品飛車,帝國時代,榮譽勳章,暗黑,仙劍,魔獸等等的遊戲世界中......
直到大學之前,我的遊戲時間並不多,因為父母嚴格限制我去玩遊戲,每週我僅僅有2個小時去在這虛擬的世界中遨遊。上了大學之後,理所當然的,我有了自己的筆記本,裝上了小時候電腦玩不動的鬼泣3和鬼武者3......從此大學一發不可收拾,我並不像別人一樣在lol或者各種網遊之中打發時間,而是喜歡品味各種單機遊戲。
工作後的日子並不好過,雖然頂著國內IT界兩電一郵之一的211大學的畢業光環,但是自己把大學的時間完全揮霍在了打遊戲上面,學業被我荒廢了。工作後的我一直很苦惱,也一直在努力,想把失去的彌補回來,就這樣子幾年的時間過去了。
去年經歷了一次裸辭,那時很迷茫,我並非科班出身的碼農,對於寫程式碼也並不是那麼熱衷。最關鍵的是,我痛恨加班,雖然我加班起來連我自己也怕,有一次三天兩個通宵,我差點以為自己的生命走到了盡頭。於是我決定放下工作一段時間,去試試自己想做的事情,因為自己還有積蓄,在外地也餓不死。那時候我產生了一個想法,為什麼不去試試做一款遊戲呢?那時的我相當地天真,認為自己花了大把的時間在單機遊戲上,理所當然地就有做出一個好玩的遊戲的資本。
不過幸好對於程式方面我還是挺有自知之明的,知道遊戲程式確實要比一般的網站或者app複雜很多,於是我就從最簡單的型別-galgame開始入手。先是瞭解到了onescript,大概地學習了之後,又接觸到了nscript,但是都沒有滿足我想要的功能。在一次機緣巧合之下,我接觸到了renpy。當時的我如獲至寶,立即開始學習,並且開始寫遊戲的指令碼,還買了繪畫板開始練習畫畫。日子過得很充實,也很壓抑,我意識到自己不僅需要編寫一個好的劇本,還要做出好看的UI,畫出精美的背景,配上好聽的音樂,甚至還需要加上live2D的人物立繪......我從來沒想到,就算是最基礎最簡單的galgame,對於一個人來說開發也是如此地不易。
後來我換了一個城市,又開始了一段求職之路,到了新公司熟悉業務和工作又擱置了好久的遊戲開發,只不過畫畫我並沒有荒廢。幾個月前我又下定決心開始做遊戲了,不過之前的galgame我不打算繼續開發了,很簡單,我目前畫不出能看的背景,就算是人物,上色部分我也搞不定,雖然有tensorflow的開源上色應用可以用,但是效果並不好。我瞄上了通用的遊戲開源框架,所謂遊戲框架,是與遊戲引擎並不相同的東西,你可以自由擴充套件,甚至在高層次無法解決問題的時候可以呼叫底層的API,這一點靈活性是我所青睞的,因為以前Android開發的時候我就受夠了去匹配各個手機廠商那些裁剪過的SDK(魅族和小米,說的就是你們)。
現在,我著眼於java程式設計的遊戲框架libgdx和JME3,雖然對於遊戲開發來說,C++才是王道,但是因為工作性質原因,我更願意在java上更上一層樓,況且真的想去用C++的時候還有jni可以用啊。不過對於遊戲關卡設計,動畫製作等等程式之外的工作依然讓我苦惱。最近一段時間經常處於不斷地搜尋教程,去github和youtube上瘋狂翻找東西的狀態。
這幾天靜下心來想一想,果斷還是不要考慮太多,專注於目前自己的能力去做和學習就好。很多東西不像程式一樣是可以立即上手的,需要不斷地積累,再著急,再想走捷徑,最後還是得掌握那些最基礎的知識。與其花時間在滿世界找捷徑上,不如先老老實實從基礎開始,不要妄想很快就能做出令人驚歎的遊戲。之前在騰訊GAD平臺上看過一些獨立遊戲開發者的採訪,他們也說過好的想法就記錄下來,下一個遊戲再去用,因為獨立遊戲真的耗不起,也沒有那麼多資源和時間讓你想做什麼就做什麼。國外的開發者也說應該在做精緻的遊戲的過程中開發一些簡單的遊戲去試試市場和積累經驗。
鑑於目前自己的知識,我決定老老實實先做一些小遊戲,目前是有一個好的想法還在原型階段,但是技術原因我無法很快去實現它。
這篇文章是我真正走上獨立遊戲開發之路的里程碑,願自己不忘初心,努力堅持,一步一個腳印地走下去。也希望這篇文章中的某些觀點和想法對於想要獨立開發的人有幫助,因為一個人甚至幾個人的日子確實孤獨和焦慮,但是世界上還有成千上萬的開發者們也在這樣奮鬥著,因為我們都熱愛遊戲