让我们从这些游戏的始祖开始:街头霸王:世界勇士。(Street Fighter 2: World Warrior)这是一个传奇故事。在游戏测试期间的某一天,加利福尼亚州一位名叫Tomo Ohira的人,用一些疯狂的招式打垮了游戏中的对手。他可以把一些不能连在一起的招式连起来,用取消制造出连续技。
当我听闻此事时,我还是一个身在俄亥俄州的孩子。我当然相信这个故事,因为Tomo Ohira是当时美国最优秀的街霸选手。然而,在那之后我从日本开发团队得知,这是游戏里的一个“bug”。他们觉得这个破绽很难变得实用,所以就保留了它。
结果,这个bug就成了取消-连续技的诞生之源。最典型的例子就是隆的龙卷旋风脚取消波动拳,我认为这是很多其他街霸游戏基础打法的催化剂,比如“憋角”和“下轻腿”。
取消的真正原理
让我们来给取消下个定义:当用户通过控制器输入一个动画树的一系列节点,开始播放一段新动画时停止播放前一段动画。不用考虑战斗系统的各个招式,让我们直接来分析取消的种类和方法。
取消分为两个核心种类,“部分取消”和“完全取消”。
“部分取消”能使一个动画在指定的条件下结束播放。“部分取消”有两个常用的条件,一个是“打击前帧”(Pre-hit,动画可以在打击进行的第一帧之前的任意时间取消),另一个是“打击后帧”(Post-hit,动画可以在打击进行的最后一帧之后的任意时间取消)。
“完全取消”则是让一个动画在任意的位置结束播放。我进行了归纳总结,只有在少数游戏中会有细微差别,但对于大部分游戏,99%都会采用这两种类型。
大部分游戏中,取消的两个方法是“缓冲”(Buffer)和“瞬时”(Instant)。
“缓冲”方法会预先储存用户的输入指令,并在取消条件成立时执行它们。在一些设计良好的游戏中,“缓冲”方法能在取消条件达成之前,用其他输入指令进行自身取消。这样保证了系统响应性的高品质。
“瞬时”方法则是在取消条件成立时,立即接受并执行用户在那一帧的输入指令。“瞬时”方法允许玩家延迟动画的播放时间,并添加到系统的总响应性中。
那么,我们来举一个例子。这里有一段名为“Square01”的动画。这段动画在我们按方块(Square)键时会播放。这段动画共有60帧的长度,在15帧至20帧是一个打击帧窗口(即打击判断生效)。这段动作的伪代码脚本如下:
//60 frames
Animation = Square01
//hit frames
On = 15;
Off = 20;
//attack cancel
Anim = Square02; Button = Square; On = 0; Off = 21; Method = Buffer;
Anim = Square02; Button = Square; On = 21; Off = 60; Method = Instant;
//block cancel
Anim = Block; Button = L1; On = 0; Off = 60; Method = Instant;
你也许会问,这些都代表了什么?注意“On/Off”参数,这些帧的值定义了取消窗口的范围。“Method”参数定义了取消的类型,如果你忘记的话请看上文的定义。
我们可以看到,在0到21帧之间,“Square01”是不能被打击前帧的方块键输入所取消。而在打击后帧,即帧21之前,方块键的输入是被记录到缓冲中的。
我们也可以看出,“Square01”在打击后帧之后,即21到60帧之间,可以被瞬时取消。并且,在0到60帧之间,L1键可以在任意时间取消“Square01”,也就是完全取消。
如果你明白了上述内容的话,试着去想象一下一个角色的招式中每一段可能播放的动画,并想象一下它们是如何与游戏系统相关联,比如回避、防御、反击、行走、跑步、跳跃、二段跳、魔法、投掷和相关反映动作。给你一个小的参考,《战神2》中的Kratos一共有大约4000个取消节点,以及每一个节点中大量的参数设置。
感到厌烦了?我保证从现在开始不从技术角度去谈论了。
实现的效果
一个完好实现的取消系统对游戏能产生什么样的效果呢?首先,这能判断一个游戏是否给人带有迟滞的感觉,或是爽快并且高响应的感觉。从防御的角度来看,它能给人带来“最好的进攻就是最好的防守”这样一个感觉。玩家可以攻击敌人,并用防御取消来制造新的机会去攻击。
防守取消在《灵魂能力》中是非常有趣的。因为它支持打击前帧的取消,能让玩家制造佯攻,给使用头脑的对战游戏提升了一个新的层次。《街头霸王3》和Marvel系列应用了“超杀取消”,在传统Capcom系列中显得十分华丽,并带来了进攻型的游戏体验。
你也会注意到,取消系统在一些需要节奏感的游戏中表现的十分出色,例如《罪恶工具》(Guilty Gear)系列。如果考虑到一个游戏中取消系统的各种变化,那真是数量众多。
一个典型的例子就是CvS2(Capcom vs SNK 2)中声名狼藉的“翻滚取消”(Roll Cancel),基于一个取消bug,一些招式可以变得无敌。最后,变成了游戏的趣味性和竞技性的争论。但是大多数情况下,一个出色的取消系统要具有一定深度,能让玩家发挥他们的创造力,给游戏的乐趣和感官的满足都带来提升。
下面我会介绍一下关于三大主流动作游戏的一些看法。它们是:《忍者龙剑传》(Ninja Gaiden)、《鬼泣》(Devil May Cry)和《战神》(排名不分先后)。(把我正在并已经制作近4年的一款游戏放到这Top3中可能会引发一些有趣的评论,所以我就不把这游戏写出来了)
忍龙的技术性
《忍龙》是一个非常严格的游戏。它的取消系统非常严格,事实上,打击前帧做出取消判定很容易让我反应不过来。我觉得这是一个非常好的规则,构建了一个牢固的战斗系统,但它也增加了游戏的难度。玩家知道,当他们按一个键发起攻击时,必须在下一段动画开始之前完成打击帧的输入。
这个规则也有一个有趣的地方:玩家甚至不能暂停游戏,因为他们可以换武器或取消攻击。不相信?你可以试试看。忍龙是一个被设计成核心向的游戏,所以他们用一些强硬的规则来保证游戏的公平,使玩家去了解这个严格而缜密的系统。我为板恒伴信和Team Ninja为这个系列所做出的努力和贡献而喝彩!
鬼泣的Style
鬼泣有很多和忍龙相似的规则,但是这是一款Capcom的游戏,他们抛出了一个名为战斗模式(Style)的炸弹,并且添加了许多有趣的成分。
鬼泣的主要取消系统集中在近身攻击和远程攻击的切换上。我确信所有的近身攻击都是打击后帧的取消,远程攻击是由开火速度控制的。而5到6种的近身及远程武器,使系统的变化更加丰富。如果再加入模式,那么效果是非常惊人的。比起忍龙的技术性,鬼泣更在于无序和华丽的招式。
毫无疑问,鬼泣是一个成功的尝试,从它黑暗阴郁的美术风格,到骄傲、爱说笑话的但丁。尽管如此,当你真正了解它时,你才能深刻“了解”它。并且这个系列有很多激进的Fans让你明白他们已经了解了。
战神和它的目标受众
战神与以上两款游戏不同,它支持很多打击前帧的取消,并且把这两款游戏中的一些方法组合起来。最明显的一点,就是战神不是一款核心向的游戏,没有很强的技术性或华丽的亮点,它只是一个具有纯粹砍杀乐趣的游戏。
它仍然具有一些灵光的要素。当然,那些在等待隆和但丁新的传说的Fans也给了我们一个机会。取消系统的规则是普遍而有目的的。我们的目标受众玩家不希望去学习技巧。他们只是想按照自己的方式去游戏。比起另外两个游戏,战斗并不是这个游戏的唯一部分。
那么关于L1加按键的特殊招式,为什么它们不能被取消?
这些招式显然是Kratos强有力的攻击方式,通过一个简单的按键指令发出。它们能立刻攻击到对手,或者使对手位于不利的状态。这些招式看起来也比较华丽,初学者看到四处闪耀的刀光,会觉得这些招式很强大。
就像我刚才提到的,其他游戏只是用打击后帧的取消,来告诉玩家:“要注意攻击前的瞬间。”而战神中几乎所有的基础攻击都能被任意取消,包括打击前帧,让玩家更轻松自如。
但是,L1加按键的特殊技会有潜在的高伤害能力,这样就不能在打击后帧之前取消。因为这会影响到游戏的平衡性(大多情况是造成无限连)。与此同时,对于初级的玩家,他们通常要了解的是风险与回报的概念。复杂的系统会使他们觉得游戏比较困难。
我知道这会从不同角度引发关于平衡性的争论。但是相信我,我听取过各种见解,而这是我们最终的决定。不管怎样,请随意告诉我我们有多愚蠢。
你不得不面对你的目标受众,而我认为我们抓住了最好的受众群体。那些因为4个小招式不能被提前取消而感到失望和愤慨的朋友们,我只能对他们说,对不起,你们错过了更多伟大的游戏体验。
战神的疏漏和瑕疵是显而易见的,但事实证明,这是唯一一款能吸引日本玩家目光的美式动作游戏。我从小到大在玩日本人的游戏,我希望做出一个感觉很日式的游戏,但是又如同美国电影一般好看。战神让我达成了这个心愿。它不是完美的,但有些人觉得它做到了,这正是我们作为游戏开发者所期望的。
顺便说一下,战神的取消方面还有一些深度乐趣。如果你不相信的话,按方块键,然后输入以下任意指令。
移动 (任意方向)= Post-hit frame
跳跃 = Pre-hit frame
翻滚(回避) = Pre-hit frame
魔法 = Pre-hit frame
投掷 = Pre-hit frame
防御(闪避/阻挡) = Pre-hit frame
切换武器 = Post-hit frame"