标签云与技能组合

大家好,欢迎来到AiurTemplar的博客。看到标题可能很多人会觉得莫名其妙,那么就让我从《魔兽争霸3》的一个MOD游戏开始说起。

以前在《魔兽争霸3》上有一张我很喜欢的MOD地图,叫做“守卫大虾”,与其他类似防守MOD最大的区别是玩家可以自由的选择自己想要使用的技能,你可以挑选游戏中所有和治疗相关的主动、被动技能成为一个超级大奶妈,或者把所有提高防御的技能都加在身上成为一个超级坦克,更受欢迎的玩法是挑选比如致命一击、分裂攻击等等被动攻击技能,杀怪如砍瓜切菜。不过这个游戏的平衡不是很好,技能都是《魔兽争霸3》原本所拥有的技能,组合后会产生一些问题。

之后的一些游戏比如《DOTA》也拥有随机技能的模式,但与“守卫大虾”一样,拥有很多IMBA的技能组合,某些技能的组合甚至会让角色永远不会死掉,这样一来游戏就完全失去了乐趣。

再后来我一直对这种玩家能够自由搭配技能的游戏感到格外有趣,因为组合的可能性几乎是无穷的。后来我玩了《大航海时代Online》和《EVE》,《大航海时代Online》中玩家能够同时拥有的技能个数有限,因此只能挑选专精于某一个方向的技能,但这游戏有着日式MMO的通病——需要无尽的挂机刷怪练级获取经验。《EVE》与《大航海时代Online》类似,但玩家没有同时拥有技能个数的限制,但它的完全靠时间获取技能等级的玩法使得新手永远追不上老手。《激战》是一个非常出色的游戏,玩家也是可以从好几百种技能库当中挑选技能,但我并没有玩过,虽然很多人认为这是一款神作,但我却认为一款PVP游戏如果完全无法知道对手拥有什么技能,PVP的体验是很差的。

再后来到了《暗黑破坏神3》,也没能兑现当初承诺的几万种BUILD,实际上可行的BUILD每个职业几乎就只有那么几种。最顶级的职业套装只会强化某个方面的能力,相当于把玩家的后期玩法固定死了,《夺魂之镰》上线后,专门强化某个技能的史诗装备大量出现,更是加重了这一情况。

后来我玩到了《流亡黯道》,这个游戏将技能组合又上升到了一个新的高度。它最大的特点是,技能的组合并不是机械的组合。上文提到的种种游戏,技能与技能之间都是完全互相独立的,联动关系相当之小,仅限于比如你选了一个火球术,又选了一个暴击被动,然后火球术的暴击就提高了这种水平——也就是说,技能之间要么干脆没有影响,要么仅仅是停留在数值水平的影响。而《流亡黯道》中,技能之间的影响却是机制性的,比如一个火球术一次能够发射一个火球,但选择了分裂攻击后火球术一次就能够发射三枚火球;而如果我选择了范围扩大,火球在命中后爆炸的溅射范围就会变大,如果我选择了穿透,火球会穿透数个敌人后才爆炸……并且,前面提到的这些效果是可以同时存在的!这样一来,单单一个火球术就有了千变万化的效果,更不用说其他的技能了!

左图是《流亡黯道》中“焚烧”技能原本的效果,右面是在组合了相当多的被动技能之后的效果。以焚烧为核心技能是当前版本中相当热门的一个BUILD。

这就是文章标题中所提到的“技能组合”部分。那么“标签云”又是什么东西呢?接下来就开始说这部分。

《流亡黯道》由于技能组合机制过于丰富,因此它为每个技能打上了很多标签。

这是《流亡黯道》中一个机制比较复杂的技能,“熔岩打击”。它的效果是对一个目标进行一次近战攻击,并且发射3个落点随机的熔岩球,掉落在地面时对目标点造成范围伤害。我们可以看到,这个技能的关键词是“火,投射物,攻击,AOE,近战”,那么所有对这些标签有加成的被动技能都会对其产生效果。比如多重投射物,技能本身是3个投射物(熔岩球),那么如果玩家使用了“低阶多重投射”,就会变成5个。又由于技能的近战伤害和投射物伤害都是火属性的,因此如果玩家用了“元素武器伤害”也会提高技能的伤害。同时由于熔岩球落地后造成的是AOE伤害,玩家如果有提高AOE半径的被动技能,也会对这个技能产生影响。

在《流亡黯道》的技能组合机制与标签的基础上,我就想到了现在很常见的“标签云”的做法。玩家往往会组合很多强化某一方面的能力的被动技能,因此如果够类似于“标签云”一样,将最突出的标签用更明显的方式显示出来,会不会变得更有趣呢?

这样我们在设计技能的时候,实际上可以从基础的机制的层面上将技能的各个方面抽象出来,成为一系列标签,然后再通过对标签的调整来改变技能的运作效果与数值。上文中提到过的火球,就是这样的:

  • 向前方发射一个火球,遇到敌人后爆炸并造成范围伤害。
  • 标签:火伤害,一般投射物,范围伤害

每个标签其实都拥有着一系列的属性,比如“火伤害”这个标签可能拥有伤害数值、暴击率、抗性穿透率等等属性,而“投射物”标签会有飞行速度、加速度、生命时长、穿透几率“等等属性。对这些属性进行调整的被动技能都意味着对这个标签有着效果,如果是正面效果会让这个标签显示得更大,如果是负面效果会让这个标签显示的更小。

这是个比较简单的例子,但是我们可以向其中加入更多的机制,比如:

  • 向前方发射一个不断前行的冰球,不断向四周发射冰锥,伤害路径上的敌人。
  • 标签:冰伤害,一般投射物,持续性,范围伤害,穿透

没错,这个就是《暗黑破坏神》中的冰封球技能。冰封球本身是个投射物,拥有着投射物本身的诸多特性,除此之外它还会重复地进行发射冰锥的行为,我们姑且把这种重复进行某个事件的机制叫做“循环”,“循环”有着诸多属性,如触发间隔、持续时间等等,我们可以设计一些针对这些属性进行修改的技能,比如发射的频率加快一倍,但持续的时间会缩短一半等等。冰封球本身拥有一定宽度,会对路径上的敌人造成伤害,因此也算作范围伤害。冰封球本身和小冰锥都会穿透敌人,因此拥有“穿透”的标签。同时由于发射出的小冰锥也是投射物,因此如果有着对投射物进行修改的被动技能,会同时影响冰封球和冰锥!

我们再看一个技能:

  • 发射一个沿着抛物线运动的炸弹,落地后爆炸并造成范围伤害,在飞行的过程中还会不断施放小型炸弹轰炸地面,造成较小的范围伤害。
  • 标签:物理伤害,抛物线投射物,范围伤害,持续性

这个是《暗黑破坏神3》中恶魔猎人集束箭配上集束炸弹的效果。很多游戏中都会拥有按照抛物线移动的飞弹,一般以弓箭、迫击炮的形式存在于游戏中,在RTS中较为多见,在ARPG中比较少见,因为难以控制。

再看一个技能:

  • 从天空中坠落一颗陨石,轰击地面,对击中的敌人造成伤害。被陨石击中的地方会陷入火海,在一段时间内对范围内的敌人持续造成火焰伤害。
  • 标签:火焰伤害,范围伤害,持续性,持续性伤害

这个是《暗黑破坏神3》中法师的陨石术,效果分为两部分:召唤一个陨石轰击范围内的敌人造成伤害,然后轰击点产生一个范围效果,持续造成伤害。两部分都是火焰伤害,都是范围伤害,但第二部分还是持续性伤害。

这时候我发现了,按照这个思路,实际上大部分依然只是在对数值进行调整,但并没有使得游戏的机制发生变化。如果要使游戏的机制发生变化,需要在更基础的层面模块化各种机制,然后使得能够事情发生质变。比如陨石砸地后的持续性伤害,和冰封球的持续性发射冰锥,有什么区别吗?我们是应该将其视作“持续性”标签的两种情况,还是干脆看成两种标签:持续性发射,和持续性伤害?

我们可以将所有事件分成三部分来看:发生的时点,产生的效果,被效果影响的目标。

  • 时点:攻击前,攻击,攻击后,命中前,命中,命中后,死亡前,死亡,死亡后,暴击前,暴击,暴击后,周期性开始,周期性循环,周期性结束……
  • 效果:发射飞弹,造成伤害,进行治疗,减速,加速,阻止移动,恢复移动,杀死……
  • 目标:源单位,目标单位,源范围,目标范围

我们再回过头来看冰封球这个技能。冰封球本身是个一般投射物,这只决定了它的移动方式,以及一些和移动相关的基本属性。它有三个效果:

  1. 从自己向外周期性发射飞弹。(周期性循环-源单位-发射飞弹)
  2. 周期性地伤害自己周围的敌人。(周期性循环-源范围-造成伤害)
  3. 飞行一段时间后摧毁自己。(周期性结束-源单位-杀死)

它发射出来的飞弹也是一般投射物,也拥有三个效果:

  1. 命中敌人时对敌人造成伤害。(命中-目标单位-造成伤害)
  2. 命中敌人后摧毁自己。(命中后-源单位-杀死)
  3. 飞行一段时间后摧毁自己。(周期性结束-源单位-杀死)

不难发现,所有的一般飞弹都拥有飞行一段时间后摧毁自己的效果。然后再看恶魔猎人扔炸弹的技能,这个炸弹本身是一个抛物线飞弹,与一般飞弹一样,这也只决定了它的移动方式和移动相关的基本参数。它拥有以下几个效果:

  1. 从自己向外周期性发射飞弹。(周期性循环-源单位-发射飞弹)
  2. 命中时造成范围伤害。(命中-目标范围-造成伤害)
  3. 命中后摧毁自己。(命中后-源单位-杀死)

类似的,所有的抛物线类飞弹也都有着落地后杀死自己的效果。陨石术的效果特殊一些:

  1. 命中时造成范围伤害。(命中-目标范围-造成伤害)
  2. 命中时创造一个不会移动的马甲飞弹。(命中-源单位-发射飞弹)
  3. 命中后摧毁自己。(命中后-源单位-杀死)

创造出来的这个不会移动的马甲飞弹有着以下的效果:

  1. 周期性地伤害自己周围的敌人。(周期性循环-源范围-造成伤害)
  2. 持续一段时间后消失。(周期性结束-源单位-杀死)

这样我们就用“马甲单位”的方法实现了陨石术的效果。熟悉《魔兽争霸3》编辑器的同学应该对这个伎俩十分了解!

按照这个架构,我们就可以设计一系列的技能,达到修改技能效果的目的。比如我们想让冰封球在死亡时爆炸发射出更多更多的冰锥,就可以追加以下效果:

  • 死亡前-源单位-发射飞弹。

这个效果可以追加在所有的飞弹上,这样在这些飞弹死亡时都会再生成一系列的飞弹。再举个例子,假如我们想让一个一般飞弹命中敌人后继续飞行,就可以移除下面这个效果:

  • 命中后-源单位-杀死。

如果我们想添加一个吸血效果,就可以追加以下效果:

  • 命中后-源单位-治疗。

我们甚至可以为这些事件的发生再加入一个概率,比如:

  • 命中后-源单位-40%几率-治疗。

那些必然发生的事件几率为100%,我们可以设置这个几率的最低值如5%。再比如一定几率秒杀敌人:

  • 命中后/周期性循环-目标/目标范围-5%几率-杀死/造成大量伤害。

如果是范围效果的话,需要决定是一次检定所有目标的成功还是每个目标分别检定。

大部分比较复杂的效果,我们都可以通过创建“马甲飞弹”的方式来实现。《魔兽争霸3》上的《DOTA》中有相当多的技能都是通过这种方式来实现的。不过小心,由于每个飞弹都是可以继续创造马甲飞弹的,小心死循环。

有了一套实现技能的基础机制后,就可以提取出其中的共同点来当做标签使用了!我们能够知道冰封球的范围伤害与陨石术马甲单位的范围伤害并没有区别,持续发射飞弹与持续造成伤害也并没有区别,就可以用同样的标签,共享同样的标签修改效果了。

接下来能够阻挡你的,只有想象力了!(以及计算机的机能限制!)

AT君的高级弹道学手册

之前的《弹道学手册》搜集了很多游戏中的飞弹,但并没有提取出其中的共同点。本文作为续篇,尝试从游戏机制的方面对这些飞弹进行分析,希望能够形成一套模型,通过不同的配置就可以实现各种各样游戏中常见的飞弹。

笔者写的差不多后回头再来看这篇文章,实际上大部分的东西都能够在暴雪的游戏中找到对应的例子,如果这个体系能够完整地搭建起来的话,是能够实现暴雪的游戏中的绝大多数远程攻击和法术攻击的效果的。

下面每一段都会用来描述飞弹某一方面的特性,并且是按照重要程度排序的。笔者不懂程序,但我尽量把每段写得足够详细,希望能够达到可以作为文档的地步(有点难,其实我还在整理思路中)。

瞬间/飞弹

第一个最重要的区分是,一次攻击是瞬间就完成,还是会发射一个随着时间移动的飞弹,过一段时间之后才有可能击中敌人。从数学的角度上来说的话,瞬间完成的攻击实际上是飞行速度无限大的一种特殊飞弹,但当速度无限大时,飞弹的很多特性都会发生变化,因此最好在最基础的层面把瞬间命中的攻击和发射飞弹的攻击区分开来。

《魔兽世界》中萨满的闪电链是瞬间击中的,而闪电箭则是一个需要飞行时间的飞弹。

《魔兽争霸3》中就是这么做的(此处感谢Walter大神)。大部分的近战攻击实际上也就是射程非常短的瞬间攻击。但也有一些游戏不存在瞬间攻击,即便是传统的近战职业如战士的攻击也是通过发射飞弹完成的,只是飞弹的射程很短,感兴趣的玩家可以去看看《Realm of the mad god》这款免费的网络游戏,在Steam上可以玩到。

但是,一次瞬间就完成的攻击也不一定是100%命中的,例子就是《暗黑破坏神3》中法师的裂光波。这个区别会在下一段进行说明。

另外,瞬间型攻击更有可能表现层与逻辑层相分离,而飞弹的表现层和逻辑层更有可能是统一的,也就是飞弹拥有真实的碰撞盒。这个也会在后文提及。

是否有锁定目标

现在很多ARPG都在说自己是无锁定战斗,指的是技能或攻击玩家不需要先选中一个目标才能使用,攻击或者技能可以随便想往哪里发动就往哪里发动,更类似于动作/射击游戏而不是传统的RPG。

飞弹也是如此。RTS或MOBA中的飞弹与射击游戏的飞弹有一条很大的区别,RTS或MOBA游戏中远程攻击发射的大多数飞弹都是由锁定目标的,而射击游戏的大多数飞弹是没有锁定目标的。

从另一个角度来考虑,假设一个飞弹有意识的话,那么有锁定目标的飞弹就会想着去击中那个目标,而没有锁定目标的飞弹只会沿着轨迹移动,直到撞到什么目标为止。

《保卫萝卜》中的瓶子炮是有锁定目标的,而风扇和火箭是没有锁定目标的。

上一段中提到的《暗黑破坏神3》中法师的裂光波,就是一种没有锁定目标的瞬间攻击。而《DOTA》中电魂的普通攻击,《魔兽争霸3》中的闪电链和叉状闪电就是一种有锁定目标的瞬间攻击。

对于飞弹来说,如果有锁定目标就意味着它在飞行过程中会不断调整自己的飞行方向以求命中,《魔兽世界》和《EVE》中的大部分投射物都是如此,但是这种游戏的表现层与逻辑是分离的,并不像射击游戏一样飞弹会产生真实碰撞,但好处是能够降低计算量。没有锁定目标的飞弹就只是沿着直线或抛物线一直飞下去,在大部分游戏中这种飞弹一旦被创建后就不会再有任何东西能够影响其运行方式,这种飞弹是可以通过AI计算提前量来提高命中率的。但这样一来在碰撞检验之外,就有了更大的计算量和AI复杂度。

注意,飞弹虽然没有锁定目标,但不意味着发射飞弹的炮塔没有锁定目标,这是两个不同的概念。俗话说子弹不长眼,一个人想要打目标A但最终却击中了目标B的情况是非常常见的。但当飞弹有锁定目标的时候,大部分情况下都与炮塔锁定的是同一个目标,不过也有一些例外的情况,比如《风暴英雄》中维拉的Q(或者《暗黑破坏神》中亚马逊/恶魔猎人的向导箭)。

是否是持续攻击

如果不是持续攻击,则攻击方是一下一下进行攻击的,就像砍柴一样;否则攻击方的攻击是持续的,就像水流一样——或者换个例子,就像《魔兽世界》中的引导性法术一样。《星际争霸2》中的虚空辉光舰、哨兵等单位也是进行持续攻击的。当某个单位的攻击非常密集频繁的时候,就可以认为这个单位是在进行持续攻击了。

从伤害事件的逻辑上来说,并不存在持续攻击,所谓的持续攻击或者Damge over time(DOT)依然是每隔一段时间造成的伤害,但可能由于间隔很短玩家难以察觉。《魔兽世界》中的DOT间隔是3秒,而《星际争霸2》中的虚空辉光舰,以及《风暴英雄》中阿兹莫丹的E技能间隔都很短,每秒重复数次。

持续攻击与非持续攻击的差别主要是在表现层。首先,攻击者的动画会有所不同,如果攻击者不是持续攻击的,则是每次攻击的时候播放动画,如果是持续攻击的则是在攻击时一直循环播放一个动画。《魔兽世界》的引导中动画是个很好的例子。

其次,瞬间型攻击的表现会差很多,不管是《暗黑破坏神3》法师裂光波,《风暴英雄》阿兹莫丹的E还是《星际争霸2》的虚空辉光舰,这些射线的显示方式与普通飞弹差很多,一般都拥有“开始-持续-结束”三个阶段。对于飞弹来说,是否是持续攻击表现没什么差别——对比《魔兽世界》中的奥术飞弹和火球术,只是施法动作不同,飞弹是十分类似的(奥术飞弹那是引导性法术,火球术不是)。

《魔兽世界》中正在引导施放奥术飞弹的法师

综上,持续攻击可以让我们做到这种激光持续伤害的效果,对攻击者和飞弹的表现有很大影响,并且持续攻击的伤害间隔都很小。说句题外话,实际上近战攻击也可以是持续攻击,比如《英雄联盟》中盖伦、潘森的E。如果想做的话,天马流星拳、北斗百裂拳什么的也都可以做!

运动起点

如字面意义,运动起点就是一个飞弹的运动轨迹的起始点。对于瞬间飞弹来说,这个属性也是有意义的,如果是闪电或者射线,运动起点就是闪电或者射线的发射点。这个要看游戏的逻辑层与表现层的具体关系,以及闪电或者射线表现上的具体实现方式。

运动起点并不一定都在炮台上,虽然对于大部分炮台来说是这样的。有个例子是《命令与征服》中的Icon Canon,或者是《风暴英雄》中诺娃的大招定点打击,或者是《星际争霸2:虚空之遗》中从蟑螂进化来的新单位掠食者的攻击方式。对了,《魔兽争霸3》中的群星陨落也是一个很好的例子。

《暗黑破坏神》中的陨石术,陨石是从天而降的,并非从法师的手中发出。

这几种攻击方式从表现上来看,飞弹是从天空中出现垂直轰击地面的,因此运动起点不是在攻击单位上,而是在被攻击单位上。类似的,飞弹还可以从地下钻出,等等等等各种有想象力的方式都可以。注意,蟑螂

运动起点在炮台的情况下也可能发生一些偏移,比如某个炮台一次能够并列发射多发子弹,为了让这些子弹不互相重叠就需要对子弹的运动起点进行一定程度的偏移。还有一种可能性是配合美术上的发射点如枪口、手掌等等,把运动起点偏移到这些位置上。

运动轨迹

对于有锁定目标的飞弹来说,知道了运动起点也就确定了运动轨迹。对于瞬间型攻击和飞弹型攻击来说都是如此,不过飞弹型攻击的计算会更复杂些,可能是实时计算的而不是预先计算的。对于没有锁定目标的飞弹来说,飞弹的运动轨迹则是由方向、速度、加速度等数值来决定的。

运动轨迹最简单的是沿直线运动,复杂一些的则是抛物线、曲线、各种线等等(想想《炉石传说》法师的奥术飞弹)。对于追踪飞弹来说,一般还会有最大转角速率一类的属性。

《炉石传说》中的奥术飞弹沿着一条曲线运动。

飞弹的运动轨迹是仅仅表现层的eye candy,还是会影响实际的游戏性,要看飞弹是否有真实的碰撞。

是否有真实碰撞

我们对比一下《星际争霸2》虚空辉光舰的攻击,以及《暗黑破坏神3》法师裂光波的攻击。同样是射线,但虚空辉光舰只能攻击一个单位,裂光波却能攻击到轨迹上的全部敌人,因为裂光波的动画是有实际的碰撞的,而虚空辉光舰的攻击动画只是一个表现。

总的来说,越具有真是碰撞,越接近于动作射击游戏而不是RTS游戏。

《保卫萝卜》中相当多的炮塔攻击都是拥有真实碰撞的,而瓶子炮、便便塔、魔法球则没有真实碰撞。《炫光塔防》中的绝大多数防御塔发射的飞弹都是拥有真实碰撞的。是否具有真实碰撞对于玩家来说都是简单易懂的,只要在表现上符合这一点。

《炫光塔防》中的炮塔正在攻击,如果敌方单位移动过快,炮弹就会从他们身旁擦肩而过。

销毁条件

一个飞弹是怎么被销毁的?对于瞬间型攻击和飞弹型攻击来说差别比较大。

如果是持续性的瞬间型攻击,由于在表现上是按照“开始-持续-结束”三个阶段来进行的,因此停止攻击后飞弹就会消失。不过也有特殊一些的情况,比如我们设计某个光束以射线的方式向前方穿透,但穿透数个敌方单位后就停止了,在这种情况下就需要计算光束的具体结束点在哪里。偷懒一点的话也可以做成光束依然看起来穿透了所有敌人,但实际上只有前几个敌人受到了伤害,不过这种做法略逊一筹。当然,这要结合游戏中的持续性瞬间攻击的动画是如何实现的,假如是由“发射点特效-射线特效-轰击点特效”三部分连接在一起形成的,在这种结构下只要调整轰击点特效的位置,并且响应地调整射线特效动画的长度就可以了。

对于非持续性的瞬间型攻击来说,由于每次伤害都立刻完成了,因此飞弹也是立刻就被销毁了。

对于飞弹来说,销毁的条件就变多了。命中次数,生存时间,坐标,碰撞等等都可以成为销毁条件。

从格斗到跑酷:动作手游之道

最近看了很多格斗游戏的直播,而且玩了一些移动设备上的格斗游戏,发现现在移动设备上的格斗游戏动作都偏向于简化了,在我早上玩了《蝙蝠侠:阿卡姆起源》之后这一点的感觉尤其明显。实际上,这些格斗或者说动作游戏已经变成了越来越简单的挑战手眼协调性的简单动作游戏,类似于跑酷或者音乐节奏游戏了。下面我就就游戏各个方面的机制来分析一下,实际上也是在为自己整理思路,看看手持设备上的动作游戏是不是还有哪些可以开发的空间。

化身

考察一个动作游戏的第一条就是有没有化身,即玩家是否有控制的角色。跑酷和格斗游戏一般都有一个化身,并且玩家要维持化身的存活,一旦死亡则意味着游戏的结束。

另外一些没有化身的游戏,结合了触屏设备直接操作的优势大放异彩,其中最具代表性的则是《水果忍者》。以《宝石迷阵》为代表的动作解谜游戏也是动作游戏的一种,然而这类游戏在以《糖果粉碎传奇》为代表的完全消除了动作要素的游戏的攻势下已经没有多少存活空间了。另外一些如音乐节奏游戏或其他等挑战玩家手眼协调能力的也都是动作游戏。

《水果忍者》和《疯狂喷气机》都是Halfbrick的作品,不过后者有化身,前者没有。

总的来说,没有化身的游戏更加休闲,有化身的游戏更加硬核。这两种游戏本文都会做出探讨,但更多的会集中在有化身的动作游戏上。

移动

有化身的游戏,玩家要面对的第一个问题就是化身是如何移动的。

传统动作游戏的移动都由摇杆来完成,无论是街机上还是家用机上。PC的键盘鼠标并不是十分适合角色的移动,尤其是方向非常精细的3D动作游戏。触屏设备上的动作游戏移动就更为尴尬,我曾不断地对身边的人说,虚拟摇杆这种操作基本就是反人类的行为,虽然一些人在经过训练后能够适应这种操作,但对于绝大多数人来说用虚拟摇杆玩游戏都是很痛苦的经历。

笔者是虚拟摇杆的脑残黑

因此,目前的手机动作游戏在控制化身方面,和传统的动作游戏相比都进行了大幅度的简化,如《影之刃》只有X轴的左右移动,没有Y轴的上下移动;跑酷游戏则是将移动完全自动化的极端例子。

在45度俯视视角的动作游戏中,早期是生搬硬套手柄或街机的移动摇杆,现在也在向更直接的操作方式上转变,如点击移动或向手势的方向移动。然而实际上这种视角的游戏往往并非是由街机或家用机上转移而来,以《暗黑破坏神》为代表的这种视角的动作游戏起源自PC游戏,所以这类游戏更适合用键盘+鼠标操作,而不是传统的摇杆+按钮。MOBA游戏也是同样的视角,同样使用了继承自RTS游戏的操作方式,也是更加适合键盘+鼠标的。

鼠标+键盘的动作游戏中,玩家利用鼠标来移动(并做一些辅助攻击),利用键盘来释放技能,而摇杆则是用摇杆来移动,用按钮来施放技能。这两种操作方式的区别非常之大:

  • 鼠标指针游离于玩家化身之外,玩家用鼠标控制的是化身行为的结果,玩家点击某个地点是希望化身最终能够通过某种路径到达那里,但使用摇杆控制则是直接指挥着化身移动,玩家必须要自己控制角色按照心中预期的路径来行动才能达到最终的目的。
  • 摇杆的方向很多,而且有着力度变化,玩家能够控制角色行动的快慢、起跳的高低,但用鼠标或键盘是无法做到这一点的。摇杆的方向操作也更加精密。
  • 键盘的按键远远多于手柄,因此对于手柄控制的动作游戏来说,复杂的技能往往通过“连招”的方式存在,其中甚至包括节奏控制、蓄力等比较复杂的操作,学习难度更高。键盘的按键可以对应多种技能,因而对技能的限制往往通过CD来实现,而不是操作难度。

从这些区别当中,对于触屏来说我们能够得到什么启发呢?

对于移动来说,触屏上直接点击的所见即所得比起虚拟摇杆来说是更加容易理解的。重力感应作为一种能够直接控制化身的手段,和摇杆比较相似,但不能久用,且控制难度大,因此并不常用。

我个人比较倾向于完全去除由玩家来控制的移动,现在越来越多的游戏也在这么做了。我的理由有两方面,首先,这是由于在触屏设备上控制化身非常困难,因为输入平面和输出平面都在屏幕上,屏幕没有给玩家留下用于控制化身的外设空间;其次类似鼠标的指哪走哪的操作方式实际上操作强度远远大于鼠标,因为鼠标的DPI会把玩家的动作在显示屏上放大,但触屏设备却没有这种放大,玩家要经常大范围地活动胳膊与手指,非常累人,而且手指在进行操作的过程中会挡住大部分画面,影响玩家获得必要的信息,这对于需要快速反应的动作游戏来说是致命的,因此我希望在有化身的动作游戏中尽量简化移动的操作,甚至完全取消。

动作与技能

上一段在比较鼠标+键盘和摇杆+按钮这两种操作方式的时候已经提到了一些动作与技能的控制。这段继续探讨动作与技能的控制。

显然,手机上并不适合类似于摇杆+按钮的连击机制,因为玩家无法把握虚拟按钮的位置。手柄上的按钮不管玩什么游戏都是固定的,但手机游戏玩家却要单独为了你这个游戏熟悉你的按键的位置,学习成本相当大,因此不推荐。类似于键盘的操作方式首先会使得按钮占据屏幕上的大量空间,其次同样面临着熟悉按键的问题。

那么有没有啥好办法呢?触屏设备的优势是手势,因此能够利用手势的动作游戏都成为了一代精品,如《水果忍者》、《无尽之剑》或《逃离神庙》。在《战神》系列中大放异彩的QTE系统曾经十分时髦,甚至到了广为诟病的地步,但在移动游戏大热的今天,QTE反而成了手机上非常好用的一种操作方式。

QTE可以有多种表现方式,要求玩家在一定时间内点击指定位置、点击指定次数、按照某个轨迹滑动、在指定时机按下按键等等多种方式,都在手机操作上大放异彩。多多利用触屏设备的手势,可以进一步扩展QTE的类型。

另外,全屏按键化也是一个很好的方式,比较重要而普遍的操作如普通攻击可以通过全屏点击来实现,玩家不用再担心自己持续的点击是否偏离了小小的按钮。很多跑酷游戏都是这么做的。

考察目前大热的《影之刃》,游戏中的闪避和跳跃操作是通过有CD的虚拟按钮来实现的,如果没有CD的话这两个常用操作其实是可以用手势来代替的。连招按钮的设计非常出色,也是该游戏的最大卖点,玩家不需要移动手指就可以释放不亚于摇杆+按钮侗族游戏的COMBO。

挑战

动作游戏的挑战,主要是在时间压力下的手眼协调性挑战。挑战指的是玩家不得不去战胜的困难,分为两种:障碍与敌人。障碍是不会主动对玩家产生威胁,需要玩家去自行躲避的挑战;敌人则是会威胁玩家,并且以击败玩家为目的的挑战。

跑酷类游戏中存在的挑战基本都是障碍,玩家克服障碍的手段一般是“躲避”。虽然越来越多的跑酷类游戏中也加入了一些能够被玩家攻击的敌人,但本质上基本还是停留在障碍的水平。

对付敌人的手段则是“攻击”,有一些游戏中同时提供给了玩家“躲避”与“攻击”的技能,但却没能让玩家一眼就区分出哪些是障碍,哪些是敌人,结果玩家会在尝试攻击一堵打不烂的墙的时候撞死,然后删除游戏。这方面做得出色的游戏则是《超级马里奥》,玩家会很快地掌握到跳过障碍、躲避陷坑、踩死敌人的一系列玩法,并且敌人与障碍的区分也十分明显——会动的一般都是敌人。

对于一款游戏来说,确定哪一种挑战是主要的是很重要的,玩家一旦形成了一种认知,就不应该再去弄出来玩家不熟悉的其他挑战,这是很不公平的——不过也有一些丧心病狂的游戏以此为卖点,如《猫版马里奥》。

这一段的开头说了,挑战指的是玩家“不得不去”克服的,然而在某些游戏中可能并不存在这种东西。比如《水果忍者》如果玩家漏掉水果也不会导致游戏失败,那么玩家什么水果都不切的话,不会得分但也不会死,游戏就变的无趣了。《超级马里奥》也是一样的,站着不动是不会受到任何威胁的。因此在这种玩家可以选择“什么都不干”的游戏中往往通过其他方式来逼迫玩家推动游戏的进展,比如时间限制,到时就死。早在几十年前的街机游戏中,这种方式就十分普遍了。

以障碍为主要挑战的游戏基本都是PVE游戏,而对于以击败敌人为主要挑战的游戏来说,还分为PVP与PVE两种。PVE典型的是《暗黑破坏神》或《三国无双》这种割草游戏,PVP的典型则是《街头霸王》或《拳皇》这种PVP游戏。PVE游戏与PVP游戏的设计思路是完全不同的,盈利机制也完全不同,因此如果无法同时做好这两方面的话,应该确定以哪个方面为主要。不过,手机游戏的联网能力较差,而PVP格斗游戏往往需要很好的网络环境,因此目前市面上的绝大多数手机动作游戏都是以PVE,异步PVP或间接PVP如排行榜等方式为主要玩法的。

当游戏进行到一定程度,需要出现更高层次的挑战时,单纯地要求更高的操作强度或更短的反应时间并不是很好的做法。一种做法是给玩家更多需要去分神的东西,比如必须保护某个目标存活,不能使用某些技能,会呼叫支援的敌人,地面变为不断运动的传送带等等;另一种做法是提供更加难以识别其模式的挑战,比如按照曲线而非直线运动的障碍,按照更复杂规律运动的障碍,正面无敌只有背面才能受到攻击的敌人,踩踏数次后就会陷落的地板等等。

总结

最终,我可以按照一定的思路来想象出一个游戏的玩法。比如,这是一款有化身的游戏,是一种可以打怪的跑酷,玩家的角色站在地面上,会自动向屏幕右面移动,敌人有空中的,和地面的,玩家点击右半部屏幕就会用近战武器进攻地面的敌人,点击左半部就会用远程武器攻击空中的单位;玩家可以通过长按或者连续点击来施展不同的攻击方式,还可以通过QTE的方式与BOSS作战;玩家可以升级、更换角色,还能升级、更换两把武器等等。有了核心玩法后,我们就可以先对其进行验证,同时设计游戏的循环,额外的模式以及收费的方式了。