本文首发腾讯游戏学院GWB
ARPG游戏技能施放需要经历哪些流程?本文作者将其拆成三个阶段,今天将和大家聊聊技能有效性检测。如果你也在烦恼游戏技能设计,看完这篇或许能帮你少走一些弯路。
大家好,我是鱼骨头,今天我想跟大家聊一下ARPG的技能流程。在这里我先将技能整个流程简单的拆成三个阶段,如下图所示,分别为技能有效性检测、技能施放流程、技能生效。


简单来说,技能有效性检测是解决技能是否能放,对谁放的问题;技能施放过程是解决技能怎么放的问题;而技能生效阶段则是解决技能产生了什么样的影响的问题。本篇为第一篇,即技能的有效性检测部分,见下文。
一、前言
技能有效性检测一般都包含消耗、冷却、射程和施法目标四种变量的检测。其中消耗的规则没有太多想讲的,本文略过。冷却方面只简单聊一聊,重点还是施法目标和射程的检测与其相关规则。
二、冷却规则
技能冷却时间简单聊聊,比较通用的设计就是技能在冷却期间则无法施放,只有冷却时间为0时才可施放。这一设计想必无需赘述,以下聊一个小的优化设计--装载冷却。
在某些游戏中,技能有“装载冷却”的概念,即拥有技能的实体单位在拥有技能时,会预先进入一个“装载冷却”后才可正常施放技能。“装载冷却”和“技能冷却”是两个不同的变量,前者只会在拥有技能时生效一次,后者会在每次施放技能时生效一次。
比如某个角色在刚开始生成时,普攻装载冷却为0,但是技能装载冷却为5,则会开局直接施放普攻,等待5秒后才会开始施放技能。这两个变量可以很好的控制技能的施放节奏,尤其是AI的技能施放节奏,这两个参数相互配合则可以很好的还原出《刀塔传奇》的技能施放节奏。
在《DNF》这款游戏的竞技场中,为了平衡性和对抗节奏设计的需要,也会使高等级的技能在开局时拥有不同的装载冷却时间。
三、目标与射程的设计
因为目标和射程的关联性较强,所以打算一起来写。在这之前,鱼骨头先将技能分成两种模式,就施放时是否一定需要一个目标而分为“强目标”技能与“弱目标”技能。
3.1 强目标技能
强目标技能指的是技能施放时,技能射程内必须要有有效实体目标,否则技能是无法施放的。这种技能类型也就是大家常说的锁定型技能,在MOBA游戏中,英雄的普通攻击普遍采用的就是这种设计。
在这种设计下,因为技能射程内可能并不存在有效目标,因而玩家并不总是使用技能指令就能立即施放出技能的。但是从体验感上来讲,玩家使用了技能指令,还是期望立即能获得对应反馈的。
强目标设计中,战斗更偏数值,玩家只需要注意距离即可
在有效目标超出射程时,大部分游戏中的强目标技能都会执行追击逻辑。即系统会让施法者寻路至合适的距离后,再尝试施放该技能。注意,追击本身不属于技能流程中的内容,而是为了使有效目标满足有效射程而做的优化规则。
追击一般都会设置一个追击范围,即表示施法者只会对追击范围内的有效目标发动追击行为。如果追击范围内都没有有效目标的话,也就会提示玩家“该技能需要有效目标”,也就是用一种即时的错误反馈来提醒玩家该技能目前无法施放。

角色脚底蓝色光圈为技能射程指示器,角色会追击至合适距离再发动攻击
在这里,值得一提的是,不管是追击或是直接进行错误反馈的提示。从体验上来讲都是会降低操控感的,从玩家操控行为上而言,他的意图是发动技能,但是实际上技能并未发动。追击是一种补偿措施,而错误提示则是直接的错误反馈。
所以,就提升技能操控体验而言,鱼骨头想详细聊聊弱目标锁敌下的相关设计。
3.2 弱目标技能
与“强目标”技能对应的“弱目标”技能,则是在技能施放时,不要求技能射程内必须要有有效的实体目标,也就是说技能是允许空放的。这种设计体验上的好处主要是反馈即时,玩家发出施放技能的指令即可立即看到角色自身施放对应技能。
这种方案更多的运用在ACT游戏中,提升了操控感,但也因为操作反馈对即时性的要求,则舍去了目标选取的过程,与之代替的是对方向的选取或系统自动选取有效单位。
弱目标设计中玩家更多的需要自己来感受空间
方向型技能
对方向的技能很好理解,就是对某一个方向施放的技能。近战、远程、位移等技能都可以单纯的只对某一方向使用。
在设计上一般都是优先采用移动摇杆方向,如果没有使用摇杆,则默认为角色前方。我们可以将玩家摇杆在UI中的二维坐标,转换成角色水平地面的二维坐标。这样就构建了一个角色朝向与移动摇杆方向的对应关系。
这种技能一般用于比如翻滚(闪避)、召唤等不需要目标的技能。因为没有对有效目标的需求,所以本篇就不多讲,在下一篇中会聊到这些技能在流程上的设计思路。
系统自动选敌
因为系统都已经省略了目标选择的相关功能,那么与之代替的则是需要设计自动选敌的规则。如何能做到尽可能少操控的情况下保证技能可以攻击到目标,并且是攻击到想要攻击的目标呢?在这里,鱼骨头打算聊一下很多ARPG中惯用的自动锁敌的机制。这个机制细节较多,我们分几步来讲。
第一步-筛选目标
在选目标时,首先我们需要剔除掉技能射程外的所有目标,只保留射程内的目标。不同技能射程不同,因而保留的目标数也就不同。
如果射程内没有任何目标,则空放技能。空放技能一般都会处理成对自己空放或对角色前方某个虚拟的锚点坐标进行施放,这里便不多赘述,见下图即可。

对角色前方某个虚拟的锚点坐标进行施放示意图
如果技能射程内有目标,则选择一个目标并对该目标施放技能。为了反馈清晰,我们一般会设计成技能会朝向目标施法,但是这也并不绝对,不是所有技能都会朝向目标施法的,这个设计者自行决定即可。至于目标选择的规则,在第二步会详述。
角色普通攻击射程内无目标则空放
龙卷风技能射程远,射程内有目标则朝向目标施放
第二步-挑选“最近”的目标
在敌方单位较多的情况下,玩家使用普通攻击,则直接攻击最近的敌方单位,无疑是一个即省操作又能充分发挥技能效用的方案。

使用普通攻击,角色会立即攻击最近的敌方单位
但这种方案也有一个很明显的问题,那就是最近的敌方单位往往不是我想攻击的敌方单位。那么我们则需要加入一些更加智能的判定,即判断出什么单位是玩家想攻击的单位。在这里,我们需要结合一些设计者自己的想法,把玩家想攻击的单位改成设计者认为的玩家想攻击的单位。
以下鱼骨头会从怪物性质、镜头视野、摇杆操控、攻击范围几个点来详细阐述优化规则。
怪物性质
在挑选目标时,我们可以加入敌方单位威胁性的概念。即不同怪物有不同威胁性,这种威胁性会影响距离的计算。有些怪物影响率更高,有些怪物影响率更低,一般依据普通怪,精英怪,BOSS怪三个梯度来划分即可。
在实际应用时,我们将之前距离判断添加了威胁性影响比率,结果为距离*影响比率。譬如普通怪是1,精英怪是0.9,BOSS怪是0.8。那么同样是距离10米,在系统计算过影响比例后,三者经计算后距离分别为10,9,8米,也就是说,如果普通怪不能在8米以内的话,玩家角色施放技能则会始终攻击BOSS怪。

红色更大的敌人为BOSS,如果BOSS只是稍远于小怪的话,主角会优先攻击BOSS
按照这个思路,我们还可以将怪物的强度、健康程度都纳入计算范围,可以让玩家角色优先攻击更弱的或更容易击杀的单位。这些都看设计者具体需求,不多赘述。
镜头视野
经过上述计算后,玩家角色会攻击一个计算后的距离最近的目标,但却可能出现这个问题:游戏中镜头偏平视,距离角色也比较近,玩家明明看到前面5米有个目标,按下普通攻击按钮期待着攻击这个单位,结果角色突然180度转身攻击了后方一个距离2米的原本看不到的敌人。虽然这符合上述的逻辑,但不符合玩家的预期。
所以在上述的逻辑中,我们还需要考虑到镜头的视野。一般来讲,我们让游戏镜头可以看到的单位享有更高的优先级即可,与上述怪物性质规则一致。比如在镜头外的目标在进行距离计算时为1.1,那镜头外的目标除非明显比镜头内的目标更近,否则都会攻击镜头内的目标。
但是依然会存在一些问题,尽管运用了上述规则,但角色始终可能攻击镜头外的一个目标。并且镜头本身其实还有另一个问题,那就是目标位置相对于角色位置不太合理的话,比如目标在镜头边缘,我们攻击时观感并不舒服。那么我们就需要镜头旋转到合适的角度,以解决这2个问题。
这时候我们需要改变镜头三样参数,水平旋转角度、垂直旋转角度、与目标锚点的距离。
这三个参数可以让镜头在一个合适而又舒服的位置来观看角色攻击目标,但如果角色攻击所有目标都需要镜头旋转,又会使得镜头晃动过于频繁。
因为每款产品在这方面设计都各有特色,鱼骨头在此就只提几个常用设计。
在某些游戏中,如下图所示,用角色位置、镜头水平朝向构建出了一个二维坐标系。如果目标在1、2象限,则镜头不会水平选择;在3,4象限则会水平旋转。这是一种比较简单的设计思路,即攻击“镜头前方”的目标,前后的判断是基于主角。
角色攻击基于镜头朝向的“后方”单位时镜头会转向
角色攻击基于镜头朝向的“前方”单位时镜头不会转向

示意图,数字为象限
另外一种设计也较为通用,那便是其实每次攻击系统都会尝试改变镜头参数。他们会尝试镜头改变到一个合理的位置,让主角和目标都处于镜头的中心区域,这个中心区域的确定就需要使用到三分法的理论。三分法简单说就是把镜头分成一个九宫格,角色和目标在三分线交叉点上为最佳,两线位置次佳,如下图所示。篇幅所限就不细致讲解三分法了。
基于三分法的镜头

可见目标都在三分线交叉点位置,且保持中心对称
那么当识别到目标不在合适的位置时,镜头就自动就近旋转运动到合适的角度,以便于目标在合适的位置。这个设计需要运算出目标在镜头具体什么方位,即空间3D坐标需要换算成镜头的2D位置。嫌麻烦我们也可以运用一个更简单的算法,基于角色和目标距离差异,来设定镜头的合适参数。
摇杆朝向
我们可以让摇杆朝向的前方始终会有一个扇形区域。这个扇形的圆心是角色所在坐标,角度由项目自行设置。在这个扇形内的目标,距离计算优先级更高。这样的话我们就可以比较好的做到玩家操控摇杆来决定自己攻击哪个方向上的敌人。那么如果玩家没有操控摇杆,那在角色前方产生扇形即可,或者索性没有这个扇形。
摇杆操控的镜头

因为摇杆始终朝向红箭头的怪物,所以在怪物差不多近时攻击该怪物

有非常近的怪时,摇杆也不好使
攻击范围
当我们已经运用了这么多规则优化当前目标后,我们依然还面临一个问题。那就是当目标都站的非常近时候,我们很难在这些目标中精准的选到某一个目标。这个嘛,说实话,鱼骨头觉得确实很难,所以一般而言,弱目标的设计普遍使得近战攻击是范围伤害,这样一来,目标扎堆你只负责砍就行了,因为具体砍到谁都是一样的,谁叫咱们是范围伤害呢。但是远程如果也是范围伤害,不管是表现还是游戏性上一般都不太好处理,这里会是远程的一个弱势的地方。当然也有游戏远程也能攻击一片的,这就看具体项目了。
加分项--距离补偿机制
在弱目标的镜头规则下,由于3D镜头透视的关系,玩家实际上无法非常准确的感受到距离这个概念。譬如角色小人挥舞自身的巨剑,肉眼可见的攻击距离应该是2米,算上特效也是2.5米,但是怪物站在3米的地方呢?从逻辑上而言,是攻击不到的,但是从视觉感受上来看,应该是能攻击到的。

gif图中的攻击并未攻击到立方体,3D常规视角下实际上很难准确判断攻击的距离
此时,玩家以为能攻击到,而结果是攻击不到,体验上而言无疑是令人沮丧的。这时候我们就需要用到距离补偿的机制,实际上也就类似强目标设计里的追击。
即目标距离攻击者如果在一定距离内,比如4米内,我们可以让主角发动攻击时,都可以有往前位移到合适的距离。这个规则并不是攻击位移,而是在攻击位移的基础上再叠加的一个位移,如下图。

攻击时有明显的距离补偿

此处再放两张攻击位移和距离补偿的对比图
因为玩家对距离的感受是模糊的,因而我们需要设计一些规则来抵消掉玩家模糊的感受。虽然是可以增加爽感,但是确实是牺牲了精准性。因而也在很多游戏里,并没有采用这样的设计,攻击不到便是攻击不到,不会给予更多的补偿。比如怪物猎人和鬼泣就不会做这种设计,但是在原神、战神4中又做了这种设计。是要更精准还是要更爽,设计者自行决定。
3.3 结合性设计--TPS
以上内容讲的两种技能类型,各有优劣。这个主要是是对应的摇杆类操控,手柄、摇杆、手机等都在这类范围内。如果是对应键鼠操控的话,还有一个优化方案,那边是TPS类的设计。TPS是第三人称射击游戏的简称,与之对应的是FPS。
比较有代表性的作品有《龙之谷》,《永劫无间》。这种设计是在弱目标的基础上增加了比较方便的选择目标的方式,而在《鬼泣V》中,虽然有锁定方式,但本身更依赖于系统自动锁敌规则以及相比鼠标没那么方便的目标切换功能。在《原神PC端》中则是连切换目标都没有了。
TPS的设计是不需要系统自动锁敌的,因为TPS本身是可以通过鼠标悬浮目标的方式来准确锁定目标的。这是利用了鼠标的优势,不过缺陷也是有的,一是不利于移植到其他平台;二是玩家需要更多的精力放在目标选取上,会分散一部分操作的精力。
为了增加鼠标悬浮目标的准确性,这种游戏普遍都是需要准心的。这种设计乍一听有些人会觉得维和。实际上如果设计得不是特别明显的话,玩家甚至感觉不到他的存在,但尤为有效。

龙之谷是一个不太明显的十字类准心

永劫无间是一个不太明显的实心点准心
TPS类的锁敌机制呢,简单总结就是优先攻击准心悬浮的目标,如无则对准心空放。有些游戏会在准心没悬浮目标时攻击离准心更近的目标,不过这么设计的也并不多见,可以理解成是《守望先锋》中士兵76开大招的那种效果。
TPS机制优势就是可以兼顾以上两种设计,鼠标悬浮有目标并且该目标满足射程时,则是强目标技能;其他情况均为弱目标技能。并且没有系统自动锁敌。
因为镜头语言设计的需要,角色往往不会站在屏幕的正中间,一般都是偏下一些。但是考虑到准心的存在,所以一般角色都位于镜头左下会感觉舒适一些,这样代入感也会更强。比较极端的就是《战神4》,已经很接近第一人称视角了。
因为这样的设计,镜头的朝向与角色的朝向其实是不一致的,但是准心又在镜头中央,即准心揭示的方向=镜头的方向≠角色的方向。鱼骨头在此简单聊一下其中的设计,见下图。镜头位置朝向镜头方向射出射线,碰撞的第一个有效实体目标即悬浮目标,再由角色位置计算到该位置的朝向即为攻击朝向。至于空放规则,对着准心射线终点施放技能即可。


四、总结
1.其实技能目标逻辑上是统一的,不管是强目标还是弱目标,还是TPS类的锁敌,无非就是确定一个技能施放时的目标坐标,再根据目标位置来判断距离是否足够以及其相关处理规则罢了。
之所以写这么多,主要是想描述不同类型的游戏对锁敌的设计是有差异的,这些差异主要源于游戏本身差异和游戏平台的差异。游戏本身的差异点主要在于设计者希望玩家花多少精力在精确选敌上或花多少精力在操控上。而游戏平台的差异主要是硬件差异以及相配套的软件的差异。
并且有些技能在具体实现时也可能是多种方案结合的。比如在《原神》中的弓箭手,射程内有目标时则是一个强目标技能,射程内没有目标时,则是弱目标技能的空放形式。在《龙之谷》PC版中,也是依据鼠标是否有悬浮目标来做类似的结合的。
2.再次强调一下,追击本身不属于技能流程中,这个规则实际上是由于技能施放不符合射程条件导致的。追击的过程本身是在技能施放之前,是系统为了满足射程这个条件则自动执行的一个行为。有些项目会把这个写成AI,有些项目只是写成了系统临时接管角色,不能完全称之为AI,这就不多细述了。
但是距离补偿机制却是技能流程中的一部分,属于技能施放过程中的逻辑,此时技能已经放出,是技能施放过程中执行的一个特殊的行为,在下一篇文章中会有所提及。并且做个小预告,技能镜头运动等机制也会在下一篇文章中有更多的介绍。
3.强弱目标方案整体上而言强目标更偏策略,可以更精准;弱目标操控感更强,但是牺牲了精准性。所以一个主要应用于MOBA而另一个主要应用于ACT类。
TPS类游戏可以说是两种方案的结合方案,结合了键鼠的优势,让精准性和操控性能得到有效的结合。但结合键鼠优势同样也是劣势,那便是移植不便,毕竟只有PC才有鼠标。
最后希望能够帮到大家,我是鱼骨头,一个兴(吃)趣(不)使(饱)然(饭)成为游戏策划的快乐风男,谢谢~

相关文章