制作游戏并非易事 开发者需扮演多种角色

作者:Alex Norton
制作游戏很困难。
很多人对这一观点充满了蔑视,但是事实上这却是一个值得我们重视的内容。制作电子游戏应该是你所面临的最复杂的职业之一。特别是对于独立开发者而言,因为在你遇到困难时很难找到能够支持你的人。
即使是现在,当许多读者在阅读这篇文章时,还会带着制作游戏很简单的想法,更可悲的是他们压根也不打算改变这种想法。但是如果你能够继续阅读这篇文章,你便有可能更好地理解我们该经历的所有过程。
游戏开发者必须能够编写软件。对他们而言这是需要掌握的一种技能。我常说有人会编写程序,但却不能算是程序员。任何人只要获得了适当的资源便能够学着去编写软件。他们可以谋得编写软件的工作,并从自己的辛苦工作中获得收益。但是这也不能使他们变成真正的程序员。
真正的程序员之所以会去编写软件只是因为他们必须这么做,这已经成为了他们血液中的一部分。他们只会好奇是什么元素促使算式得以运行,而不会去纠结它们是如何运行的。
他们经常会在梦中编写代码,甚至会利用咖啡因等物质让自己保持清醒,从而拥有更多时间去寻找那些最有效的“代码原理”。当他们在进行编码时,总是会投入150%的注意力于工作上。
而当他们还未开始编码时,他们会不断地思考着当再次回到集成开发环境时自己该如何进行编写。正是这种超越常人的集中与完美的表达才塑造出程序员这样的角色。他们之所以是程序员是因为他们就必须是程序员。

game developer
game developer

程序员是一回事,而游戏程序员则又是另外一回事。可以说,游戏程序员是程序员职业中最复杂的一种。但同时如果游戏程序员能够有效使用专有引擎和预制模式(以此将游戏编程工作压缩到最基本的脚本编写中),这种工作也会变得更加简单。
但是对于我们这种自己编写引擎和模块的人来说,这便是一份非常复杂的工作——因为我们必须努力成为各个领域中最专业的专家。
我们必须成为物理学家。玩家在游戏中看到的每个移动都必须由我们进行手动制作。盒子从架子上跌落到地上这一行动在很多人眼里是再平常不过了。而如果未出现这一情形还会有许多人对此抱怨连连。
而为了做到这一点我就必须掌握物体将如何受到重力,碰撞和摩擦等外力因素的影响,并完美地模拟盒子从架子上掉落下来的动作。经过各种学习,实践和研究,我们最终便能够通过编写代码去实现这一简单的动作。
我们必须成为心理学家。当坏人看到你,向你投射手榴弹,并匍匐藏在遮蔽物以躲避轰炸时,魔法并不会出现。游戏开发者必须通过研究人类学和心理学让玩家角色也能够在游戏中拥有这种特殊的感受。
而随着游戏的发展,AI也必须跟着发展。就连简单的AI方法,如Dijkstra算法也会变得越来越复杂且越来越难驾驭了,更别说更高级且更复杂的算法了。
我们必须成为艺术家。游戏世界必须具有视觉震撼力。游戏画面必须能够满足玩家的感官需求,但是——这里还是不会有魔法出现。所以我们只能投入更多时间和努力去消除游戏世界中所有会阻碍玩家前进的边边角角,确保所有的对象,树叶,灯光,粒子系统都能达到最完美的状态,以赋予整个游戏世界最完整的生命。
我们必须成为灯光师。你知道灯光是如何在一个小小的管道上闪耀出光芒吗?这是程序员长时间的研究与编码的结果,通过创造出光线去模拟光量子并穿越示意图而映射在表面上,参考其常量,并将常量与视角做比较,然后照亮材质图;太亮的话就使用bloom,太暗就调高对比度。
思考这种在发生在60帧速度内的过程总是很容易让人疑惑,但是游戏开发者却连在睡觉时都在想这些内容。
我们必须成为火的制造者。我们必须掌握火,爆炸,对物体的破坏,以及相关联的投影弧,光和热度等元素。我们必须透露危险性。也就是我们必须让玩家能够在此察觉到危险!
这种物体并不可能伤害到你,但是它却能让你感到害怕。它能让你充满震惊并好似自己就真的面对着它一样。你会担心自己会被灼伤。作为游戏开发者,我们的任务便是通过神奇的代码创造出玩家不可能真正经历到的虚拟现实。
我们必需成为战术家。让敌人只是在游戏地图上移动,或只是根据玩家的行动做出反应都不够完善。你必须让他们能够使用战术去反抗玩家角色,否则游戏只会显得过于简单。
一位优秀的游戏开发者必须能像一名经验丰富的战术家那样进行思考(可能需要你投入好几年的时间在各种艰苦的环境下进行训练),否则玩家将有可能比游戏更加聪明并因为游戏过于简单而感到无趣。
我们必须成为设计师。游戏必须带给玩家沉浸感,即让玩家完全融入游戏中而忘记了外部世界。这是游戏成功的关键。但是为了做到这一点,游戏开发者便需要掌握布局,作曲,环境美化,室内设计,颜色,灯光以及阴影的使用等。他们还需要学习像黄金比例等原理,并精确地使用它。如果不能做到这些,玩家将不可能真正沉浸在游戏世界中。
我们必须成为导演。其实游戏体验与电影体验极为相似。我们必须在此感受到冒险,游戏角色必须阐述合理的内容,游戏事件也必须以正确的方式表现出来等等。对于带有过程生成内容的游戏来说我们更难做到这一点——因为开发者缺少参照物,所以很难有效地为玩家呈现出游戏。因此他们只能自己创造游戏技巧。他们必须“教授”游戏如何表现出乐趣,并且“相信”它能够做到这一点。
最后,游戏开发者还必须拥有强烈的情感。不管是对于个人还是团队来说这都是一种非常“私人”的体验,因为他们都必须将大量的时间,金钱,能量和爱注入项目中(至少1至5年),仔仔细细地将自己的想法研磨成一块真正的“宝石”。
对于开发者来说,他们最后需要做的便是鼓足勇气将自己所创造的“个人世界”呈献给全世界——公开自己的弱点,希望和害怕需要真正的勇气。除此之外,阅读网络上那些来自匿名用户的各种攻击需要开发者表现出更大的勇气。
对此你还需要具有宽容的态度。在经历了一段时间的炮轰后你将会对这些言论产生免疫力。如此你便只能听到他们对于游戏的正面言论并自动过滤掉负面评价了。Neil Gaiman(GDchina注:近十年来欧美文坛崛起的最耀眼的明星,被视为新一代幻想文学的代表)曾经说过:如果你所从事的是能够让自己感到骄傲的工作,那么即使没赚到钱,你至少也还有工作。
当游戏开发者遇到一些无知且对自己的作品不利的言论时,他们会因此而感到消沉,但是当他们又获得一些赞扬的评价时,他们也将再次恢复自信。让别人进入自己所创造的小小世界,并在此感受到各种惊艳的内容,我想没有什么比这种感觉更棒吧!
但是还有一点很让开发者抓狂,即当有人说“喔,你在制作游戏?这难道不是件很简单的事吗?”
这种想法是错误的,这并不是件简单的事。就像著名的游戏开发者John Carmack会在制作游戏的空档去进行火箭科学实验。你没听错,真是火箭实验。对于他来说如此复杂的火箭科学实验只是一种休息,可想而知游戏制作有多复杂了。
来源:GDchina