隨著游戲工具與技術的進步,游戲研發的門檻越來越低了。然而對于很多想要從事游戲開發的新手、甚至是嘗試了很多年的愛好者來說,如何完成自己“夢想中的游戲”、如何實現自己的創意、如何做令人耳目一新的游戲,卻是遙不可及的夢想。
不過,想要成為游戲開發者,實際上并沒有那么難。在GDC 2020夏季演講中,Tribe Games創始人Charles McGregor就做了“放飛創意:從業余愛好者到專業開發者”的演講,通過自己的經歷講述了他從新手到成為GDC演講嘉賓之間的經歷,希望能夠給同行帶來啟發。
以下是GameLook聽譯的完整內容:
Charles McGregor:
你有一個很酷的游戲想法,并且已經有一段時間,所以你對這個項目感到非常興奮。你文思泉涌,開始打造這款游戲,似乎所有事都比上一個項目變的簡單了很多,你做了一段時間,但遇到了一些bug和比較小問題。
沒關系,這些影響不大。隨著研發時間的增加,越來越多的小問題出現,游戲研發難以接著繼續下去,你決定回過頭來逐一解決這些bug,卻發現了比預期中更多的問題。于是,你又開始思考研發這款游戲最初的動機,然后,你又有了一個很酷的游戲想法…
我是一名單槍匹馬的開發者,這種情況我也不止一次遇到,所以希望講講我是如何走出這個惡性循環的,以及個人職業生涯關鍵的轉折點、還有這帶來了什么結果,希望對同行們有所幫助。
但是在開始之前,我想要強調的是,盡管我自己成為了職業游戲開發者,但把游戲研發作為愛好并不是什么錯,而且你也不用嘗試把所有的愛好都當成謀生的職業。如果做游戲這個愛好能夠讓你滿足,那就不要專門為了經濟方面就做出改變,你只要一直做下去就好。
從8歲開始想做游戲,但很多年都沒完成一個項目
今天的內容主要是將給那些陷入了永遠在開始新項目(卻沒能完成一個)的獨立開發者,也適合想要從愛好者變成職業開發者的同行,哪怕是想要從職業開發者變成愛好者,也可以看一看。
但對我而言,剛開始游戲研發的時候就定下了從事職業游戲研發的目標。那時候大概是8歲,我在時代雜志看到一個9歲女孩就創辦了自己的公司,在那之前,我從未意識到這么小的年紀也能做出一番事業。
所以我也想有自己的生意,但這必須是我熱愛的行業。所以我問從事計算機科學的父親,讓他教我寫代碼,那時候我學會了DarkBasic語言,不過都是基礎的知識,當時還沒有游戲引擎的概念,但我就這么堅持了下來。
當時,父親還給我買了700多頁的DarkBasic教程,每次睡不著的時候我都會拿起來閱讀,但可惜的是,一直沒有讀完。隨后,我還在網上看到了DarkBasic專業版軟件,以為這會給我帶來很大的幫助,于是央求父親幫我買下來,很幸運,父母都很支持我。
但我很快發現,專業版軟件對我的研發技巧并沒有任何幫助,所以要給新手提醒的是,當你剛開始的時候,升級專業版軟件并不會有實質性的幫助。
我開始做很小的項目,但從未完成任何一個,經常會遇到技術問題或者失去了研發的動力。我發現總有更好的解決方法,總有其他的想法把我的興趣吸引開,卻總是忘了要完成一個項目,因為這看起來就像是需要很多年才能完成的重大考試。
當我遇到挫折的時候,我就會轉移到下一個項目。而且當我換項目的時候,總覺得要做更困難的項目,只有這樣才能不斷推動研發技巧的進步。比如我研發一款游戲遇到困難的時候,就暫時擱置,和朋友一起研發另一個項目,而這個項目出現問題之后,我又回到了第一個項目。然而,我并不想繼續下去,因為遇到了技術問題,而我又不希望接著處理舊代碼。
我知道自己可以做的更好,所以我不想回去做之前的項目。
隨后,我換了Unity引擎,希望可以做一款在多個平臺發布的游戲。那一年我度過了效率最高的一個暑假,學會了Unity引擎使用、學會了3D建模,還學會了Blender,了解了音樂制作流程,開始做一個新游戲。
然而,我仍然未能完成一款游戲。這時候,我開始覺得沮喪,很多年來,我一直都沒能完成一個項目。從8歲學習DarkBasic開始,到了高中時期,我都沒搞清楚如何完成一款游戲的研發。
隨著我對Unity的學習越來越深入,也開始了更多的項目,有一天突然在論壇看到了一個帖子,說的是“游戲項目能完成嗎?以及我失去了研發方向問題的解答”。這個帖子講了一個很多人都熟悉的故事,開發者在一個創意原型投入了太長的時間,隨后決定無論如何都要完成這個項目,于是他的妻子建議用6周時間完成,無論得到的結果是什么。
不過,他很清楚自己無法在6周內完成,于是把期限延長了兩周,但最終完成還是用了9個周的時間。這并不是他最好的項目,也沒有很大的成功,但卻是一款能夠被人體驗到的完整版游戲,隨后,他在4年的時間里,于3個平臺發布了9款游戲,并且實現了很多個人目標。
看了這個帖子之后,我也很希望能做到這樣。但隨后我發現,實際上很多建議我都聽過,比如開始一個很小的項目、不要做MMO游戲等等,并且認為自己一直都在遵循這些指導原則。甚至在一個3D游戲項目上,最終還把他縮水做成了2D游戲,然而在此之后,我發現項目很小,于是增加了越來越多的內容,增加了多人模式、增加了游戲內關卡編輯器、做了更多的游戲環境,增加帶有故事背景的角色,然后還升級了所有美術資源。
再之后,我還想在這么多的內容之外,再做一個更大的關卡,于是項目越做越大,而且還在不停的增加新功能。這個帖子之所以打動我,是因為我做了和他之前一樣的事,原本有機會完成,卻不斷地讓項目變得失控,一直增加內容以至于不知道何時應該停止增加新功能,還有些項目中,剛開始就做的很大(以至于沒有信心完成)。
第一個完成的項目《系統故障》,只用了2天(優化用了2個月)
這個帖子來的很及時,因為當時我剛好參加一個校園節目,有兩天的時間完成一個簡易游戲的研發,于是我用最喜歡的街機游戲作為靈感,做了一個看起來比較粗糙的游戲《系統故障(Glitch in the System)》。但這個項目令人驚訝,它有bug存在、也并非平衡性最好的游戲,但至少是一個完成了的項目。
于是我決定,隨后的游戲都要先發布,然后在不斷優化。我給了自己2周的時間優化這個游戲,但最后卻用了2個月。開始我不想加入新功能,但到了最后,還是忍不住增加了新功能、加入了新敵人、能量系統等等,但大多數的時間里,都是在增加內容和優化游戲,這讓我對項目管理有了更清晰的認識。
我清晰的記得寫完最后一行代碼的時間,把那個暑假學到的很多東西都用了進來,甚至還做了一個3D宣傳片。把游戲發布到自己的網站之后,我對自己說:我做到了。
《系統故障》打開了如此之多的機會,我并不覺得是理所當然。比如我有機會把它移植到了移動平臺(安息吧,Windows Phone平臺),我得到了公開演講的機會,我甚至不敢相信。
在這個游戲之后,我得以完成了更多的項目,也知道了什么能夠讓游戲更快速成功,比如每周增加新功能就是很有效的。
我不想做更大的項目,比如當時已經變得很大的《系統故障》。我希望做更小的游戲,也正因如此,我了解到了Game Jam活動,這讓我在游戲開發者的道路上學到了更多東西,有了更好的成長。
這時候我還接到了首個外包工作,主要也得益于《系統故障》的發布,甚至還做了自己的首個VR項目,這是很難想象的。我和朋友們舉辦了Game Jam,隨后還專門給自己舉行了一次Game Jam,在特定時間內完成項目以及游戲優化。
耗時4年研發的《Hyperdot》,最初只用了4天
隨著越來越多的項目完成,我在游戲研發方面不斷進步。現在看來,你完不成一些游戲沒有關系,最為關鍵的并不是你對這些游戲沒有了新的想法,更重要的是,要知道有些想法是行不通的。
兩年之后,我有了8個不同規模的已完成項目,與之前形成了鮮明的對比,這也導致我后來做了自己最大的單人研發項目《Hyperdot》。
這個項目與《系統故障》有著相似的起因,我有四天的時間做一個和游戲無關的項目帶到課堂上,當時展示之后,我覺得整個項目的規模可以接受,認為4天內能夠做出創意原型,最終在6個月內完成所有優化。
但我沒想到的是,它耗了我四年的時間。
所以,完成項目的方法并不總是奏效,但我最后還是完成了這個游戲,將之前項目學到的經驗用到了新游戲上,而且很早就限制了項目規模、還有很清晰的目標。雖然沒有能夠像第一個項目那么快速完成,但我在這個游戲里學到了游戲研發更多環節的知識。
《Hyperdot》有更多的環境、更多的玩法,還增加了關卡編輯器,但我在做這些事情的時候,感到更舒適了,因為我從之前的項目或者以完成的游戲知道,自己可以解決這些問題。這個項目實際上是向自己證明,我一個人能夠完成比《系統故障》更大的項目,并且通過玩法、音樂和藝術表達自己的游戲想法。
但《Hyperdot》的意義并不只是游戲本身,我之所以如此看重它,是因為這個項目讓我實現了所有兒時的夢想,我參與了此前只能在電視或者PC屏幕看到的事情和活動,我認識了崇拜多年的前輩,還能被邀請到GDC做演講,我終于能完成一個游戲,然后向其他人指著說,“這是我做的游戲”。
這令我很自豪。
總結:從小項目開始,為研發時間設限
到這里,你們可能已經對我“自吹自擂”式的個人經歷感到厭倦了。那么,我們能夠從中的到什么啟發?當你覺得無法完成項目、一次又一次重新開始新項目的時候該怎么做?當你想要對游戲研發有更多的經驗、想要學到更多的時候,努力去完成一款游戲。
不管你認為這個創意、這個項目有多小,一定要走完從研發到游戲發布的整個過程。這里說的發布,并不局限于在商店推出,你可以只是發不到論壇,或者是與朋友和家人分享,并不一定總要被所有人體驗到,走完這個過程,你才能更好地理解一款游戲項目真正的規模。這樣,你才能在未來游戲項目的研發中,有更好的判斷。
我知道,你可能不止一次聽過這樣的建議,因為我以前也聽過,比如“努力做一個小游戲”。但很多時候,你并不知道自己該做一個多么小的游戲。所以,盡量限制一個項目的研發時間,比起無窮無盡的更多想法,兩個月、一個月甚至一周完成一個項目也要好得多。
所以,盡量選擇一個能夠在2個月內完成的項目,包括研發、發布等環節,不管你的發布標準是什么。盡量參加一個Game Jam,給自己壓力,在48小時內完成一個項目,由于時間有限,你不一定要做有史以來最好的游戲,只需要能在這段時間內完成就可以,但只要你開始了,就盡量完成它。
我知道,很多人都希望完成自己的“夢想游戲”項目,這個想法看起來有點大,或者是你研發游戲的動力。在開始這個項目之前,嘗試更小的游戲,多個小項目,可以讓你更好地去最終研發你夢寐以求的項目。
嘗試從多個方面做小游戲,比如很酷的游戲玩法、好聽的音樂或者整潔的藝術風格,當你完成了這些小項目之后,再做更大的游戲,就會有更好的研發基礎,因為你對整個項目有了更好的了解。
實際上,游戲研發和很多事都是相通的,比如試想你第一次玩某款游戲的體驗,與后來多次體驗之后的差別有多大?第一次做某些事的時候與現在相比有什么不一樣?不斷的練習會讓你成長。
更大的游戲依然在那里,但如果你有了更多小項目的經驗,再研發大項目的時候,就會做得更好。最后要說的是,不管你做的是什么游戲,它是否是最好的項目并不重要。我承認《系統故障》不是最好的游戲,但它是有趣的,而且我從這個項目學到了完成游戲研發的很多東西,你同樣也可以從完成自己的項目學到很多。