节奏和排序的设计既不单是科学也不单是艺术,而是两者的结合。如果他是精确的科学,那么90%的战斗遭遇战都可以直接套用公式计算了。他也不是完全的艺术,在这儿,科学是一切的基础。所以,节奏和顺序的设计是一门基于科学的艺术。接下来,我们将展示艺术决策如何基于科学的进程来制造出酷炫的关卡遭遇战。
战斗计划
为了理解科学的设计节奏和顺序,我们首先需要理解游戏的战斗计划。战斗计划指的是玩家在战斗遭遇战中可以做出的所有抉择。大多数游戏中,这些计划通常是金字塔状的,由分析、战斗和移动几个选项组成。
图1:战斗计划金字塔
无论在何处遇到战斗遭遇战,玩家都需要先分析情况,然后选择攻击他们的敌人或是逃跑。如果玩家需要更多次停下来,在战斗计划中选择新的行为。那么说明遭遇战更加紧张刺激。举个例子,如果只是简单的与两名敌人交火,玩家应该就会很安稳的执行战斗行为。然而,如果场地突然出现了新的敌人类型,那么玩家则需要重新评估并且改变自己的战斗行为。停止当前的行为并且选择一个不同的行为,这会让战斗变得更加紧张。增加遭遇战的强度是理解节奏和排序的关键概念。
节奏
通常,节奏指的就是遭遇战的心流。《战神》设计师Mike Birkhead在他的博客《Flark Design, Great fights have a flowto them》中阐述得很好。设计一场战斗,不仅开始的时候很强烈,而且也在不断强化,最终形成最后的高潮。让我们分解大部分现代游戏的遭遇战模式,来弄清楚为什么渐强对于遭遇战如此重要。这个模式来源于心流:介绍敌人、引发冲突、强化冲突、在中点给予喘息以及以最终挑战作为结束。举个例子,看下面的图表,我介绍了一场遭遇战在这个模式下的每一个阶段,以及每个阶段所发生的行为。
Fig 2: 普通的节奏模式
现在我们有了基础的例子,我们需要添加实际的数据来证明,为什么这种模式是好的节奏。为了获得数据,我们需要数学的方式来定义节奏,以及不同时刻的强度。时间指的是行为的持续时间,强度则指的是多久玩家需要重新计划一次。0表示不需要重新计划,10则表示最可能需要重新计划。这些数值添加进图表中,然后绘制成图像让我们可以更轻松的看见。
Fig 3: 增加的时间和强度
Fig 4: 节奏 = 强度 / 时间
战斗模式是成功的,因为它会随着时间的推移而增加强度,提供一个强度减弱的中点,然后在遭遇战最紧张的时刻达到高潮。好的遭遇战使用强度来形成渐强的战斗体验,Birkhead 提到。并非所有遭遇战都需要遵循这种模式,但是它必须保障不断增加的强度。增加战斗强度可以维持住战斗的紧张感,防止玩家感到无聊并且保持战斗的乐趣。
排序
我提到过节奏和排序都是既包含艺术也包含科学的。节奏代表的是科学而排序代表的是艺术。回顾我们刚刚提到的遭遇战图表,行为那一列决定了强度的高低。这些行为,这些行为,如新敌人的到来或直升机飞进来,都是有顺序的。这些行为都是通过结合不同的游戏内因素形成的。这些游戏因素为:敌人类型,敌人数量,敌人生成地点,两次生成的间隔时间,音乐,对话以及关卡中的重大事件(譬如大规模的场地破坏)。这些因素将在下文加以详述。
为了判断设计师是否能够成功地将这些元素整合在一起,他们必须不断地测试遭遇战。节奏图表中的强度和时间的数字需要更具游戏测试结果来填写。根据维基百科的定义,艺术是人类创造性技能和想象力的表达或应用。将不同的因素组合在一起,构成排序需要大量的创造力和想象力。
敌人类型因素
敌人类型排序因素指的是,关卡设计师为了玩家战斗而创造的角色原型,且角色的行为都是不同的。设计师可以在一组敌人内只使用一种类型,也可以将不同类型合并在一起。
引进新的敌人类型是改变遭遇战强度的一种简单方法,因为它为玩家引入了一种新的需要应对的模式。举个例子来说吧,在一场充满机关兵的遭遇战中,当许多机关兵死亡后,设计师生成了一个散弹枪兵。散弹枪兵试图靠近玩家并向其射击,而不是从远处射击。那么游戏强度便会提升,因为玩家需要同时面对来自散弹枪兵的近距离攻击以及来自机枪兵的远距离攻击。
Fig 5: 不同敌人类型
设计师需要谨慎对待敌人类型,避免一次性引进过多不同类型的敌人。如果屏幕上一次性出现太多不同的类型,可能会使玩家变得不知所措,并且使得战斗变得过于激烈。如何把控这个度,需要通过观察玩家在游戏测试中的表现来衡量。
设计师还注意AI之间如何协同工作的,猎枪和机关枪是比手枪和机关枪更好的组合。应对中程和近程攻击组合的模式,需要进行更多的重新规划,因此比增加另一个中程攻击敌人的强度更高。试着选择那些优势和劣势互补的敌人。
敌人数量因素
敌人数量排序因素指的是在遭遇战中任何时刻屏幕上的敌人数量。增加或减少屏幕上的敌人数量将决定敌人数量强度。敌人数量是最容易使一场战斗更加激烈的旋钮。一个敌人太容易了,那就再加一个,或者反过来。
敌人数量因素与敌人类型因素密切相关。8个低生命值并且一击就能击杀的敌人组合并不会像8个高生命值且由3种不同类型敌人的组合那样强大。当排列战斗遭遇战的敌人数量时,有两种主要模式:三角形模式和菱形模式。在三角形模式中,设计师在保持敌人类型强度一致的情况下增加敌人数量。
Fig 6: 三角形敌人数量模式
在菱形模式中,设计师开始时采用与三角形图案相同的方法,但在增加敌人类型强度的同时减少敌人数量,从而增加强度。
Fig 7: 菱形敌人数量模式
三角形模式是遭遇战中最常用的模式。设计师只是在每个波浪中添加更多角色,或者杀死更多敌人。菱形图案在boss或迷你boss战斗中更为常见。战斗开始于炮灰,随着炮灰被摧毁,更少更困难的敌人进入遭遇战,最终形成一个极具挑战性的AI原型。
生成时机因素
生成时机排序因素指的是每个AI出现的间隔时间。如果敌人快速出现在屏幕中,玩家可能无法识别出他们所需要应对的战斗模式,战斗可能会变得过于激烈。相反地,如果它们慢慢的出现,那么游戏的强度就会迅速下降,让玩家感到无聊。设计一场战斗的敌人生成时机,就像编排一场激烈的舞蹈。让玩家欣赏和消化每个新舞者的到来,让玩家计划正确的行动。
要注意AI与玩家产生的距离,因为这也会影响时间。这不仅仅是刷出之间的间隔时间,而是与玩家产生接触的时间。把它们刷得太远可能会让AI觉得它们不是威胁,因为它们需要很长时间才能到达你的身边。把它们刷得离玩家太近则会让AI在玩家做出计划之前就接近玩家..
敌人生成位置因素
我个人最喜欢的排序因素之一是敌人生成位置因素,即敌人出现在屏幕上的位置。最重要的是让玩家的准星在交火时在屏幕上移动,而不是过于集中在一个点上。如果玩家一直向一个区域射击敌人,那么战斗就不需要重新规划,也不会很有趣。让玩家在场景中移动不仅能够提高游戏的强度,同时也能够帮助他们欣赏美术人员打造的酷炫的环境。
在我们深入研究之前,让我们先休息一下,讨论一下人眼在看屏幕时是如何工作的。大多数人从左到右阅读,这导致人眼从屏幕的左上角开始,然后在四个角上绕着圈移动。知道这个有趣的事实后,总是在左上角开始你的第一个AI刷出,然后沿着圆圈绘制后续的刷出。
Fig 8: 眼睛看屏幕时通常从左向右看
遵循圆形模式能够让玩家更容易理解屏幕上发生了什么,并做出相应的计划。它还被用于制作有趣的生成动画,这会使得遭遇战更精彩。通过适当的刷出间隔时间,设计师可以深入研究模块化刷出动画,譬如同时登场、滑索、运输机、壁橱、天窗顶降等,无数其他刷出动画,从而给玩家带来刺激的感官冲击。
要测试你是否成功,就要观察你的团队成员或测试者玩你的关卡时的状态。具体来说,要注意他们的准星。他们是不是移动得不多,并停留在屏幕的某个特定部位不动?如果是这样,你需要更大的强度。如果十字光标在屏幕上移动太多,让玩家感到受挫,那么你就需要放慢循环的生成速度,让玩家消化每个新敌人。最后,找到一个平衡点,让玩家既可以在屏幕的不同部分移动准星,看着AI进入,但又不会感到不知所措。
关卡事件因素
关卡事件排序要素指的是设计师添加到关卡中的脚本事件,有助于讲述战斗故事。关卡事件可以是任何内容,从破坏掩体,道路被阻塞到整个房间着火或洪水。它们增加了强度,因为它们迫使玩家重新计划。
就像在《神秘海域3》中的游轮战斗中,房间里的水越来越多。当房间注入水时,可玩游戏的空间就会缩小,玩家必须根据房间中每一次洪水状态的变化重新规划游戏。因为有了洪水房间所提供的强度,关卡设计师则无需再添加与其他战斗一样多的敌人来制造紧张的感觉。
Fig 9: 《神秘海域3》邮轮关中,战斗过程中会不断出现洪水
对话排序因素
对话顺序元素是指使用对话去暗示战斗中即将发生的变化或广播即将发生的关卡事件。举个例子,如果敌人边后退边说道:“大怪物到来之前,我们赶紧撤退吧。”那么玩家便会立即停止自己正在做的事并重新计划如何去打败即将到来的新的大怪物。如果没有对话,游戏的强度就会发生变化,因为玩家几乎没有时间重新规划下一步的行动。AI通过对话来传播战斗的相关信息是一种有效且廉价的影响战斗强度的方式。
音乐排序因素
总的来说,音乐增加了事件的规模并使事件戏剧化。在战斗中,战斗音乐有助于将战斗戏剧化,并成为大脑开始识别和学习的战斗模式的另一层。举一个有趣的案例,让某人玩一个有音乐和没有音乐的白盒阶段的战斗关卡,并问他们哪个感觉更紧张。带有音乐的游戏总是会因为音乐所添加的戏剧性而让玩家感到更加紧张,它能将玩家带向另一个情感层面。
结论
将所有要素结合在一起就是排序的艺术,而排序要素发生的时机则是节奏的科学。在执行遭遇战的节奏和排序时,必须记住它们是遭遇战中两个独立但相互关联的方面,其中一个的改变总是会影响到另一个。
文/Travis Hoffstetter
翻译:喷气小可乐
文章地址:https://www.gamasutra.com/blogs/TravisHoffstetter/20130210/186364/The_Art_and_Science_of_Pacing_and_Sequencing_Combat_Encounters.php
|