分类
琐事 塔防 游戏设计

塔防平衡入门

大家好我是AT君,我又来写博文了,如此勤劳我都把我自己感动了!

首先关于“平衡”的概念,本人是十分认同旗舰老爷的观点的,本文所有关于平衡的探讨可以说都建立在这之上,由于旗舰老爷的blog常年被墙,感兴趣的童鞋可以自行搜索《游戏数值设计:平衡性问题》,来看各个地方转载的该博文,如有嘴炮欢迎留言。^o^

著名的《气球塔防5》

在这篇文章开始的时候,要探讨一个数值设计的很基础的话题,或者说是引入一个概念。在《游戏设计基础》一书中,将游戏中的不同属性分为正交的与非正交的,这个称谓听起来挺唬人的,不过说白了很简单,指的就是某两个不同的属性是否在同一次运算中产生同样的效果。比如假如一款RPG中,力量加攻击力和护甲,体力加生命值与护甲,那么由于力量和体力都加护甲,他们就是非正交的关系。而如果力量加物理攻击力,智力加法术攻击力,它俩毫无关系,那么它俩就是正交的。

绝大多数RPG中都会有分别以力量、敏捷、智力为主属性的英雄设计思路,由于这三个属性一般是正交的,因此在设计关卡与敌人时就要为同时为不同play style的玩家提供符合他们期望的通关方法,这与塔防的设计思路是非常接近的,可以借鉴。

下面引入本文最重要的一个公式:

塔的战斗效率 = 单次伤害 × 攻击规模 × 攻击频率 × 攻击覆盖
  • 单次伤害指的是每次攻击对单个敌人造成的伤害;
  • 攻击规模指塔每次攻击伤害到的敌人个数;
  • 攻击频率指两次攻击之间的间隔;
  • 攻击覆盖指怪物从出现到撞到基地的总时间内,有多少时间处于被塔攻击中。

这四项能力乘到一起,就是塔的战斗效率了,或者说,这四项能力实际上是评价一个塔的能力的四个最终维度,塔的所有属性最终都会转化到这四个能力中的某一种或多种上来。下面开始分别就每个维度进行分析。

单次伤害(Attack Damage)

注意,本文的单次伤害指的是每次攻击实际最终对单体怪物造成的伤害,而不是塔的面板伤害,这可能和一般的单次伤害定义有所不同。单次伤害受很多方面属性的影响:

  • 塔的基础伤害
  • 塔的额外伤害加成(如暴击率、暴击伤害系数、固定额外伤害加成等等)
  • 怪的伤害减免(如抗性、护甲等等)
  • 其他手段(如秒杀、按百分比造成伤害等)

单次伤害是我们最容易注意到,加成方法也最多的手段,加成手段主要分为两部分,一部分是对塔造成伤害的能力进行修正,一方面则是对怪抵抗伤害的能力进行修正。我们可以把数值分为依赖塔与依赖怪两类,前者效率由塔的数值决定,后者效率由怪的数值决定,也有一些基于D&D风格的计算方法会同时依赖双方的相对关系。

依赖塔的有命中率、暴击率、暴击伤害系数等等,依赖怪的有护甲穿透、抗性等等,很多东西都可以具体设计。

单次伤害的收益并不是很高,尤其是当怪物血值较低的时候,过高的伤害容易造成伤害溢出,但也正因为容易伤害溢出,伤害高的怪抢人头的能力很强,因此可以结合击杀以及伤害溢出量来设计一些特效,单次伤害较高的塔更适合使用这类特效。

攻击规模(Attack Mass)

攻击规模指的是一次攻击会影响多少个怪物。由于单次伤害是基于每个怪分别计算的,并且可能有过量伤害,因此精确地来讲用单次伤害直接乘以攻击规模是不正确的(比如对面来了一个火抗怪一个冰抗怪,我的塔是火焰伤害,一发下去两个怪都打到了,但对火抗怪造成的伤害要比冰抗怪低得多),乘法只能从逻辑上表明单次伤害与攻击规模的关系。

攻击规模可以通过很多方式来提高,如溅射半径、穿透、弹射、分裂、多重飞弹等等。攻击规模在大多数情况下都是一种依赖怪的维度,很有可能过分强大,也有可能溢出。以《魔兽世界》法师的暴风雪为例,只要玩家喜欢,可以把几百个怪拉到一起一波A掉,攻击规模就变得过于强大了。暴雪的做法是限制每跳伤害总上限或限制最大影响个数,前者由于平摊伤害当怪超多的时候每个怪摊到头上的伤害都微乎其微,一个怪也打不死;后者虽然在总伤害效率上与前者没区别,但还是能够打死几个怪的,因此在伤害上后者优于前者。而由于暴风雪有减速效果,前者会影响到所有怪物,而后者只会影响几种怪物,因此在特效上前者是优于后者的。这是这两种做法的主要区别。

过于强大的另一个极端则是攻击规模溢出——没人会用暴风雪去打单个的怪物吧?因此攻击规模受怪物密度的影响很大。很多塔防游戏偷懒地把怪物密度设计成了几乎一样,从来不变的,这样游戏倒是容易平衡了,但也变得无聊了。还有一些游戏由于怪物数量超多,玩家几乎一直是在割草,因而几乎所有攻击都有着巨大的攻击规模,这样一来平衡起来也是方便得多了,玩起来还很爽。笔者认为《星际争霸2》是一个滥用攻击规模的反面典型,和《星际争霸1》相比,过于强调攻击规模的作用,导致大规模作战的时候没有强大AOE单位的一方几乎总会输掉。

在一些射击游戏或动作游戏中,单次伤害与攻击规模也经常被运用到。比如某些飞机的火力集中但难以他顾,有些职业用长枪一扫一大片但单体伤害不如匕首等等。

攻击频率(Attack Rate)

单次伤害与攻击规模影响的都是塔在瞬间的表现,而攻击频率则引入了一个新的维度——时间。我们把这三个值一起计算的话,就能够得出DPS,如果你用过《魔兽世界》的伤害统计插件Recount的话,会对这个非常熟悉。

攻击频率是一个非常强大的属性,第一个原因是,其不像单次伤害一样会溢出,也不像攻击规模一样由于依赖怪物而忽强忽弱收益不稳定。而且,在很多游戏中,更多的攻击次数虽然不一定意味着更多的伤害,但总意味着更多地特效触发,因此攻击频率在伤害与特效两方面收益都十分强大。

第二个原因是,由于攻击频率是一种时间上的维度,能够对其进行影响的方式远远没有单次伤害和攻击规模那样多样化,弄来弄去也无非是提高攻击速度或者是降低攻击速度。像《魔兽世界》萨满的风怒攻击一类的效果,最终还是变成了多次触发的单次伤害。因而设计师在进行设计的时候,往往设计了过多提高攻击速度的途径,而导致平衡出问题。实际上我们对攻击速度的投放应该是相当吝啬的,因为它实在是太牛逼了。

如果我们想降低攻击频率的收益,有几种方式,下面分别就伤害与特效进行探讨。在《星际争霸》中,由于单位的护甲采用减法计算,因而攻速较快的单位由于往往攻击力很低而难以穿透护甲,这是一个值得借鉴的思路。在《火炬之光》与《流亡黯道》中,击晕这个特效与攻击速度无关,而是与单次伤害有关,单次伤害越高越容易击晕敌人;而《流亡黯道》的元素特效的触发几率与暴击率相关,总体效果/持续时间长短与伤害相关,因此也解决了攻速触发特效的问题。

在《地下城与勇士》中,攻击速度高的武器往往伴随着巨大的命中率惩罚。在《魔兽世界》中如果玩家双持武器同样也会受到巨大的命中率惩罚,这两个游戏都用了一个十分值得我们留意的方式同时解决了伤害与特效的问题,因为攻击未命中的话不但没有伤害也不会触发特效。但这也导致了这两个游戏的玩家只要选择了这种play style都会优先把命中率堆到某个数值,这样就能够享受巨大的攻击频率增益了。

需要注意的是,过高的攻速是有可能溢出的,这往往出现在两种场合:1,飞弹飞的太慢;2,攻击距离过长。当攻击间隔小于飞弹从发射到轰击所需要的时长,就会有一发甚至多发飞弹轰到已经死亡的怪物尸体上从而导致攻击机会被浪费掉了。你可以通过改善炮塔的AI或者调整射程、攻速、弹速之间的关系来避免攻击被浪费,或者反其道而行之,利用这个特性来降低攻速的收益。这个现象在《星际争霸2》中也有体现,虽然《星际争霸2》的弹速与射程一般与攻速成正比,但当两只远程部队大军进行互射时,单次伤害溢出越少,攻击速度溢出也越少的一方往往更占优势。

攻击覆盖(Attack Coverage)

攻击覆盖是塔防特有的一个维度。影响攻击覆盖的主要有两个属性:有效覆盖路径长度与怪物移动速度。玩家可以发挥自己的头脑,在射程固定的情况下,通过调整塔的位置来尽量提高有效覆盖路径长度,从而增加攻击覆盖。注意,攻击覆盖是一个时间上的度量,而不是空间上的度量,它提供了一段时间使得塔能够对怪物展开攻击,怪物越快这段时间越短,塔的攻速越快展开的攻击次数越高。

攻击覆盖的收益也是很难估算的。比如一个塔覆盖了8个格子,怪物的移动速度是每秒3个格子,塔的攻击速度是每秒1次,我们计算得知时间窗口是2+2/3秒,但由于2/3秒的部分塔虽然在瞄准,但瞄到一半怪就跑出去了,因此只攻击了这个怪物两次。假如我们对塔升级使其覆盖格子为9,那么就能对这个怪攻击3次了,战斗效率瞬间提高50%,而射程只提高了1/8!

这就是为什么为游戏提供攻击范围的升级是十分危险的,因为其平衡性较难控制。在固定路径的情况下,当攻击范围提升到某个程度时,有效覆盖路径长度会大大提高(比如原本只能覆盖一段路径,但由于升高了射程能覆盖两段路径了),从而导致平衡性崩掉。因此,笔者不建议在固定路径的塔防游戏中提供升级攻击范围的选项,除非设计者在设计关卡的时候清楚地计算过各种最大有效覆盖路径长度会不会出现问题,但最好不要这么做。相比之下,固定塔位的塔防为玩家提供提升射程的升级选项更安全,最大有效覆盖路径长度是十分好计算的。

在很多塔防中拥有进行溅射攻击的塔,会伤害攻击范围内的所有怪物,对这种塔来说升级射程不但会增加有效覆盖路径长度,还会增加攻击规模,因此一般有这种塔的塔防猛升这种塔容易变成统治性策略。

当我们不敢随意给玩家提供射程升级的时候,提高攻击覆盖的另一个手段就集中在降低怪物的移动速度上了。减速、击晕、恐惧、传送,种种影响怪物移动方式的手段实际上都是在提高攻击覆盖。然而我们要注意的是,当我们降低了怪物的移动效率时,只要这个怪物处于时间窗口内的塔都对其有攻击效率的提高,而且移动速度的降低对所有的怪物都很有效,因此要注意移动速度降低是否会对玩家的战斗效率产生过强的效果。

选择塔的摆放位置是塔防游戏策略可玩性的重要组成部分,因此攻击覆盖这个能力需要认真考虑。很多国内塔防游戏都是披着塔防皮的数值卡牌RPG游戏,在攻击伤害、攻击规模和攻击频率上都做到了数值平衡,但在这方面做得很差,导致游戏策略性较差,实际上这是对塔防玩家的一种背叛,对于小白玩家来说可能会有较高吸引力,但对塔防群体来说吸引力就很差了。

上面这些是塔防平衡的基础,都是入门级的内容。下面开始进行一些特效的探讨,来分析各种游戏中常见特效会对以上的四个维度造成什么样的影响。

扑杀:秒杀剩余生命值小于等于10%的敌人。

这个东西的效率是非常难以估计的,笔者认为基本可以按如下方式计算:

  • 当扑杀不生效时(即还没发动就被一下打死了,或最后一下不发动扑杀也能打死),完全没有影响。
  • 当扑杀生效时(即最后一下攻击本不足以杀死敌人时但却杀死了敌人),原本需要进行N次攻击,现在只需要进行0.9N次攻击就打死了敌人。由于我们要发动扑杀,单次伤害就要低于10%生命值,因此N是大于1/10%的。

这样一来,影响扑杀的主要有两个方面:扑杀的发动几率,以及发动时节省的攻击次数。发动时节省的攻击次数基本上等于扑杀的发动阈值百分比,因此扑杀的发动几率就成了关键。

由于攻击力必须要低于怪物的最大生命值的10%,因此扑杀对生命值越多的怪物越容易发动,相当于该怪物的最大生命值降低了10%。

护甲:有几点护甲,受到的伤害就降低几点。如果护甲为负值,就反而增加受到的伤害。

这是按减法算的护甲,当护甲为正数时,单次伤害越高,被减免的部分越少;当护甲为负数时,攻击频率越高,附加的额外伤害越多;当护甲为0时没有任何影响。我们可以利用这种减法的特性让不同的塔对不同的怪有着不同的战斗效率。如果我们用的是乘法的话,就做不到这一点了。

DOT(Damage over time):每秒受到X点伤害,持续Y秒。

这种持续性伤害的关键是其伤害计算方式与叠加方式。在《流亡黯道》中,中了流血效果的生物移动时受到的伤害会增加,采用这种设计方式会使得流血更擅长对付那些跑得快的怪物。而在《火炬之光2》中,燃烧是忽视护甲按照百分比掉血的,更擅长对付那些皮糙肉厚的怪物。《火炬之光2》还拥有按照击杀后的溢出伤害来决定效果强度的机制,这也十分适用于塔防游戏。在《英雄联盟》和《地下城与勇士》中流血本身是个很简单的效果,但会按照敌人身上拥有的流血效果的个数来强化自身的能力,这也是一种强化play style的好方式。

分类
游戏设计

AT君的被动技能概论

大家好我是AT君,这篇文章起因是用来探讨塔防游戏的设计思路的,但有着更广泛的应用,在很多游戏如MOBA或ARPG中,当技能愈发变得复杂的时候,一个技能的效果往往是多元的,我们如何把握技能的复杂度,是本文想要探讨的。本文仅仅探讨被动技能,但被动技能实际上只是少了玩家操作水平以及消耗资源两个维度的主动技能——即【永远自动施放】的【无消耗】技能,因此它更适合作为探讨技能的切入点,而且也更适合塔防游戏,因为玩家能够主动操作的内容并不多。当然,也更适合挂机游戏!^o^

本文会同时从两个维度来探讨被动技能——机制复杂度,以及技能设计的定位和意义。下面就正式开讲,首先是最简单的被动技能:

A级:基础数值型

基础数值型技能的特点是发挥稳定,因为它涉及最核心的游戏机制运算,几乎不受外部环境影响,或者即时在受外部环境影响的情况下,依然能够发挥稳定。下面是一些例子:

  1. 火焰伤害提高10%
  2. 攻击速度提高10%
  3. 攻击范围提高10%
  4. 暴击率+5%
  5. 力量+5
  6. 护甲提高10%

这些技能与其说是技能,不如说是装备属性,然而也确实有很多技能只是对基础属性作出调整,就已经产生了足够强大的效果。

基础数值型也可以造成很多很神奇的效果(我们不妨叫他们为A+级技能),这一般是对某些特殊的变量(一般是百分比型变量和布尔型变量)进行极端的变化导致的:

  1. 你能够穿过敌人(碰撞体积降低至0)
  2. 变成飞行单位(修改了单位的移动类型)
  3. 你不会被淹死(水中呼吸时间长度无限)
  4. 你不会被摔死(下落最大速度降低至某个安全的值)
  5. 物理无敌(物理抗性提高至100%)

由于A级技能发挥稳定,因此它几乎不会影响玩家的策略或选择,因为一般只是单纯的堆属性,或者在弥补自己较弱的属性,就像《魔兽世界》一样,毕业后先把某个属性堆够指标再去追求其他属性即可,所以基本是没有策略性的。

B级:转化数值型

转化数值型与基础数值型的区别是,前者是需要动态计算的,而后者是静态不变的。数值转化型的特点是将某一数值进行简单的运算后,赋值在另一个数值上,虽然是动态的,但效果一般都是永久或瞬间的,机制简单。

  1. 造成的伤害3%转化为生命值
  2. 降低受到的伤害至最高10点
  3. 造成致命一击时,恢复5%最大生命值
  4. 每损失1%生命值,提高1%攻击速度
  5. 每损失1%魔法值,提高1%魔法恢复速度
  6. 每增加40点额外生命,提高1点法术伤害
  7. 每1.4点法术伤害,提高1点生命值

这些都是数值转化型的很好例子。B级技能都没有比较复杂的触发条件,因而也几乎不会影响玩家的策略和选择,和A级技能一样属性自然是越高越好。如果B级技能加上比较复杂的触发条件,就会变成下一段落的技能:

C级:动态数值型

C级动态型指的是在某个事件发生或者达到某个需要判断条件时,才会改变单位数值的一种技能。相比之下B级技能只是根据一个变量来计算另一个变量,而C级技能生效条件更复杂,发挥更加不稳定,带来的效果一般也更强大,因而比起B级会更大程度上地影响玩家的策略或行为,而不像B级技能一样依然和A级一样是多多益善,这可以成为区分B级和C级技能的分水岭。下面是一些例子:

  1. 造成致命伤害时,恢复5%最大生命值
  2. 每击杀一个敌人,伤害永久+1
  3. 濒死时,移动速度提高50%
  4. 开宝箱时,伤害提高30%,持续10秒
  5. 脱离战斗8秒后,每秒恢复1%最大生命值
  6. 10码内每有一个敌人,伤害提高4%
  7. 10码内每有敌人时,伤害提高20%
  8. 每过1秒暴击率提高4%,造成暴击1秒后效果消失
  9. 每攻击3次,你的下次攻击伤害提高50%

注意5,它增加了一个持续时间的概念,A级和B级技能由于都是持续生效或瞬间的而没有这个概念。我们会发现,由于5号技能持续时间的加入,C级技能更加类似于BUFF的概念了。

注意6和7,他们实际上是有一个类似于“叠加层数”的概念的,下一段会对这种技能进行进一步分析。

8和9是这种技能的最复杂形态,我们需要很多机制来描述一个BUFF,才能实现8和9这种技能,这些机制可以分为三部分:

BUFF的产生

  • 导致BUFF层数增加的事件
  • 每当事件发生时进行叠加的概率
  • 每当事件发生时,距离上次事件发生要求的最小时间(即增加层数的内置CD)
  • 每当事件发生时叠加的层数
  • 每当事件发生时对BUFF剩余持续时间的修正值
  • 每当事件发生导致BUFF层数满足某个表达式时,修改另一个BUFF的层数

BUFF的效果

  • 单层效果
  • 最大叠加层数
  • 最大持续时间

BUFF的消失

  • 导致BUFF层数减少的事件
  • 每次事件发生时进行减少的概率
  • 每当事件发生时,距离上次事件发生要求的最小时间(即减少层数的内置CD)
  • 每当事件发生时减少的层数
  • 每当事件发生时对BUFF剩余持续时间的修正值
  • 每当事件发生导致BUFF层数满足某个表达式时,修改另一个BUFF的层数

注意,BUFF的产生和BUFF的消失可以有多个事件,即我们可以配置复数个BUFF的产生规则,以及复数个BUFF消失规则,比如《英雄联盟》的电刀,在移动时和攻击时都会增加叠加层数。有了这套规则集,我们就可以用来描述技能8和9的效果了:

技能8:

  • BUFF-A:每过1秒叠加1层BUFF,BUFF的单层效果是+4%暴击率,持续时间无限,最大叠加层数25。
  • BUFF-B:产生暴击时,叠加1层BUFF,叠加事件有1秒的内置CD,BUFF效果什么也没有,最大叠加层数为1,1秒钟后清空所有BUFF-B,当BUFF-B层数由于减少而降低至0时,清空BUFF-A的层数。

技能9:

  • BUFF-A:每次攻击/造成伤害时叠加1层BUFF,BUFF效果什么也没有,最大叠加层数为3,当由于叠加而导致层数大于等于3时,设置BUFF-B的层数为1层,没有消失条件。
  • BUFF-B:单层效果为伤害提高50%,最大叠加层数为1,层数消减事件为发动攻击/造成伤害,消减层数为全部,当层数由于消减而降低至0时,清空BUFF-A的层数。

以上只是两个例子,具体的执行逻辑还需要更细节的设计,但总的来说就是这个思路。这里不建议把BUFF-B的增加条件设置为BUFF-A的层数变动,建议BUFF-A的层数变动时去调BUFF-B,个人认为这大概符合“I will call you, you don’t call me”的原则,但由于我不懂程序,具体还是需要和程序大大们商量的。

利用这种BUFF机制我们可以制作出非常复杂的技能,比如《英雄联盟》的电刀,然而要注意这种技能是否有意义。上面的技能8,我个人认为这种机制非常复杂但只对一个数值进行操作的技能一般来说是没有什么意义的(就说你呢《暗黑破坏神3》),它的效果几乎可以被下面这个技能代替:

  • 你的下次攻击必定暴击,这个特效有10秒CD。

诚然在数值上他们不是等价的,但我宁愿用后面这个技能,他更可控,更能预期技能的效果,也就是说他会影响我的操作,甚至影响我的玩游戏的思路,这样它才能够算一个C级技能,而如果它只是不稳定地为我提高暴击率的话,那么它只是一个B级技能。相比之下技能9就更有意义,它的发挥是可预估的,并且在总体上相当于“33%几率造成150%伤害”,《风暴英雄》中全面用这种机制代替了《魔兽争霸3》中每次攻击进行随机的暴击机制,很有借鉴意义。然而,虽然《风暴英雄》的暴击机制和《英雄联盟》的电刀很有趣,但他们对玩家的操作强度要求也很大,因此在设计的时候也要注意是否要由于玩家的水平而让这种技能的发挥相差很多。

D级:阴阳数值型

阴阳数值型听起来挺怪的,实际上指的就是那种同时有正面效果和负面效果的基础数值型技能,虽然它们也是基础数值型,但由于一正一负,就会变得很有趣,尤其是当它们会涉及到A+级属性时:

  1. 你的攻击速度提高三倍,但你的伤害降低至三分之一
  2. 你的攻击必定命中,但你的攻击永远不会暴击
  3. 你永远无法闪避,但你永远不会被击晕
  4. 你的伤害提高15%,但你的防御降低15%

我们可以发现技能4并不会对玩家的玩法影响太大,因为它只是在数值层面的微调,1与4是同类但由于变化非常大而产生了巨大的效果,在某些时候它的攻速带来的巨大收益是远远高于伤害降低的惩罚的,而2与3都是修改了A+级属性(这些属性往往是百分比或布尔型属性)而导致的特性发生巨大变化的例子。

也正是由于当这种阴阳数值型的变化剧烈时带来的收益过于巨大,因此在单独设计这种技能的时候它的数值往往看起来是亏很多的,1号技能甚至需要更高的伤害惩罚才能与其他的技能价值相当,但更高的伤害惩罚会使得这种技能的泛用性降低,玩家只有在使用高攻速收益低伤害收益的策略时这种技能才有用,所以不建议把这种技能的数值设计得过于夸张,效果为一般技能的二三倍就够了,比如:

  • A技能:攻速+30%
  • B技能:攻速+100%,伤害-70%

B技能和A技能相比已经相当变态了!

E级:基础特效型

基础型特效是静态的特效,只是一种效果的基础计算方式,它们需要动态的BUFF机制才能够实际产生作用,除非是瞬间型特效。

特效如果只是一些对数值的运算,那么就和A级技能十分相似了,但很多特效是会影响单位的状态或行为方式的,这种特效算本文中称呼他们为E级技能,下面是一些常见的特效:

  1. 减速:移动速度降低x%。
  2. 致盲:视野降低值x。
  3. 点燃:每秒损失x%最大生命值的生命。
  4. 恐惧:逃离施法者。
  5. 定身:无法移动。
  6. 死亡:单位死亡。
  7. 复活:单位从死亡的状态又活过来了。

1号与2号只是对数值的简单修改,是A级技能。

3号运算方式比较复杂,但如果架构支持按最大百分比造成伤害的话也不难。

4和5会影响单位的行为方式,是非常复杂的特效。

6和7则是影响底层机制的瞬间特效,要看游戏的底层机制具体是如何运行的才能设计清楚。很多游戏中,伤害作为一种核心的底层机制,也是一种特效,因此要看特效在不同游戏中的定义是什么了,这种特效与事件更为类似,但很多特殊技能都需要这种特效,比如直接杀死敌人,无敌,复活,变形,融合,复活等等,这些特效简单来说就是在技能描述中,那些需要你明确地向软件工程师解释其运行机制,而不能让软件工程师按照字面意思自己猜想运行机制的字眼。

F级:动态特效型

与C级技能相似,动态特效是在某些事件发生或满足某个条件的时候才会生效的特效,也是特效的最基本生效方式。下面是一些例子(红字为上文提过的特效字眼):

  1. 敌人生命值不足10%时,50%几率秒杀敌人。
  2. 敌人死亡时尸体发生爆炸,对周围的敌人造成伤害。敌人越胖爆炸半径越大,敌人最大生命值越高爆炸伤害越高。
  3. 敌人死亡后尸体会转而为你而战,生命值与攻击力为生前的一半,持续15秒。15秒后敌人的尸体会破碎,破碎的尸体无法再被复活
  4. 在地上扔一颗地雷,需要3秒才能准备好,准备好后当有敌人触发时,会对范围内的敌人造成伤害。
  5. 在地上扔一个陷阱,当有敌人踩中时,会对这个敌人造成流血效果,并且使之无法移动,持续5秒。
  6. 将敌人传送回他5秒前所在的位置。
  7. 在目标敌人脚下洒下一大滩半径为10的污油,污油上面的敌人移动速度降低50%。当污油受到火焰伤害后会被点燃,点燃的污油会对上面的敌人每秒造成x点火焰伤害。会飞的敌人不会受到污油的影响。
  8. 一定几率冻结敌人,并且一定几率秒杀被冻结的敌人。对敌人造成的单次伤害越高,冻结、秒杀敌人的几率越大。
  9. 你有一定几率把敌人吃进肚子里,你会暂时获得敌人的技能,敌人在你肚中每秒损失一定生命值,当敌人被完全消化殆尽时,你会受到治疗,治疗量等于该敌人的最大生命值,并且可以再次吞食一个敌人。
”Summon“这个字眼是啥意思,就要跟程序设计师商量

 

1号技能利用了E级的击杀敌人效果,属于比较简单的特效。

2号技能当敌人死亡时会产生一个瞬间的AOE效果,我们需要游戏支持AOE效果才能实现这个技能,并且AOE效果的范围和数值需要是动态的变量,而不是固定的常量。

3号技能引入了“尸体”、“复活”、“转换单位控制权”、“宠物”的概念,这些机制都需要游戏专门支持才能实现,单位的状态和行为比较复杂。

4号技能需要对“地雷”是个什么性质的东西进行定义,它可能拥有单位的部分属性,但又具有一些一般单位不具有的特性与状态,地雷的具体实现方式是用马甲单位还是专门定义一种地雷类型,比较复杂。如果玩家有一个造成的所有伤害为自己恢复生命值的技能,地雷造成的伤害是否算玩家造成的也需要说明(以及玩家制造的宠物、复活的尸体、搭建的炮台等等)。

5号技能与4号技能类似,但它被触发后造成的不是4号技能的瞬间效果,而是一个持续性效果。

6号技能的具体实现方式可能非常特殊!

7号技能与4、5类似,同时引入了一个“地面效果”的概念,油污的性质也需要定义,并且它也拥有诸多的状态,当点燃后表现上会变得不同,而且还会造成伤害。

8号技能会根据目标的状态动态调整自己的属性,实际上是一个比较简单的技能。

9号技能是这些技能中最复杂的,我们需要对“被吞食”的敌人的状态做出定义,如何获得该敌人的技能也很复杂。

被动技能到了F级动态特效型,复杂度就基本已经到头了。实际上大部分游戏都用不到这么复杂的技能,只有少数大型游戏才会用到这么复杂的技能,并且复杂度如此高的技能大多是玩家只控制一个化身的ARPG或者MOBA类游戏。F级的技能往往会成为一个玩家打造其角色能力的核心思路,比如“我想玩一个能够召唤很多尸体为我而战的死灵术士”,那么自然3号技能就比8号技能更符合我的玩法风格,8号技能给人感觉更像是寒冰射手或者是冰系法师才会用到的东西。如果一个游戏中存在大量的F级技能,那么A到E级技能基本都是为了打造以F级技能为核心而作为辅助存在的技能(但实际上D级技能就已经有可能成为BUILD的核心了)。如果我们在F级技能的基础上引入施法验证器、冷却时间、消耗资源等等概念的话,很容易就可以将其打造为主动技能,但其平衡起来的困难度也可想而知,这就是为啥为《英雄联盟》调平衡几乎是个不肯能的任务的原因——因素太多啦。所以如果不到不得已,尽量降低技能的复杂度,同时设计的时候使其能够对玩家的玩法或策略做出影响,才是我认为最好的技能设计思路(想想前面关于我吐槽《暗黑破坏神3》恶魔猎手暴击率技能的例子!)。

总的来说我认为复杂度在《地牢围攻2》以及《风暴英雄》这种级别就已经够满足绝大多数需求了,如果更加复杂到了《英雄联盟》的地步,很容易变成玩家也玩不明白,平衡也调不明白的地步了!

分类
系统分析 赏析与学习

《Infested Planet》系统分析

大家好,我是AT君!元宵节、女神节都过完了,大家是不是都收好放假的心情了呢?AT君在过年的时候与老牌策划疯子同学见了一面,他推荐了这款《Infested Planet》给我,玩完之后感觉颇爽,因此决定写一篇博客来分析一下它的系统。下面就正式开讲!

《Infested Planet》是一款RTS游戏,作为一款传统收费游戏,游戏的外部资源很简单——以关卡驱动,每一关通关后赢取资源,并且在关卡之间进行全局性升级(购买一次性增益道具,或者解锁新的单位或建筑)。其重点还在于游戏本身的玩法,本文会更加侧重于其玩法与内部资源,而不是像分析免费游戏一样更侧重于外部资源。

核心玩法

游戏中的核心玩法是抢夺战略点,每一关都存在着一定数量的战略点,遍布在地图各处,会为占领方带来一定的优势。游戏是不对称的,当玩家占领着战略点后会获得一定的资源——BP,这个资源非常重要,可以用来造建筑、造兵、给兵升级;当敌人占领战略点后则会如潮水一般的不断刷怪,怪物们会涌向玩家的战略点。从这个角度来说,这个游戏是一款“无双”式的游戏,玩家要利用有限的资源,调兵遣将,顶住敌人的进攻,最终夺下敌人的战略点。

玩家一开始一般都只有一个战略点,抢夺战略点会带来非常强的正反馈,因此玩家一旦占领了一半左右的战略点游戏就会倾向于很快结束,使后半场变为垃圾时间。《Infested Planet》对此问题拥有一系列解决手段。首先,随着玩家占领的战略点越来越多,敌人会不断获得全局性的BUFF,以此来一定程度上抵消玩家的优势;其次,在关卡设计上,一个关卡中越后期的敌方战略点越密集,攻打难度越大,玩家必须先占领一部分容易攻打的战略点才有足够的资源发动最后的进攻;第三,玩家拥有的单位越多,制造新单位需要的资源越多。这三个方面都在很大程度上遏制了抢夺战略点带来的超强正反馈,使得游戏在前期后期都平衡而有趣。

若我们引入MOBA游戏的兵线概念,则更容易从根本上把握游戏的策略可玩性。由于敌人的行为方式是不断地从己方战略点刷兵攻向玩家的战略点,因此玩家必须要进行防守。如果我们把敌方单位的行进路线画出来,那么这些行进路线将会是一条一条连结游戏中各个敌我战略点的线段。这一条一条的线段,就是玩家要争夺的东西。玩家所做的,就是在每条线段上进行拉锯战,阻止敌方的推进,同时尽量地进行己方的推进。如果一条线段完全被某一方占据一段时间,会导致该线段中的敌方战略点被占领。所以,从根本上来讲,《Infested Planet》属于RTS类型中的一个子类——拉锯战(tug of war),这是由于敌人的行为方式导致的。

当然,若只是单纯地互推兵线(想想MOBA游戏中兵线上互相傻A的小兵们),《Infested Planet》会变成一款非常无聊的游戏,但由于战略点的位置、地形、玩家单位的位置等等都会影响拉锯战的进行,而且游戏的不对称性已经提高到了“割草无双”的程度,因此游戏的基本策略性和爽快感得到了保证。

在此基础上,《Infested Planet》还拥有RTS必备的(不过是一套大大简化了的)内部经济系统。

内部经济

内部经济系统有两种资源,BP和Ammo。

BP用于建造单位、升级单位、建造建筑,每一个被己方占领的战略点会为玩家带来6个BP,因此BP是一种总量固定的资源,是游戏中的主要资源。游戏中只能造一种单位:枪兵,所有的高级单位都是由枪兵转化来的,因此BP拥有三种消费方式:转化为建筑,转化为枪兵(且拥有的单位越多,造新的枪兵需要的BP越多),或让某个枪兵转化为高级单位。建筑和单位还可以退还为BP。关于建筑,被摧毁或卖掉时,会100%地退回花费掉的BP;关于单位,首先单位被杀死后过一段时间会在最近的战略点满血复活,其次若玩家卖掉某个单位也会100%地退回花费掉的BP。这两方面保证了BP的总量总是恒定的,玩家要做的抉择是分配手上的BP——如果我有12个BP,是新造两个枪兵好?还是造一个机枪塔一个迫击炮塔好?还是把这两个枪兵升级成散弹枪兵加医疗兵好?而且不论花费BP还是贩卖单位和建筑都是瞬间完成的,这让玩家把所有注意力都放在思考经济分配即可,而不必像传统的RTS游戏一样,要么是大部分时间都在无聊地等钱采够才能进行消费(《帝国时代》和《地球帝国》),要么是大部分时间都在疲于奔命地把赚到的每个子儿都投入到再生产中以保持最大化的正反馈强度(《魔兽争霸》和《星际争霸》)。过于无聊和过于疲惫都不适合策略游戏,前者更像挂机游戏,后者更像动作游戏,因此应该为《Infested Planet》桌游风格的BP资源设计点个大大的赞,花完拉倒,觉得分配不合适又可以随时无成本地进行更换,这才像个PVE策略游戏该有的样子。

Ammo则是一种会随着时间不断恢复的无限资源,但拥有一定的储存上限,用于单位施放技能,类似于RPG中的MP,但并不是某个单位所属,而是一种全局性MP。单位和建筑都拥有一些需要消耗Ammo才能发动的强力主动技能,玩家可以选择性地使用,这大大地加强了玩家主动影响战局的能力(玩家操作单位进行行动是一种间接的手段),一定程度上补足了永远恒定的BP带来的昏昏欲睡——你并不是分配好了资源花光了BP就万事大吉的,还有Ammo这种不断恢复的资源留给你去挥霍呢。同时随着游戏的进行,玩家能够解锁更多花费Ammo的技能,以及针对Ammo资源的一些升级,更适合喜爱主动操作的玩家去选择,不做赘述。

地形

作为一款90度俯视视角的策略游戏,我一直将其称作“RTS版《血腥大地》”,立刻上图:

上图为《血腥大地》(Crimisionland),下图为《Infested Planet》

一般的游戏地形设计有两种思路,一种是默认以全图都是可通行空间为基础进行设计,向其中加入障碍(如在城市中加入建筑);另一种则是默认以全图都是不可通行的空间为基础进行设计,向其中加入通路(如在地下开凿通道)。《Infested Planet》无疑采取的是后面这种设计思路,同时比起前者,这也更加适合上文已经分析过的拉锯战机制,不再赘述。

除了这种地形设计方式以外,游戏中还移除了传统RTS的战争迷雾设计。在早期关卡中,有一些教程关卡中加入了用于引导玩家行为的战争迷雾,但当玩家上手后,后面的关卡就没有战争迷雾了。AT君分析,首先这是由于采用了这种地形设计方式,探路对游戏的意义不大;其次,游戏是一款不对称游戏,AI的无脑刷怪是完全无视视野的,因此战争迷雾是只对玩家有害的机制,玩家要想玩游戏必须得能掌握地形,加入战争迷雾的话只会让玩家不得不加一个探路的无聊步骤(别忘了玩家在经济系统上是不需要等待的,因此不会出现没钱可花只能去探路的前期阶段!),并且很有可能在这个步骤由于赌错了而失败(大军杀到了家门口而单位在往另一个方向探路),产生非常差的体验。而一旦移除战争迷雾后,玩家能够全局性地掌握战略点的位置,以及怪物的路线,直接进入主要的策略性玩法——选择战略要点,制定进攻路线等等,因此取消战争迷雾也是更符合这款游戏的设计。

这篇文章到这里就写完了,作为一款干掉了RTS中大量无聊阶段的出色PVE游戏,AT君个人非常欣赏这款游戏,RTS爱好者万万不要错过!另外要不要考虑抄一下移植到手机上呢?(认真思考ing)