随着技术和工具的提升,很多喜欢游戏或者有想法的新手或玩家都对游戏研发跃跃欲试。此前,很多人给新手的一条普遍建议是:把目标放小,努力完成一个项目。

然而,对于大开脑洞的很多新手来说,控制自己的创作欲简直是不可能完成的任务,那么这时候该怎么做呢?

最近,GameLook发现一位把开发游戏当玩的爱好者(Brackeys)分享了自己10年来的经验和心得。在这十年的过程中,他做过数百个项目,但真正完成的却寥寥无几。不过,这并不影响他热爱游戏开发、并变成更好的游戏开发者。

以下是GameLook整理的完整内容:

1、不要开始就想做到完美

无基础如何自学开发游戏(新手想学做游戏)(1)

Brackeys:开始做游戏的时候,我用的是Blender引擎,当时它在开发者社区很受欢迎,而且有可视化的编程工具,我的第一个项目没有写一行代码。

无基础如何自学开发游戏(新手想学做游戏)(2)

这是一款太空射击游戏,带有物理模拟玩法。现在看来,我的研发能力有了不小的提升,而且开始做多人游戏。

无基础如何自学开发游戏(新手想学做游戏)(3)

用了一段时间的Blender之后,我发现了一个有趣的新引擎,也就是Unity。它出现的时间很早,但那时候我才和朋友们决定用它做一款游戏,名字叫做《Awake》,是一个恐怖主题的平台游戏,与《地狱边境(Limbo)》类似。

无基础如何自学开发游戏(新手想学做游戏)(4)

所以我们开始创作游戏设计文档和美术资源,尽管我们很努力,但最终也没能完成第一个关卡。我们并没有从错误当中吸取教训,而是尝试了一个更为复杂概念,我们希望能够创造一个让人们打造关卡并且分享的游戏,它的名字叫做《Your Game》。

这次,我们更进一步,3D美术师打造了很酷的角色,我开始用C#做编程、用Photoshop做icon,用很多比较酷的资源为游戏做了UI,总体来说,我们变得越来越有信心。

当然,游戏最后还是失败了,和第一款游戏一样败的很惨。但这不重要,因为我们的游戏研发水平比之前变的更好了。

无基础如何自学开发游戏(新手想学做游戏)(5)

这一次,我开始独自完成游戏项目,打造了一个名叫《Kill Pill》的游戏,这是一个快节奏射击游戏,玩家们需要不断射击、在游戏里存活尽可能久。

无基础如何自学开发游戏(新手想学做游戏)(6)

随后我做了一个续作,叫做《Kill Pill Tropic Island》,这次用了更美观的画面,还增加了一些道具,虽然有大量的项目都没完成,但看到这两个游戏完成还是很令人满意的。

这也让我学到了第一个重要的教训,不要一开始就试图把所有事做到完美,你是个新手,绝对不可能做到完美。

2、要为项目做备份

对我而言,通过不断的尝试,也让我了解了自己喜欢什么、不喜欢什么,这时候我也开始做视频,并且在2005年至2012年之间录制了很多研发视频。

无基础如何自学开发游戏(新手想学做游戏)(7)

其中很多都是用Unity做项目的直播视频,然而,尽管我录制了37个视频,但那个项目依旧没有完成的迹象,于是我决定放弃。

无基础如何自学开发游戏(新手想学做游戏)(8)

随后,我决定做新手开发者教学,这次我做了一款平台弹球游戏,虽然没有什么新奇,但我只用了27个视频就完成了游戏研发。

无基础如何自学开发游戏(新手想学做游戏)(9)

除了这些视频之外,我还参与了大量的项目,比如打造了一个免费的装备栏系统,并且发布在了Unity资源商店。

我还在Unity编辑器里做了一个UPA工具,现在依然可用,但已经很久没更新了。

无基础如何自学开发游戏(新手想学做游戏)(10)

尽管完成了很多东西,但至少有10个项目是在几天或者几周之后就被我放弃掉了,有些是为了测试特定功能的尝试,比如垂直地形生成、RTS单位移动,甚至是太空模拟等等,每一次我都在特定领域做的更好。

无基础如何自学开发游戏(新手想学做游戏)(11)

我还做过很多比较认真的项目,比如一个像素风的游戏《Squixel》,我做了好几个关卡,但不幸的是,一次意外让我丢失了大量的文件,因此不得不放弃。

这次的教训是,一定要为研发做备份。

无基础如何自学开发游戏(新手想学做游戏)(12)

另外,我还和朋友完成了一个俯视视角2D射击游戏《Wave Incoming》,他做了UI,我用Unity做了其余所有事,游戏虽然简单,但我们尝试了很多东西,比如三种职业,还可以通过参数设计出大量不同的角色。

了解我的可能知道,我很喜欢《盖瑞模组》,它也是我尝试游戏研发的原因之一。然而某种程度上来说,这款游戏已经是个dead game,所以我希望尝试用Unity做另一个版本的《盖瑞模组》。

无基础如何自学开发游戏(新手想学做游戏)(13)

我尝试了三次,第一次只是做了一个物理模拟玩法的方块射击游戏,第二次我学会了UI和建模,第三次,我学到了更多的粒子效果、后期处理、光照以及UI的更多知识。

3、感兴趣的想法只管做,学到东西就好

随后,我决定尝试其他的东西,也是改变人生的一个决定:我想要从头开始用C 做一款引擎!

无基础如何自学开发游戏(新手想学做游戏)(14)

然而,用了大量的代码之后,我也只做出了这么多东西。

所以总的来说,我做的大量项目不仅目标远大,而且都是对现有游戏的克隆。有时候,我还必须做研发视频,这不是一个周末能完成的事情。

无基础如何自学开发游戏(新手想学做游戏)(15)

这时候,我发现了改变研发生涯的事情,那就是参加了(game jam活动)Ludum Dare 36,在这个活动中,你有40个小时从头开始完成一款游戏的创作,这次,我做出了《Diggin》,并且得到了大量的乐趣。

不仅是因为通过图形、音频和编程完成游戏的过程令人满足,还可以看到随后其他人玩游戏之后的反馈,并且可以得到新的创意灵感。

无基础如何自学开发游戏(新手想学做游戏)(16)

自此之后,我参与了大量的game jam活动,并且打造了大量的游戏,覆盖了竞速、创造、合作游戏等类型,我们也做过一个社区game jam活动。

我做了很多项目,但只完成了很少一部分。我知道这看起来可能效率极低而且令人沮丧,但我从不后悔,它们让我积累了大量的研发知识。对于新手来说,很多人的建议都是不要一开始就做很大的项目,某些方面来说,我是同意这个说法的,因为如果项目太大,你很容易遇到巨大的问题,或者长时间之后就失去了兴趣。

然而对于新手来说,想做的东西太多也是不可避免的,尽管并不是每个项目都能完成,但每一次都会让你比上个项目更好。我觉得最重要的就是不要失去兴趣,当然不是对某个项目,而是对整个游戏研发。

毕竟,如果你不是把它当作职业里做,那么游戏研发最重要的就是开心和挑战自己,尤其是刚刚开始的时候。无论你的目标是什么,都可以让你收获乐趣,我都建议你们去尝试,不管能否完成,你都会学到东西,与此同时你还可以参加一些game jam。

无基础如何自学开发游戏(新手想学做游戏)(17)

还有一点,不要害怕用搜索引擎找到答案,别人写过的代码是有效的学习方法,我经常这么做。实际上,我认为成为一个程序员有一半的功课是要知道如何使用搜索引擎。

,