原文地址:https://flarkminator.com/2010/12/24/designing-enemies-actions-reactions-and-results/
作者:Mike Birkhead(战神系列战斗系统高级设计师)
感谢作者和他的分享精神,我这里也不过是薪火传递,将好文引入国内。
在这篇三部分文章的第一部分中,我以一个基本前提开始:你能想到的每一个动作都已经被创造出来了。我重点介绍了《Marvel vs Capcom 2》作为研究酷炫和强大招式的强大资源,因为它在游戏深度和广度上都很出色,并且有大量的主题可供借鉴。现在,我们要深入了解如何通过理解你所看到的内容以及为什么要借用它来分解招式的乐趣。
需要明确的是:我的词汇与MvC2社区并不一致。这些是我在制作《战神》时学到的术语,我已经将其适应并应用于MvC2游戏。我这样做的原因有两个:第一,因为用《战神》的术语思考对我来说更容易;第二,我这样做是为了强化一个观点,即这不仅仅是关于MvC2的讨论。目的是讨论如何有效地构建用于动作冒险游戏的创意,而MvC2是最大的灵感来源。
所有的招式都可以分解为三个阶段:动作、反应和结果。玩家执行某个动作,他的对手做出反应,结果是他们的状态发生变化。有些招式涉及所有三个阶段(如发射火球),而有些可能只涉及一个阶段(如传送),是的,有时很难将招式归入任何一个模子。不要灰心,而是要记住:最终你将把这些想法重构为自己的招式。结构化的方法有助于构建和平衡;此外,这种思维方式提醒你问重要的问题:它看起来怎么样,它做了什么,我如何反应,为什么要使用它,我如何反制它?
在设计过程中,有时会有那么一些罕见的时刻,过程似乎自然流畅。灵感左右开弓,你知道你想要的确切动作。一看到一幅概念艺术,你就知道它应该有哪些动作。这些完美的时刻太少了。灵感,这个最难捉摸的朋友,选择她想要袭击的时刻;然而,这并不意味着我们只是坐等。这就是挖掘创意的地方,无论我们是在寻找适合怪物的动作,还是希望找到适合某个动作的怪物,搜索都从一个动作开始。
动作
你角色的每一个动作都是某种动作。分解你在MvC2或任何游戏中看到的动作的第一步是理解它们的基本结构。一个动作由动画帧组成,这些帧分为三个阶段:启动(又叫做起始、前摇)、命中和恢复又叫做(收招、后摇)。
- 启动:动作开始,但还没有发生任何事情。如果我要打你,这将是我把手收回准备的部分——我的肌肉在准备中紧绷。这个阶段持续的时间越长,你的对手就有越多的时间来判断你在做什么动作并做出反应。当有人说一个动作是“显而易见的”,他们可能指的是动作有一个长而明显的启动阶段。

- 命中:动作现在“激活”。如果这是一次拳击,并且它碰到了别人,这将是他们受到伤害并做出反应的部分。这个阶段持续的时间越长,就越容易击中某人。乍一看,“越长越好”,然而你的命中帧越长,你的角色花在这个动作上的时间就越多。在《街头霸王2》中,M. Bison的蹲重脚(c.HK)让他沿地面滑行一段距离。他的命中帧涵盖了整个滑行,这使得它成为一个冒险的动作。如果另一名玩家挡住了这个动作,由于你仍然被锁定在滑行中,他们可以轻松反击。

- 恢复:动作不再激活,但我必须花时间恢复到“休息”状态,才能执行另一个动作。如果我在打你,这将是我把手收回所需的时间。如果我真的全力以赴,这也可能是我花时间喘息的时间。恢复时间越长,就像有大量的命中帧一样,意味着你被锁定在这个动作中,或者“承诺”了。一个特别强大的动作可能通过长时间的恢复来平衡——高风险高回报。

格斗游戏、动作冒险游戏、割草游戏……它们的成败取决于近战动作的强度。它们是否感觉强大,是否流畅,是否合乎逻辑。MvC2中的大多数动作——一般来说,在格斗游戏中——都属于近战动作。从快速的刺拳到让你用身体的一部分猛击对手的头顶重击;你可以用身体的某个部位打击他人的方式数量多种多样。这种多样性来自于三个属性之间的相互作用:力量、范围和速度。这些属性是一个滑动的尺度,而不是一个严格的选择——想象拨号盘而不是复选框。
理解如何调整这些拨号盘需要牢牢掌握我们动作的三个阶段。你可以拥有游戏中最强大的动作,而我拥有最弱的,但如果我的动作启动帧更少,我每天都会击败你。我的速度击败了你的力量,虽然我们可以通过给那个强大的动作更大的范围来解决这个问题,但当我们对反应有一个全面的理解时,更好的解决方案会出现,以及如何使用不同种类的反应(或缺乏反应)来平衡动作。
反应
动作是有趣的部分——我们专注的部分——但它们不是最重要的部分。一个强大的动作只有在由一个强大的反应卖出时才感觉像一个强大的动作。理解角色对各种动作的反应的方式和原因对于确保你的动作不会显得平淡无奇,甚至更糟的是,滑稽可笑是至关重要的。
在研究动作时,要观察对手的正常反应和招架(防御)时的反应之间的区别。当你被一个动作击中时,就像你执行一个动作一样,你会播放一个动画,并且你的角色在一段时间内被锁定在这个反应中。当你防御时,播放的反应动画在视觉上通常是不同的,但更重要的是,你被迫播放的动画更短(帧数更少)。击中和防御之间的长度差异可能意味着连击成功或被残酷惩罚。正常反应意味着你被困在命中恢复中(也称为命中硬直)。如果你在防御,你被困在防御恢复中(也称为防御硬直)。注意:我不喜欢“硬直”或“招架”这两个术语。前者因为你实际上并没有被硬直,而后者因为招架意味着完全否定所有伤害,而防御意味着减少伤害,这更准确。
假设我有一个有2个命中帧、4个恢复帧的拳击动作,以及一个有3个启动帧的踢腿动作。拳击造成10帧的命中恢复,但只有5帧的防御恢复。如果我用这个拳击攻击某人(他们没有防御),我可以连击我的踢腿并获得一个免费命中(我的命中、恢复和启动时间少于他的命中恢复)。然而,如果他们防御我的拳击,他将在我之前恢复。这只是一个简单的例子,但你可以看到理解差异的重要性。


这只是你开始理解反应时可以做的事情。回到上面的例子,那个超级强大但缓慢的动作和那个非常快速但弱小的动作。快速的动作会占优势,但如果我们能给慢动作引入一个新花招呢?有些动作允许玩家拥有护甲或“坦克”攻击。坦克时你会受到伤害,但不会反应。这给你一个明显的优势。快速的动作会击中你,你会受到伤害,但没关系,因为你继续前进并粉碎那个混蛋——万岁!坦克是我们可以放在一个动作上的修饰符的一个例子,这不是你能使用的唯一一个。注意:即使修饰符是动作的属性,我认为在这里谈论它们很重要,因为它们几乎专门处理你如何(或不)对动作做出反应。有相当多的修饰符,再次,这些是我在制作《战神》时学到的术语,但你可以在MvC2中看到它们的某种形式:
- 坦克:你会受到伤害,但不会播放反应。有时一个动作只能坦克固定数量的击中。例如,你可以坦克第一次击中,但如果你第二次被击中,你会正常播放反应。
- 无敌:你不会受到伤害,也不会播放反应。
- 破防:试图招架具有此属性的动作会强制你播放一种特殊的反应。你不会受到伤害,但你会变得脆弱。
- 不可招架:试图招架具有此修饰符的动作会强制你播放正常反应,就像你根本没有招架一样。
- 崩溃:一种特殊的反应。你的角色在一段时间内失去控制。崩溃时被击中会使你播放正常反应。注意:这与被硬直不同。当你被硬直并受到击中时,你会保持硬直状态,直到一段时间过去。然而,崩溃状态在你被击中后结束。
- 冻结:变成冰,变成石头;主题无关紧要,反应是相同的。你被锁定,硬直,你不能破除,直到计时器结束。注意:这是我第一次使用硬直这个词。因为这是第一次它是事实上的正确。不要在不合适的时候使用它。这很混乱,只会削弱沟通和意义。
有了各种反应(正常击中、防御击中、空中击中、崩溃等),并且知道要真正卖出一个攻击,它必须有适当的反应,你可以看到当不加控制时,工作量如何开始膨胀。
如果你没时间制作与之相配的反应,那么制作看起来‘很酷的’攻击动作就是白费力气。
这纯粹是轶事,但我相信,区分优秀与伟大的因素是对系统中反应的重要性有一个真正的掌握;不仅是如何让它们看起来好,而且是如何在预算内让它们看起来好。你的工作量决定了可能的反应,反应决定了攻击的感觉,感觉决定了最后一部分,你的结果。
结果
反应和结果有什么区别?随意地看,反应似乎是结果,但这里有一个值得注意的区别。首先,一个动作可以有结果而没有反应(我喝了一瓶治疗药水)。其次,更重要的是,反应是动画,而结果是状态的变化。
在这个上下文中,状态不仅仅指你的角色的健康。其他状态变化包括从改变你当前的护甲等级到改变你是否被认为在地面或空中。为了清晰起见,我将它们分为几类,然后在每个类别中提供一些例子来说明其用途。
健康
- 伤害:固定的健康减少。造成的伤害量由两个因素决定:对手的护甲等级和当前的连击计数。像Sentinel这样的角色比Akuma受到的伤害更少,因为他们有不同的护甲等级,此外,你击中某人的次数越多,你的伤害缩放越小(最终减少到每次击中1点伤害)。
- 毒药:固定的健康随时间减少。
- 治疗:固定的健康增加。
- 再生:固定的健康随时间增加。
- 吸血:减少一个人的健康,治疗另一个人一定比例的伤害。
防御
- 护甲:增加或减少由护甲缩放的伤害量。
时间
- 增加:让一个角色比另一个角色移动更快是一个易于理解但实现复杂的概念,但一个更好的例子是考虑如果我们简单地减少一个角色播放的启动帧数会发生什么。
- 减少:同样,但相反。我可以增加对手的恢复时间,给我一个重大优势。
位置
- 冲击:并非所有动作都会把你推到屏幕的另一边,有些会把你吸进去。冲击是一个通用属性,程序化应用,表示某物(正或负)推你的量。
- 发射:将敌人击飞到空中会将他置于一个完全新的状态。游戏必须理解他不仅行为不同,而且反应也不同。当你在空中时,会有一整套新的反应要播放;记住我说过当你不注意时你的工作量会膨胀?
结果是容易理解的,且思考起来很有趣,但不要被冲昏头脑。它们在概念上的简单性掩盖了它们在实现上的复杂性。对于你希望调节的每个系统,程序员必须花费时间和精力使该系统可变而不是固定。谨慎选择你的战斗。
工作完成了一半
动作、反应和结果。这些阶段帮助我们回答三个问题:它看起来怎么样,我如何反应,它做了什么?我们还没有了解为什么要使用它以及如何反制它,但这些问题通过将分解的部分和想法重构为一个连贯的包来回答。这听起来要比实际操作容易得多,而从分解的部分中创造新想法,一旦开始,似乎是一项艰巨的任务;然而,有一些简单的指导方针(和耐心),这是非常可期的——甚至可能很有趣。
原文:
In the first part of this three part post I started with a basic premise: every move you can think of has already been created. I focused on Marvel vs Capcom 2 as a powerful resource for studying cool and powerful moves, as it has both depth and breadth in play, and it has a large tapestry of themes to pull from. Now we are going to get into the nitty-gritty fun of breaking down moves by understanding not only what you are seeing, but also why you are stealing it.
Just to be clear: my vocabulary is NOT congruous with the MvC2 community. These are the terms I was taught while working on god of war, which I have adapted and applied to the game of MvC2. I do this, number one, because it is easier for me to think in terms of god of war terminology, and number two, I do it to reinforce the idea that this is not “about” MvC2. The purpose is to talk about how to effectively construct ideas for use in an action adventure game, with MvC2 being the greatest source.
All moves are broken down into three stages: Action, Reaction, and Result. The player performs some action, his opponent reacts, and it results in both of their status changing. Some moves involve all three stages (throwing a fireball), while others might only involve one (teleporting), and yes, sometimes it can be hard to fit moves into any mold. Do not lose heart but instead remember: eventually you are going to reconstruct these ideas into your own moves. A structured approach helps in both construction and balance; additionally, this way of thinking reminds you of the important questions to ask: what does it look like, what does it do, how do I react, why should I use it, and how can I counter it?
When designing, there are those rare moments where the process seems to flow naturally. Inspiration is striking left and right, and you know the exact move that you want. One look at a piece of concept art, and you know exactly what moves it should have. These perfect moments are all too uncommon. Inspiration, that most elusive friend, chooses when she wants to strike; however, that doesn’t mean we just sit around waiting. That’s where mining for ideas comes in, and whether we are looking for a move to fit a monster, or hoping to find a monster to fit a move, the search starts with an action.
Action
Every move your character makes is some kind of action. The first step in deconstructing the actions you see in MvC2, or any game, is by understanding their basic structure. A move is made up of frames of animation, and these frames are broken down into three stages: Startup, Hit, and Recovery.
- Startup: The move is starting, but nothing has happened yet. If I was going to punch you, this would be the part where I pull my hand back and get ready – my muscles tightening in preparation. The longer this period last, the more time your opponent has to figure out what move you are doing and react. When someone says a move is “telegraphed”, they are likely referring to the fact that a move had a long and obvious startup.
- Hit: The move is now “active”. If it was a punch and it was touching someone else, this would be the part where they take damage and react to it. The longer this period lasts, the easier it is to hit someone. At first glance it appears that “longer is better”, however the longer your hit frames are active the more time your character spends locked into this move. In Street Fighter 2, M. Bison’s crouching heavy kick (c.HK) makes him slide along the floor a decent distance. His hit frames encompass the entire slide, which makes it a risky move. If the other player blocks the move, since you are still locked into the slide, they can easily counter attack.
- Recovery: The move is no longer active, but I must spend time recovering back to my “rest” state before I can perform another move. If I was punching you this would be the time it takes me to bring my hand back. If I really put my all into this punch, it could also be the time I spend trying to catch my breath. The longer the recovery, like having a large number of hit frames, means that you are locked into this move, or “committed”. A particularly powerful move might be balanced by having a long recovery – high risk high reward.
Fighting games, action adventure games, beat em ups… they all make it or break it by the strength of their melee moves. Do they feel powerful, do they flow, and do they make sense. The majority of moves in MvC2 – in fighting games in general – fall into the category of melee moves. From quick jabs that let you poke your opponent to death, to arm-stretching overhead smashes that flatten them to the ground; the number of ways you can slap some part of your body against someone else is as varied as our imaginations. This variety comes from the interplay between three attributes: Power, Range, and Speed. These attributes are a sliding scale and not a harsh choice – imagine dials not check boxes.
Understanding how to adjust these dials requires a firm grasp of our three stages of a move. You can have the most powerful move in the game and I the weakest, but if my move has fewer start up frames I will beat you all day every day. My speed defeats your power, and while we could fix this by giving that powerful move greater range, the better solutions present themselves when we have a robust understanding of reactions, and how different kinds of reactions (or a lack of them) can be used to balance moves.
Reaction
Actions are the fun part – the part we fixate on – but they are not the most important part. A powerful move feels like a powerful move only when it is sold by a powerful looking reaction. Understanding how and why characters react to various moves is integral in making sure your moves don’t come off feeling underwhelming, or even worse, comical.
As you study moves, observe the difference between an opponents normal reaction and his reaction when blocking (guarding). When you are hit by a move, much like when you perform an action, you play an animation, and your character is locked into this reaction for a period of time. The reaction animation you play is, most times, visually different when you are guarding, but more importantly, the animation you are forced to play is shorter (fewer frames). The variance in length between taking a hit and guarding a hit can mean the difference between landing a combo, or getting brutally punished. A normal reaction means that you are stuck in Hit Recovery (also called Hit Stun). If you are guarding, you are stuck in Guard Recovery (also called Block Stun). Note: I do not like the terms stun or block. The former because you are not actually stunned, and the latter because blocking implies a negation of all damage, while guarding implies a reduction in damage, which is more accurate.
Let’s say I have a punch with 2 hit frames, 4 frames of Recovery, and a kick with 3 frames of Startup. The punch causes 10 frames of Hit Recovery but only 5 frames of Guard Recovery. If I attack someone with this punch (and they do not guard it), I can combo into my kick and get a free hit (my hit, recovery and startup is less than his hit recovery). If they guard my punch, however, he will recover before I do. This is just a simple example, but you can see the importance in understanding the difference.
This is just the beginning of what you can do when you begin to understand reactions. Return to the example above, with the ridiculously powerful but slow move and the weak but very quick move. The quick move was going to have the advantage, but what if we can introduce a new trick to the slow move? Some moves allow the player to have armor or “tank” through attacks. While tanking you take damage, but do not react. This gives you a clear advantage. The quick move will hit you, and you will take damage, but it’s no matter because you plow right on through and smash that punk to bits – huzzah! Tanking is an example of a modifier that we can place on a move, and it’s not the only one you can use. Note: even though modifiers are an attribute of the action, I feel it’s important to talk about them here in reactions, because they deal almost exclusively with how you react (or don’t react) to moves. There are quite a few modifiers, and again, these are terms I learned from working on god of war, but you can see most of them in some form in MvC2:
- Tank: You take damage, but do not play reactions. Sometimes a move can only tank a fixed number of hits. For example, you can tank the first hit, but if you are hit a second time you play a reaction normally.
- Invulnerable: You take no damage and do not play reactions.
- Guard Break: Attempting to block a move with this attribute forces you to play a special kind of reaction. You do not take damage, but you are left vulnerable.
- Unblockable: Attempting to block a move with this modifier forces you to play a normal reaction as if you did not block it at all.
- Crumple: A special kind of reaction. Your character loses control for a period of time. Being hit while crumpled causes you to play a normal reaction. Note: THIS IS NOT THE SAME AS BEING STUNNED. When you are stunned and receive a hit, you remain stunned until a period of time has passed. The Crumple state, however, ends once you are hit.
- Frozen: Turned to ice, turned to stone; theme is irrelevant, the reaction is the same. You are locked down, stunned, and you cannot break free until a timer runs down. Note: this is the first time I have used the word stunned. That is because this is the first time it has been factually correct. Do not use it when not appropriate. It’s confusing, and only serves to weaken communication and meaning.
With all of the various reactions (normal hits, guarded hits, air hits, crumples, etc.) and with the knowledge that to truly sell an attack it has to have an appropriate reaction, you can see how the workload begins to balloon when left unchecked.
Note: If you don’t have time to make heavy reactions, all that time and effort making ‘cool’ heavy looking attacks is now worthless.
It is purely anecdotal, but it is my belief that what separates the good from the great is having a truly competent grasp of how important reactions are to the system; not just how to make them look good, but how to make them look good within a budget. Your workload dictates the possible reactions, the reactions dictate the feel of your attacks, and the feel dictates the final piece, your results.
Result
What is the difference between reaction and result? Viewed casually, reactions seem to be results, but there is a worthwhile distinction here. First, a move can have a result without a reaction (I drink a health potion). Second, and more important, reactions are animations, while results are changes in state.
State, in this context, refers to more than just the health of your character. Other changes in state range from altering your current armor rating, to altering whether you are considered on the ground or in the air. For clarity I will break them down into categories, and then provide some examples within each category to illustrate its uses.
Health
- Damage: A fixed reduction in health. The amount of damage done is scaled by two factors: the opponents armor class, and the current combo count. A character like Sentinel takes less damage from hits than someone like Akuma because they have different armor class ratings, additionally, the more you hit someone, the more your damage is scaled down (eventually reducing down to 1 damage per hit).
- Poison: A fixed reduction in health over time.
- Heal: A fixed increase in health
- Regen: A fixed increase in health over time
- Drain: Reduces health from one person, healing someone else for some fraction of damage done.
Defense
- Armor: Increases or decreases the amount of damage scaled by your armor.
Time
- Increase: Making one character move faster than another is a simple to understand, if complex to implement, example of this concept, but a better illustration is to consider what happens if we simply reduce the number of startup frames a character plays.
- Decrease: Much the same, but in reverse. I could increase the length of my opponents recovery, giving me a major advantage.
Position
- Impulse: Not all moves shove you across the screen, some suck you in. Impulse is the generic attribute, applied programmatically, of how much (both positive or negative) something shoves you.
- Launch: Knocking an enemy into the air places him into a completely new state. The game must understand not only that he acts differently, but also that he reactsdifferently. There are a whole new set of reactions to play when you are in the air; remember what I said about your workload ballooning when you don’t pay attention?
Results are easy to grasp and fun to think about, but do not get carried away. Their simplicity in concept belies their complexity of implementation. For every system you wish to modulate, the programmers must expend time and effort making that system variable instead of fixed. Pick your battles carefully.
A Job Half Done
Action, Reaction, and Result. These stages help us answer three questions: what does it look like, how do I react to it, and what does it do? We have yet to learn why we should use it and how to counter it, but these questions are answered by taking the deconstructed parts and ideas and reconstructing them into a coherent package. It sounds a hell of a lot easier than it is, and crafting new ideas from our deconstructed parts can, once started, seem like a Herculean task; however, with some simple guidelines (and patience), it is very manageable – maybe even fun.
Thank you for sharing!! : D