从业30年“老司机”给游戏开发者的4条经验

文/Bjørn Furuknap Gamelook编译

最近,我离开了从业很久的软件研发行业,实际上,我专职从事软件研发的时间已经超过了20年。在9-10岁的时候,其实我就已经写了第一款游戏,并且直到20岁参军以及长大成人之前还在写游戏。所以,如果算上之前的经历,加上目前的职业生涯,我做游戏的时间整整超过了30年。

在这短时间里,我学到了非常有价值的经验,其中很多与游戏研发相关,还有一些是软件方面的,所以这里我希望分享一些相关的经验。

1.如果它没有趣,那么你的游戏就做错了

在我职业生涯中的很多时间里,我经常会涉及多个领域的软件研发,毫无例外的是,无论什么时候开始一个领域的软件研发的时候,我都会很快离开。拿主机托管来说,我在90年代的公司曾经开过一家这样的公司,并且非常乐于做复杂和先进的发行方案。在某些时候,我们停止了这些东西,因为这件事变得太严肃,人们希望购买我的公司,还包括其他的增长问题。我们比武专注于什么能够带来收入,而不像之前那样专注于优秀的事情,所以这件事逐渐变得无趣,而只是关于挣钱了。

当然,结局显而易见,那家公司一年之后就失败了。

做研发总要有时候严肃对待,但永远不要把简单的乐趣抹去,因为当你喜悦所做的事情的时候,更容易有动力。

所以我的经验是:做那些可以激发你的热情并能让你高兴或者开心的事情。

2.要一直学习,因为知识和技能是容易掌握的

我学的的一个重要经验就是,在停止了一个项目或者任务之后,一定要尽可能多的学知识,我这么说的意思是你应该永远都确保自己在做某些事情的时候学到东西,即使是完全做失败了也要确保是否自己没有遵循某些规律。

这样做的目的有两个,首先,它可以锻炼你的大脑,从我的了解来看(这不是科学证明)人的大脑和身体一样需要经常的练习才能保持健康。然而,其次就是知识很容易保留下来,你搬到另一个城市的时候并不需要额外的空间带着它,你也不用在未来30年为此付出任何租金,学到了它就是你的,是免费的而且是无价的。

当我们做首款游戏《Maff’s Math Game》的时候,我们更关注的是学习如何真正的做一款游戏,换句话说,我们的整个团队大多是在没有计划也没有盈利打算的情况下从完整的游戏研发过程学到了东西。这种做法的结果是,我们现在开始新游戏的时候可以直接略过很多的学习过程并且更快的得到结果。没错,这个学习的过程可能会投入比较多的资金,但我们知道在长期来看,这种投入的回报是很多倍的。

学到的经验是:Omnia mea mecum porto, my life motto.(拉丁语:我所有一切的财富都带在身边,这就是我的人生格言)。

3.始终做可重复使用的资源

我的公司Lobster Games目前在做一个新的游戏系列叫做《Final Arena》,我们并不确定游戏玩法是完全正确的,我还没有对它进行测试,但我们的研发还在进步中,我们现在招聘了作曲家、模型师、动画师等岗位。如果按照传统的观念,一定认为我们这种做法是疯了,“你需要尽早测试你的想法,这样可以及时发现错误”,我同意这个观点,但我学到了更为重要的经验。

你看,我们做游戏的方法,代码库可以让我们快速的替换掉游戏中的任何部分,如果目前的玩法不合适,没问题,我们可以换一些更好的,但这并不会改变我们需要控制角色的系统、讲述游戏故事、存储游戏状态、追踪角色健康值和物品栏等事情。通过把各种不同的组件分开来做,我们可以在不影响其他游戏部分的前提下进行替换。同样重要的是,我们可以把这个游戏中的一些部分重新在其他游戏中使用,因为绝大多数情况下,未来的游戏都需要有音乐、故事和角色。

学到的经验:始终要重复使用资源,即便有些资源你可能不会重复使用,但在做的时候也要假设它会被再次使用,这个做起来比你想象的还要简单。

4.编程语言并不相关,但却是必须会的

比我更聪明的人也谈论过电脑语言,但我更喜欢引用的名言是,语言之于编程就像望远镜之于天文学一样重要,你需要学一门,但这并不是目的。我经常看到有人争论到底那种语言才是最适合游戏编程的,然而真相是,没有答案,所以这也是该问题持续了十多年但仍然没有清晰答案的原因。

所以,只要做游戏编程需要一个语言,那么至于是哪个都没有太大的关系。

这里我们就要说到本部分标题的后半句,你始终需要会一种编程语言,不管现在有多少种不需要编程就能够做游戏的工具,但学习编程对于游戏研发都是至关重要的,如果你不学会编程的话,你很难做好游戏研发。在我此前十多年一直就职的SharePoint公司,这个是微软不得不取消最重要的非编程研发工具,一个工具的视觉设计界面就被称为SharePoint Designer,此前叫做Frontpage,了解的人应该会知道。微软也表示他们这么做是因为SharePoint遇到了MySpace问题。

之所以出现这种问题是因为,很容易出现你认为输出了价值但实际上更多时候并没有,很容易让你和你的团队陷入死胡同。

然而,对于一个程序员来说,尤其是有经验的程序员,他们会在开始做解决方案之前就掌握了问题的大部分原因,他们知道维护性、扩展性、安全性以及很多简单网页转换从来不会遇到的问题。这并不是因为程序员们有非常高的智力或者其他东西,而是因为学习写代码可以让你用更加清晰和有条不紊的解决问题,只要有可能,我都会催促人们学习编程,即使很多人一辈子都不需要写出来一行代码,理由很简单,因为它可以让人们用更清晰的方式解决问题。

学到的经验:一定要学编程,没有任何理由。

所以,这些就是我认为最重要的四条经验,这些都是我在30多年的软件研发经验中所学到的东西,并且已经积极的应用在了游戏研发生涯中。

打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮