分类
塔防 游戏设计

塔防数值设计的几个维度

祝大家国庆长假快乐!

所谓不同维度的数值,就是互相无法直接用数学公式互相转换的属性,比如攻击力和射程,他们两个没有直接的数学关系(或者用我从某本书上看来的术语,这两个属性是“正交的”);而暴击率、暴击倍数则是可以在一定程度上转换成攻击力的,类似的,护甲穿透、命中率也都是可以转换为攻击力的,而移动速度、生命值就没法通过数学运算简单地转化成攻击力,它们之间的关系也是正交的。

显然,不论是什么类型的游戏,正交的数值类型越多,游戏就越有趣,但也就更难平衡——不过对于游戏设计师来说,这并不是偷懒的理由。就像《三国杀》广为人知的“一滴血等于两张牌”的等式,其实就是在衡量两个正交的数值的平衡关系,遵照着这个关系去设计游戏平衡性,基本不会产生太离谱的情况。

自从数年前玩过了弹幕塔防《Enigmata: Stellar War》之后,我对把射击游戏的一些要素融合到塔防中就十分感兴趣,同时这也能加大塔防数值设计的维度,这往往不只体现在简单的数值设计上,在攻击方式上也有很大的设计空间。实际上,很多游戏都在这么做,比如《炫光塔防》或者是《保卫萝卜》。

塔的运作机制

炮塔的攻击是凭借发射飞弹实现的。

  • 索敌:塔决定攻击哪个目标的逻辑。实际上索敌范围和攻击范围可以是不同的,有些游戏的索敌范围更大,有些则相反。如果两个范围相同逻辑会更简单些。有些游戏的防御塔有锁定目标的设计,即一旦某个单位进入了火力范围,在这个单位离开范围或死亡之前炮塔不会改变目标。有些游戏能够设定炮塔优先攻击的目标,比如离自己最近的,离基地最近的,最快的,血最多的等等。索敌有的时候还会受到视野的影响,比如在《Cubemen2》中,隔着墙的情况下是无法发现敌人的,因此所有塔都有一个“视野”的概念。
  • 发射飞弹:最简单的炮塔就是瞄准了敌人就开火,复杂一些的炮塔可能一次发射多发不同发射角度的炮弹,或者同时锁定多个敌人进行攻击,甚至估算炮弹的着弹点进行预判等等。一些射击游戏中,飞弹发射的角度会有不同程度的误差,用来模拟枪械或者炮塔的精准度。
  • 发射点/炮塔:飞弹需要从某个部位飞出来,所以一个炮塔会有至少一个发射点。比如某个游戏为了模拟主角右手端枪,所有的子弹就都从人物中轴线偏右的地方创建出来。还有的游戏有多个发射点,一次可以发射多发飞弹,或者多个发射点轮流开火。对于追踪型飞弹来说发射点在哪里可能无所谓,但对于碰撞型子弹来说发射点一定程度上决定了攻击的命中率。
  • 蓄力:有些单位的攻击有蓄力的概念,指的是通过某种方式可以切换为更加强大的攻击状态,比如《星际争霸2》改版之前的虚空辉光舰,《红色警戒2:尤里复仇》中尤里的盖特机炮(这俩东西为啥这么像?我个人猜测都是出自Dustin Browder之手),《洛克人》的洛克枪,《虚幻竞技场》的动力锤,甚至《英雄联盟》的鬼索的狂暴之刃等等。“过热”的机制实际上也很类似。
  • 朝向:有些炮塔有朝向,有些则没有。有朝向的炮塔要把枪口对准敌人才能进行攻击,这时候如果敌人横向移动速度很快,炮塔的转动速度跟不上的话就没法瞄准敌人进行攻击。《EVE》中类似的机制对玩家的影响很大,口径越大的炮转得越慢,就很难锁定速度飞快的小型船只。

塔的数值

炮塔本身有着很多种属性,从逻辑上来说,有些属性实际上是炮弹的属性(比如攻击力),但我们也可以把这些属性认为是炮塔的属性,除非玩家可以自由为炮塔选择发射不同攻击力的炮弹,否则玩家建造炮塔肯定是看中了炮弹的威力而去建造的。

  • 攻击力:子弹对敌人造成的伤害,最基本的属性。然而根据攻击方式的不同,却有着相当大的的差异。单次伤害越高,抢人头的几率越高,但带价则是浪费的伤害越多。
  • 攻击间隔:发射子弹的间隔,也是最基本的属性。
  • 射程:最基本的属性,实际上大部分游戏的“射程”指的是“最大射程”,不过某些游戏还存在“最小射程”。
  • 最大转角:现实中的炮塔多有这个属性,而很多塔防游戏的塔最大转角都是360度的,因此这个属性有时候会被忽略。最大转角与射程作为扇形的弧度和半径决定了一个炮塔的火力覆盖范围。某些3D的塔防游戏中,火力覆盖范围更为复杂,可能会存在两个维度的最大转角——实际上现实中的炮塔也是这样的,除了左右转动外还有最大最小仰角。
  • 暴击率:发动致命一击的几率。按照我的理解,致命一击最早是DND中Roll出20点来模拟“幸运一击”的,因此很多日本游戏将其解读为幸运一击或者会心一击更符合其本意,而像《魔兽争霸3》或者《暗黑3》中的暴击率设计已经完全失去了这个意义。总的来说我并不喜欢暴击率的设计,因为只要这个属性存在,所有的塔都必然会追求这个属性,除非能够让其不成为一个必然的选择,否则就没有存在的意义,只不过会让数值膨胀罢了——就像《暗黑3》。好的例子是《流亡黯道》,里面存在追求100%命中率而放弃暴击率的流派,也存在很多像《暗黑3》一样依赖于暴击触发特效的流派。依赖某种方式来触发特效能够大大地加强不同维度数值的作用,但对于玩家来说理解稍难一些,不是很适合休闲玩家。
  • 命中率:一次攻击击中的概率。对于追踪型飞弹来说,未击中的时候是如何处理的需要特殊的说明,比如像《星际争霸2》中并不存在与《魔兽争霸3》类似的未命中机制,因此简单地使伤害降低为0的话伤害特效依然存在,而理论上完全闪避了一次伤害是不会受到那次伤害的特效影响的。与暴击率类似,足够丧病的话也可以设计一种只有攻击未命中的时候才会触发的特效,否则玩家是会无脑堆命中率直到100%命中率的——玩过《魔兽世界》的都知道这是个真理!
  • 攻击规模:一次攻击会伤害到多少个敌方单位。注意,这并不是一个游戏中真实存在的变量,而是由攻击方式决定的。显然,每能够多攻击到一个敌方单位,炮塔的效率就增加了一倍,因此这个数值对于炮塔的能力提升相当之大,很多塔防后期都会都会变成狂造AOE塔的无聊游戏就是因为对于这个数值的效力过低的估计了,但这也难怪,因为这个数值并不是真实存在的,发挥也不稳定,因此更难预估。
  • 弹速:子弹飞行的速度,对于以《打击者1945》为代表的射击游戏来说,子弹的飞行速度越高意味着玩家越容易瞄准,命中的几率也就越高。对于传统的追踪型飞弹来说,弹速更高意味着过量攻击更少,如果弹速非常慢的话,在怪物死亡后还会有很多飞弹在路上,这部分伤害就浪费掉了(个人感觉《DOTA2》的绝大多数飞弹都飞的太慢,远程英雄补兵很困难)。其次,对于追踪型飞弹来说,如果弹速没有怪物的移动速度快,想要命中敌人是相当难的。而对于抛物线迫击炮型飞弹来说,弹速越高也是命中率越高,否则怪物可能离开了炮弹落点而无法造成伤害。

飞弹的运作机制

炮塔决定了子弹的发射方式,但子弹离开炮塔之后就不再受炮塔控制了,子弹有着几方面来决定其实现功能的方式:

  • 移动规则:是锁定某个目标向其移动?还是以固定的某种方式(如直线或者抛物线)移动?移动速度是怎样的?是否有加速度?
  • 碰撞规则:子弹会与什么类型的目标碰撞并造成伤害?所有单位?己方单位?敌方单位?其他飞弹?目标地点?
  • 销毁规则:子弹在什么情况下被销毁?碰撞到某种东西后销毁?飞出一定距离?存活一段时间?

这三方面的结合可以创造出变化相当多的飞弹。比如我们要模拟激光的效果,则移动速度是无限大的,刚刚发射就会击中敌人;狙击枪能够穿透一排敌人,说明子弹在与敌人碰撞的过程中没有被销毁,但也不会对同一个目标重复造成伤害;迫击炮对着目标地点攻击,敌人有可能离开了着弹点,说明其移动方式是抛物线的;火焰喷射器则可以看做连续快速发射一些碰撞体积大,移动速度慢,碰到敌人不会销毁而是创建后一段时间销毁的飞弹;散弹枪一次发射大量的子弹,并且角度各有不同等等。如果是纵版的游戏(《愤怒的小鸟》那种视角),可能子弹还会受到重力的影响,但表现出来其实也就是移动规则变为抛物线状的。关于这个类型的飞弹设计可以参照《疯狂坦克》或者《弹弹堂》这种游戏,里面对于飞弹的物理模拟十分有借鉴意义。

  • 生命值:基本属性。
  • 移动速度:基本属性。
  • 护甲:降低受到的伤害。以《星际争霸》中的护甲机制为例,护甲按照减法直接抵消一部分攻击力,因此攻击力越高的单位被护甲抵消掉的部分越少,这样玩家在针对高护甲的怪物的时候,在同等面板DPS的情况下,选择高攻击力低攻速的塔就更划算。我并不赞同只是单纯地将护甲作为一个降低伤害的手段,这和过于简单的暴击一样也只是会导致属性膨胀。护甲的存在一定也要让玩家在不同的维度属性中做出选择,才有其存在的意义。注意,以《星际争霸》为例的话,如果护甲是负的,每次受伤会受到额外伤害,在这种情况下高攻速低攻击力的防御塔的收益是更高的!
  • 闪避率:降低收到的攻击命中的几率。对于追踪型飞弹来说,如果被闪避了后续是如何处理的需要更详细的设计,在《星际争霸2》中有的飞弹会重定向某个范围内的其他目标,如果没有可行目标则自行销毁。
  • 攻击方式:有的游戏中怪物走到基地面前会持续不断地对基地造成伤害,有些则是一次性地造成伤害并且消灭自己,有些则是一次性造成伤害并且随着下一波怪物再次出现,还有一些其它方式。对于波次驱动的塔防来说,我个人比较赞同第二种,第三种可能正反馈太强,第一种则难以预估怪物能对基地造成多少伤害(因为不知道它们会打基地多久)而较难设计,并且由于漏的怪会一直攻击基地导致玩家必然会优先在基地附近部署防御塔而使得游戏策略减少。
  • 是否会还手:有的游戏中的怪物会攻击防御塔,有的只会傻跑。《国王守卫军》开创了第三种模式——小兵捉对互砍。
分类
游戏设计

王道:正交的游戏数值设计

首先要说明的是这两篇文章是基于以下两个资料,以及我自己的理解所总结而成的:

  1. 行业前辈著名博主Necromanov的老帖《游戏数值设计(2):平衡性问题》,由于该博主(下称内裤龙)常年博客被墙,可以点击这里看的转载全文;
  2. 啪啪三国的老大魏坤前辈所做的《游戏数值设计》讲座,可以点击这里免费观看(此处感谢小柞向我介绍传客这个网站,为她鼓掌!o/o/o/o/o/)。

好吧,让我们开始聊平衡性

首先让我们明白,游戏分为两种:对称的游戏和不对称的游戏。对称的游戏就是双方对手拥有的资源和能力完全一模一样,比如剪刀石头布,而大部分的视频游戏都是不对称的。

内裤龙和魏坤都说的很明白——绝对的平衡很容易做到,只要设计成对称的游戏就可以了,就像魏坤所说的某个游戏的所有职业第一个学会的技能伤害值全都一样——但那对于如今的视频游戏来说是很无聊的(这里姑且就不讨论对称游戏和非对称游戏的优劣了),所以我们可以先统一一个前提——我们不做对称游戏。

然后问题就来了——不对称的游戏,怎么平衡?

这是困扰着超多数值策划的问题。

关于平衡性的无谓之争内裤龙已经在他的文章中解释得淋漓尽致了,甚至包括对数值策划这个职位的解释,也从更本性上比魏坤说得更透彻一些,我是十分赞同内裤龙的说法的,所以这里可以引出我在他的基础上进一步的观点:

游戏的不平衡(IMBA),指的就是存在统治性策略。

与内裤龙所说的是一样的——所谓的修正平衡性,实际上是在修改失败的设计,而失败的设计,在我眼里指的就是统治性策略。对于pve和pvp游戏,平衡性设计是不同的,但实际上都是必须要避免统治性策略的。

那么统治性策略是啥呢?是从英文Dominant strategy翻译过来的,来自于博弈论,指的是一个有理性的生物在面对一系列选项时,无论其他对手会选择什么样的策略,它都会必然选择的选项,这就叫统治性策略——说简单点就是优势大得玩家会无脑去选。

希德·梅尔说过,游戏就是有趣的选择的集合。现在假如在一款RPG中你做完了一个任务,可以从两个报酬中选择一个:A,10个金币;B,20个金币。所有人都会选择B,没错吧?这就是因为B是一个统治性策略,这就是希德·梅尔所说的有趣的选择的反例——这是一个无聊的选择。

这是一个简单的例子,下面我们换一个复杂一些的:比如你在玩《魔兽世界》,毕业了打算下副本,去论坛问怎么样才能输出最高,然后你知道了在命中属性达标之前什么都不重要,于是只要一门心思的提高自己的命中属性就好了,这就是一个统治性策略。

当然,上面这个例子是一个pve的例子,那么我们换成一个pvp的例子——比如说玩《英雄联盟》,在某些版本会存在“非BAN必选”的情况,这也是一个统治性策略。某些英雄的第一件装备毫无悬念的要出某一个,这也是一个统治性策略。如果你不这么做,意味着你还是菜鸟,也就是你还没有掌握这个英雄的精髓——其实也就是还没掌握其中存在的统治性策略。

看似统治性的策略(又叫cheese tactic,菜鸟最爱的”赖招“)有其存在的好处——能使新手快速上手,而实际上又总会被熟练的玩家击破。而极端的统治性策略会完全破坏游戏的趣味性——比如开外挂——独孤求败是非常无聊的,这个道理大家都懂。

不对称游戏在绝大多数情况下是不存在数学上的平衡的,因而我们感受到的不平衡,那些能让我们喊出”这不公平“或者”法爷亲儿子“的时候,其实是感受到了统治性策略——因为我们面对着一个游戏没有提供给我们任何战胜的可能性的对手。这就是IMBA的本质。

不对称游戏的根本:正交的数值设计

正交(Orthogonal)是一个数学概念,在《游戏设计基础》一书中提到了数值设计应该正交,指的就是不同的属性带来的收益应该是完全无法互相换算的关系,例子就是经典的《龙与地下城》中的六个属性:力量,敏捷,体质,智力,精神,魅力,这六个属性互相之间毫无关系。我曾经玩过某些台湾游戏,该游戏中的智力属性是大幅提高魔抗小幅提高MANA上限,精力属性是大幅提高MANA上限小幅提高魔抗,这种属性的设计就不是正交的。

我认为在不对称的游戏中,不应该存在正交的数值设计,因为这样几乎必然会导致统治性策略的出现。

用魏坤的那个例子——比如我们设计了一个战士职业,然后又用战士改造了一个职业出来——狂战士,这个职业的防御力比战士弱,但是攻击力比战士强。这是个烂设计,因为这两个职业之间的关系是正交的——你总是能用防御力和攻击力这两个同样的属性来考察这两个职业的区别。接下来魏坤又说了弓箭手,但弓箭手就很难拿来和战士比较了,因为弓箭手是远程的,而战士是近战的,攻击范围这个属性无法和攻击力或者防御力这两个属性来比较,为啥?因为它们是正交的。

接下来魏坤说了,这种无法用数学转换的平衡性设计只能靠经验了。他举了很多例子,比如有各种特效的武器,这些特效统统与武器的通用属性是正交的,因此没法计算其优劣,因此才使得选择具有策略性。没错,其实这才是游戏设计师真正该干的活,这也才是需要游戏设计师的地方,否则单靠算算术就能搞定的话,还要一个大活人干吗?而正如Necromanov所说,国内的策划水平普遍不足,所以往往才会把这部分本应该大家都会的活专职抽出一个人来负责,所以我们才有了数值策划。

当然,正交的非对称游戏也很容易产生统治性策略,比如臭名昭著的《红色警戒》坦克流,这是因为对手没有任何还手的余地。《万智牌》中存在着大量禁卡,理由也是因为它们是构成统治性策略的核心卡牌。

《星际争霸》我们为什么说它是平衡的?实际上无所谓”平衡“,我们说它平衡是因为至今为止经过了十几年的考验我们还没能在这款游戏中找到一个统治性策略,这一点是通过任何单位都有着明显的强势对抗单位与弱势对抗单位作为基础来保障的。

其他我们认为平衡的游戏也是如此,扑克,象棋,围棋,都是同样的。《激战2》每个职业虽然大部分属性都是相同的,但却都有着独特的机制和一个独特的属性,这使得这些职业是正交的——就像魏坤所提的武器特效的粒子一样。这给了你玩遍所有职业的理由,而不是”哦,狂战士啊?不就是攻击强化、防御弱化版战士么?不玩!“

所以说,解除了对于平衡性的错误认识后,我们不应该再设计非正交的游戏内容了——除非你的游戏是一个对称游戏,否则一定不要这么做。统治性策略(更通俗的说法就是”这不公平!“或者”It’s not fair!“)才是摧毁游戏乐趣的最大杀手,这就是我所领悟的所谓平衡性的真正秘密。

分类
琐事 游戏设计

令人啼笑皆非的数值策划面试题

今天在一个QQ群内聊天,有一个人问了一个问题,大概是这样的:说某个游戏的BOSS有10000点生命值,玩家每次的伤害在150~250之间浮动,问45下打死BOSS的几率是多少。当时很多人就表示质疑,问这个问题有什么意义?那个提问的人表示这是面试数值策划的试题。

我自然也是认为这种试题毫无意义的人,因为想要得到这个结果实际上最快的方法是写上一小段代码。群内有人花了3分钟就写了一段代码,运行了100000次,结果没有一次能够在45下之内打死BOSS的。问题就这样解决了不是吗?

然后接下来我问了他,比起这种试题,你不认为“为什么采取150~250这种浮动伤害值的设计”用来考策划更有意义吗?如果一个策划不明白自己的战斗系统为什么要采取这样的设计,那恐怕是根本谈不上入了游戏设计的门的吧?

然后群里众人就都开始了发言,发表他们认为浮动伤害数值的设计究竟有什么意义。当然,也有一些人根本就是哑口无言,从来没想过这种问题——而且这种人在业界中作为策划大量存在。

群内有一个人说得很好,他认为正是业界的混乱导致招聘的时候考官也不知道到底应该考什么,结果只能像考数学专业的学生一样弄出这种奇葩试题来。

唉,看来我国的策划们还有好长的路要走,每当看到那些整天在抱怨环境差而毫无进取心的所谓“游戏策划”们的时候我都不免这么想。