如何能在這么短的時間內(nèi)就自學程序美術并開發(fā)出成品?在開發(fā)過程中又有什么趣事呢?孫鵬飛分享了自己制作《dooDlefense》的經(jīng)歷,與熱愛游戲的朋友們共勉。
大家好,我是iOS游戲《涂鴉防守》(dooDlefense)的作者孫鵬飛。感謝觸樂此前對《涂鴉防守》做了專業(yè)的評測和報道,這對我們獨立游戲開發(fā)者而言是莫大的幫助。
文章發(fā)出后,有朋友表示好奇,為什么這家伙能在這么短的時間內(nèi)就自學程序美術并開發(fā)出成品?(編者注:孫鵬飛2014年5月離職開始自學開發(fā),年底完成《涂鴉防守》并上架App Store)那么今天應邀來分享一下自己的經(jīng)歷,與熱愛游戲的朋友們共勉。
Q:大家最關心的問題:“從零開始做游戲真的只需要這么短的時間嗎?”
A:如果從2013年初撿起來一本頁面已經(jīng)發(fā)黃的c++教程算起,到2014年底游戲發(fā)布,其實有兩年。但是減去辭職前白天工作、辭職后一(da)些(liang)玩游戲和發(fā)呆的時間,半年應該差不多。
Q:在做這款游戲之前,您有什么技術背景?
A:中學寫過一點入門級的編程,大學專業(yè)文科,工作也不搞代碼,基本算沒有技術背景。
Q:那么您是如何自學編程的?
A:先看書。首先選個喜歡的游戲引擎,我選的是cocos2d。然后看一下這個引擎最推薦用什么語言,就買本那個語言的入門書來看,能看懂基本的語法,做簡單的游戲就夠用了?,F(xiàn)在各種高級引擎都相繼免費,可以說獨立開發(fā)者的春天到了。
Q:看了編程書之后再做些什么?
A:然后就可以做游戲啦!網(wǎng)上搜一些相應引擎的游戲開發(fā)教程,照著一步步寫就行,在實際項目里學習。有不會的問題可以在社區(qū)里尋求幫助。我主要學習的是子龍山人的博客、Ray Wnderlich、黑米GameDev街區(qū)等。在網(wǎng)上得到了很多社區(qū)朋友的指點幫助,借此機會再次表示感謝。
Q:有沒有推薦的社區(qū)?
A:StackOverflow很好。但其實你只要會用搜索引擎就足夠了。有什么不會的難點就搜一下,基本都有前輩總結好了答案給你學習。
Q:這個過程中需要花什么錢嗎?
A:蘋果、安卓的官方發(fā)布平臺都要交一點錢,幾百塊足夠。當然你得有開發(fā)用的硬件,要想在iOS平臺發(fā)布需要有Mac系統(tǒng),其他的用Windows就可以。
Q:我們注意到游戲的美術風格比較生動有趣,是怎么做到的?您本人有什么美術功底嗎?
A:我用的幀動畫。很多2D游戲用的都是骨骼動畫,比如要做個機器人大白,美術就要將大白的頭身四肢分別畫好,動畫都是通過對這些不同部件的進行旋轉和移動操作來生成。我采用的方式是全部用幀動畫,就是將所有看到的動畫效果每一時刻的樣子都畫出來,然后連貫播放,就像老式的動畫電影那樣。雖然工作量會增加不少,但這樣的動畫看起來會更生動細膩。
其實如果你有會畫畫的好朋友,我還是建議組隊開發(fā),一個人都搞還是有點辛苦。我只有簡筆畫水平。畫出來的東西大概都是這樣的:
Q: 游戲中的音樂音效是怎么實現(xiàn)的?
A: 一部分使用了版權免費的素材,一部分是用軟件生成的音效。不過大多怪物慘死都是錄的自己的聲音,鯨魚和小飛龍這兩個角色是女朋友友情出演。
Q:在自學的過程中最大的困難是什么?有什么秘訣嗎?
一開始因為工作(tai)太(lan)忙,又經(jīng)常沉迷于電影美劇知乎,而且要投入時間和精力研究游戲,所以經(jīng)常好多天什么進步都沒有。以前在昆侖萬維工作時,公司是要求每天寫日報的。每天寫日報時如果感覺當天沒對公司和項目帶來有自己認可的價值,會真心對公司感到愧疚,精神上我應該屬于模范員工吧(笑)。為了避免自己偷懶止步不前,我開始用excel表記錄每天的進步,也當作一個To do list。當天做得好就是綠色,不好就紅色,黃色是做了但沒做完的,如果紅色多了,睡覺都不踏實。就用這樣的顏色警示方式來時刻提醒自己不要放棄:
這樣回頭一看雖然滿眼紅色觸目驚心,但還是有成就感的。另外別看綠色的那么少,有時短短一行綠其實凝聚著不少心血。
當然也不要小看紅色哦! 有時短短一行紅色前面日期寫著xx/xx~xx/xx……
所以秘訣就是專注,恒心。不要像我這樣總是玩游戲、看美劇……
Q:在開發(fā)過程中,有沒有印象比較深刻的事情,與我們分享一下?
A:在朋友的幫助下,《dooDlefense》目前提供了9種語言版本,會根據(jù)設備系統(tǒng)設置里的偏好語言列表自動切換語言。因為有些語言翻譯后長短相差很多,調(diào)整UI、字體字號等等頗費了一番功夫。我在這個實現(xiàn)多語言支持的過程中大長見識,也積累了一些處理多國語言和編程代碼友好共存的經(jīng)驗。印象比較深的比如西語問句開頭要寫反問號?,法語的雙引號可以用? ? ,某些看上去很像但其實并不一樣的各種句點引號,還有從右往左書寫的波斯語,以及不寫在一行的上標下標……
Q:說說《dooDlefense》這個游戲吧,是什么激發(fā)你做一個這樣的游戲?
A:一開始是照著教程學編程,做了個打地鼠,然后改來改去就成了《dooDlefense》這個游戲了。那段時間非常喜歡玩《王國保衛(wèi)戰(zhàn)》(KindomRush),很多方面都在向其學習。比如天賦系統(tǒng)、升級菜單的操作方式、能量條(學習他們的另一款游戲《Clash of the Olympians》)等等。
把《dooDlefense》叫塔防不太貼切,一開始玩會感覺像動作類游戲,后期更偏重策略一些,比如在開啟無盡的關卡之后,有了足夠的星星,升級4、5級天賦的時候,都相當有策略性。因為星星是稀缺資源,所以要考慮頂級天賦的取舍和搭配,提升攻擊力及對能量條的利用效率。
Q:對《dooDlefense》的玩家有什么建議嗎?
A:天賦樹比較好玩也是游戲最核心的部分。任何兩、三個4、5級天賦的搭配基本都可以形成不同風格的防守玩法。比如:只用1弓箭手、其他全用篝火,天賦重點加弓箭手;或只用1大炮、其他全用篝火;中后期有了高級篝火天賦可以采用4級篝火天賦為核心的玩法——就是不建設篝火,每種防守單位至少各建一個3級使得能量消耗降低,防守單位的天賦可以選擇自己喜歡操作的一系升到頂級天賦達到最大化攻擊力;或者防守單位構成以帶有5級天賦的篝火為核心點燃飛過其上的冷兵器帶來攻擊力大幅加成;再比如以忍者5級天賦為核心,靠大量低級忍者的加成達到低級忍者低消耗但高攻速高攻擊力的效果。更多玩法可以留給大家發(fā)揮想象力。
游戲里還有一些小彩蛋留給大家發(fā)現(xiàn),比如錘子炮彈(笑):
A:各種免費的高級引擎、隨處可得的入門教程、友好的網(wǎng)絡社區(qū)、觸手可及的市場和平臺,如果想從零學會做游戲,我覺得現(xiàn)在是有史以來最容易的時代。無論在這條路上走了多遠,請開發(fā)者不忘初心。獨立開發(fā)者的價值在于創(chuàng)新、有想法。希望開發(fā)者將游戲作為一種表達自己的藝術形式。
* 本文系作者投稿,不代表觸樂網(wǎng)站觀點。