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