从业余到专业:游戏开发者的成长之路

发表时间: 2021-08-21 11:20

随着游戏工具与技术的进步,游戏研发的门槛越来越低了。然而对于很多想要从事游戏研发的新手、甚至是尝试了很多年的爱好者来说,如何完成自己“梦想中的游戏”、如何实现自己的创意、如何做令人耳目一新的游戏,却是遥不可及的梦想。

不过,想要成为游戏开发者,实际上并没有那么难。在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小时内完成一个项目,由于时间有限,你不一定要做有史以来最好的游戏,只需要能在这段时间内完成就可以,但只要你开始了,就尽量完成它。

我知道,很多人都希望完成自己的“梦想游戏”项目,这个想法看起来有点大,或者是你研发游戏的动力。在开始这个项目之前,尝试更小的游戏,多个小项目,可以让你更好地去最终研发你梦寐以求的项目。

尝试从多个方面做小游戏,比如很酷的游戏玩法、好听的音乐或者整洁的艺术风格,当你完成了这些小项目之后,再做更大的游戏,就会有更好的研发基础,因为你对整个项目有了更好的了解。

实际上,游戏研发和很多事都是相通的,比如试想你第一次玩某款游戏的体验,与后来多次体验之后的差别有多大?第一次做某些事的时候与现在相比有什么不一样?不断的练习会让你成长。

更大的游戏依然在那里,但如果你有了更多小项目的经验,再研发大项目的时候,就会做得更好。最后要说的是,不管你做的是什么游戏,它是否是最好的项目并不重要。我承认《系统故障》不是最好的游戏,但它是有趣的,而且我从这个项目学到了完成游戏研发的很多东西,你同样也可以从完成自己的项目学到很多。