做一款游戏哪最难?开发者说哪都难(一)

神译局·2021-10-18
游戏开发中,有什么东西看起来很简单,但实际上却非常难做?

神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。

编者按:游戏已经成为人们生活中最熟悉的娱乐项目,行业发展如此之快,玩家对游戏的品质需求也越来越高,所有游戏公司都感受到了精品游戏开发的空前压力。在这样的大环境下,行业内卷也随之而来,游戏开发成本居高不下,高端人才竞争异常激烈。有些团队资金充足,却无法聚拢高端人才,有些团队人才济济却难以维系高昂的运营成本。如今,一款游戏的制作对于任何体量的团队来说都是非常艰难并且庞大的工程,开发游戏到底哪最难?本文来自翻译。

相关文章:

做一款游戏哪最难?开发者说哪都难(二)

做一款游戏哪最难?开发者说哪都难(三)

各种规模和类型的游戏开发者都在回答这个问题:“在游戏开发中,有什么东西看起来很简单,但实际上却非常难做?”

今年早些时候,许多游戏开发者在Twitter上对一个看似无害的问题进行了讨论:游戏中的“门”有什么问题?

事实证明,有很多问题。一个看似无聊的功能:门,因为许多原因,对开发者来说成了地狱般的事物。要使电子游戏中的一扇门发挥作用,涉及到物理学到功能,到人工智能,到声音的各个方面。不仅仅要能用,还要以玩家不必多想的方式运作。建造一扇可以用的、不被注意的门是游戏开发中一项不可思议的工作。

但“门”的问题,远不是在游戏开发过程中唯一一个看似简单却极具挑战性的功能。

几个月前,我向整个行业的游戏开发者提出了这样一个问题:“在游戏制作中,有什么事情看起来很简单,但实际上对游戏开发者来说却非常难?” 我收到了近100份回复,这些回复代表了广泛的行业经验,回答者包括独立的开发者和那些在数百人的大团队中处理问题的人。

回复内容各不相同,但也有一些类似的主题多次出现。他们描述了让游戏看起来和听起来都很好、讲故事、运动和与物体的互动、菜单、保存系统、多人游戏以及各种错综复杂的设计方面的挑战,这些都是在游戏工作室之外很少讨论的问题。许多人指出,他们曾收到了愤怒玩家反馈,他们问:“为什么你们不直接做X?” 答案几乎总是:因为它真的非常非常难。

因此,如果你曾想知道为什么你喜欢的游戏的制作者没有简单地修复下面提到的众多问题中的一个,因为这些看似简单的问题没有简单的答案。

从一个地方移动到另一个地方

让游戏开发头痛的第一个话题集中在“门”上,我所接触的许多开发者在类似的事情上也遇到了问题。

例如电梯。多位开发者向我讲述了电梯带来的挫败感,无论是把玩家带到大楼的某一层,还是在两个主要游戏区域之间充当假的加载屏幕。The Deep End Games游戏工作室的创意总监、《生化奇兵》和《生化奇兵:无限》的首席关卡设计师Bill Gardner对电梯问题的解释如下:

“首先,你必须通过一个按钮或其他什么来召唤[电梯]。通过召唤电梯,你的玩家、物体或AI角色就有可能在电梯下面徘徊,并被压扁或困住。所以突然间你就不得不处理这个问题了。电梯可能让你的敌人或同伴看起来很蠢,物体可能飞起来,或者任务物品可能卡住。

“所以假设你试图通过把AI排除在电梯之外来解决AI的问题。那么,如何避免在你跨过电梯内的门槛时看起来很傻?游戏角色要么站在那里,要么需要某种自定义的行为。”

“如果电梯可以带你到多个楼层,你必须反馈信息,或者让电梯依次停。假设你按了二楼的电梯,然后马上跳出电梯,再次按电梯。突然间,你不得不反馈说电梯很忙。即使是这样,玩家已经习惯了让事物几乎立即做出反应,所以他们很有可能会感到不爽,并说这东西设计的有问题。”

“这甚至都还没有涉及到处理电梯的门,以及门打开和关闭时,玩家或其他物体挡在门口会发生什么。”

《行尸走肉:圣徒与罪人》背后的Skydance Interactive团队遇到了与 Gardner描述的类似问题,同样是门,而且是在VR游戏中。幸运的是,他们能够将一个具有挑战性的碰撞问题变成一个有趣的新功能。

“我遇到的一个bug是,当一个丧尸试图穿过门的同时,一个玩家试图打开门。”Skydance高级AI游戏工程师Bill Ferrer说,“这有点像两种对立的力量相互对抗的情况,不可移动的物体对不可阻挡的力量。

“我们的解决方案是,每当玩家试图打开门,而丧尸同时试图通过同一扇门时,门就会被打破。结果,这实际上创造了一个惊吓时刻,成了一个快乐的错误”。

好吧,如果门和电梯太复杂,为什么不直接让玩家走楼梯?Guacamelee开发商Drinkbox工作室的Josh Davis说,楼梯也是一个问题。

“楼梯可能没有门那么糟糕,但经常会破坏沉浸感。在大多数情况下,楼梯只是一种滑行的坡道;由于角度/碰撞,楼梯有时会扰乱跳跃和移动的方式。对于像我们这样的2D游戏风格来说,如何处理楼梯的真实性会变得更加复杂,因为已经有很多bug存在。”

所有这些移动方式都是潜在的噩梦,但还有另一种交通方式让开发者感到痛苦:移动平台。

“用手柄移动玩家并不难;在平台上移动玩家也不难。”Land of Screens和Doki Doki Literature Club Plus工作室的程序员Kyle Donnelly说。“把两者放在一起,现在有两样东西想要决定玩家应该如何移动。如果平台把玩家推到天花板上,你应该怎么做?把玩家推过平台?挤压玩家?阻止平台移动?迫使玩家蹲下,让他在压扁之前有多一点时间?那么从另一个角度看,平台从上往下推着玩家,把他们推到地面上呢?行为应该是一样的吗?”

“你也可以把多个移动平台加入进来。如果玩家站在两个方向相反的平台上怎么办?玩家应该被分割开来?骑在移动最快的平台上?还是玩家最多的那个平台?一旦你决定了平台应该如何移动,用你所使用的物理系统来实现它们就是一个完全不同的问题了。”

所有这些运动形式都具有挑战性,那么......最简单的从一个地方走到另一个地方呢?游戏开发商Unknown Worlds的程序员安迪说,即使这样也会变得非常复杂,并出现可怕的错误。

“写一些东西并让角色移动并不是真的‘难’,但要调整所有的数值,使结果感觉正确,这是很棘手的。考虑到游戏中所有的速度修改器(冲刺、滑行、水流、风等),我们花了不少时间才找到我们满意的加速和阻力的数值(在游戏《深海迷航》中)。”

“关于这个话题,几周前我发现了一个有趣的错误:有时玩家在跳跃的高峰期会僵在半空。原来,我们使用了七年多的部分运动代码有一个错误,只有在硬件速度特别快的时候才会表现出来。一切都很好,直到你达到~200fps”。

任何东西与其他东西的互动

绝大多数开发者提到的另一个问题是游戏中一个 “物体 ”与其他物体的简单互动。这意味着类似一个角色拿起一个物品或两个角色相互接触这样简单的事情,实际上是令人难以置信的复杂,更不用说两个事物之间更复杂的互动。

《空中王国》(The Wandering Band)的的设计师Ben Wander对这个问题解释如下:

“物体本身不是真实的,它们没有密度或物理界限,因此,比如说你想让一个角色拿着一个苹果,设计师必须进入并改变角色的手指,使其完美地包裹住这个苹果。如果你想让他们拿一个猕猴桃,或者一个葡萄柚呢?做一个不同的动画吧,这就是为什么你会经常看到角色用手把任务物品给其他角色时不显示在屏幕上,或者有时为什么角色的手会穿过门把手或其他东西。”

The Game Bakers的联合创始人Audrey LePrince肯定了这一点,完美地体现了她开发游戏Haven的工作,这是一款关于两个浪漫伙伴的游戏,他们在整个游戏中彼此有很多亲昵的身体接触。

“触摸、牵手、拥抱已经很困难了,但在实时游戏中,这就是一场噩梦。Haven是一个很好的例子,但对玩家来说,这似乎还是很自然的事情,我们应该在游戏中更多地采用这种方式。”

游戏开发公司Gearbox的首席技术设计动画师Maebe Sewell指出了另一个例子:抚摸狗。游戏中摸狗的趋势,部分是由推特账户Can You Pet the Dog?(你能摸狗吗)引发的,但Sewell指出,由于上述关于两个角色相互接触的问题,摸狗实际上是非常具有挑战性的,更不用说像AI路径、UI等等问题。

无论你的目标是现实主义还是特定的视觉风格,物体和人物一起移动和互动都是一个问题。对于一个非常具体的例子,Glitch Factory的艺术家和动画师João Esse提供了一个即将推出的游戏不可鲁莽 (No Place for Bravery)中的问题,主人公Thorn背着他的儿子Phid。这两个角色有独立的动画,每个角色可以同时执行不同的动作。例如,Thorn可能正在与敌人战斗,而Phid则在指着感兴趣的东西。

“在一些动画中,二人的空间关系最终变得非常复杂,特别是当Phid在不同的帧中向前或向后移动时。我们必须在每个动画中的每一帧都校正每个角色的位置以解决这个问题。”

当Thorn做出非常复杂的动作时,真正的问题开始出现,比如下面图片中的动作:

“Phid和盾牌在Thorn和锤子之间,大家也在一起旋转,制造锤子打击的假象。”

Esse说,当Phid在某些部分缺失时,变得更加复杂。Thorn不能只留下他的动画而不考虑Phid,因为像他的盾牌是专门为考虑Phid的方式而制作的动画,而且在Phid刚被拿出来的时候看起来很滑稽。所以这些部分有一套完全独立的动画。

“这可是142个动画,941个动画帧,分为97层,所有这些都是在主角身上!” Esse总结说。

尽管水体不是一个物体,但在允许或防止互动方面却带来了另一套困难。游戏公司Unknown Worlds的联合创始人麦克斯解释说,大多数玩家都知道在游戏中制造水有多难,但他补充说,经常被忽视的是,要让这些水远离你不想要它们出现的地方是多么困难。

“只要你把船、潜水艇、水下基地或洞穴引入这个水世界,你就会遇到一个问题。这些物体的船体所占据的空间不应该包含水(除非漏水!),需要在那个简单的水体中刻画出来。通常情况下,与水互动的每个系统都会使用不同的方法。对于游戏代码,可能会有一系列的检查来确定玩家在当前的位置是否能够呼吸。玩家是在海洋内吗?是在船上吗?船是否正在下沉?在《深海迷航》中,回答 ”玩家是否在水中 “的问题成为一个非常复杂的代码路径。

译者:蒂克伟

相关文章:

做一款游戏哪最难?开发者说哪都难(二)

做一款游戏哪最难?开发者说哪都难(三)

+1
10

好文章,需要你的鼓励

参与评论
评论千万条,友善第一条
后参与讨论
提交评论0/1000

文章提及的项目

下一篇

曾在公开场合感叹公司发展超预期的楼柏良,仍在拓展康龙化(300759.SZ)的版图。

2021-10-18

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业