分类
塔防 游戏设计

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游戏。

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

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

销毁条件

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

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

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

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

分类
赏析与学习 游戏设计

借《风暴英雄》浅谈我对MOBA游戏经济系统的理解

2013年的暴雪嘉年华之后,最抢眼的就是暴雪的《风暴英雄》了。虽然拖了很久很久直到现在才露脸(常看我的博客的人都知道我是暴黑),但暴雪对于MOBA类游戏做出的一些改良我是十分赞同的,接下来就从经济系统上简单的来分析一下——这也对我正在与牛牛君开发中的一个塔防游戏原型相关。

1

那我们先来看一下现存的MOBA游戏的经济系统大致是什么样子的,这要从《魔兽争霸3》说起。

众所周知《魔兽争霸3》是一款融入了大量RPG要素(当我在此说RPG要素的时候,指的就是人物等级提升,主属性,自定义技能以及打怪赚钱买装备,这些要素《魔兽争霸3》中都包含了)的游戏,而《DOTA》正是靠着这一点发扬光大的——打怪升级加点买装备,一个也不落,这可以算得上是MOBA类游戏的起点。

作为起点的《DOTA》中的经济系统是最为复杂的,它不但有着复杂的物流系统(我是指野外商店以及送货用的小鸡小驴),玩家之间还可以互相赠送道具,玩家还经常要购买毫无任何用处但依然会占一个格子的合成卷轴,游戏中还有着大量的消耗品也会占据玩家的格子——你怎么可能不带传送卷轴呢?

《英雄联盟》(下简称《LOL》)做出了很大的简化。大部分英雄都会用到的依靠道具的主动技能被合并成了元游戏时选择的召唤师技能,传送卷轴也被做成了通用的回城机制。物流被取消了,你再也不用靠驴子送东西了,也不用上野外商店买东西了,恼人的合成卷轴也都没了,主属性也被干掉了(虽然这和经济系统关系不大)。这都是进步的设计改进。

2

我们都知道,MOBA类游戏的目标是摧毁敌方的大本营,为了达到这一终极目标,游戏中实践时中会以诸多个小目标的方式来完成,这些小目标都能够达到这个终极目标。这些小目标笼统来说可以分为三类,包括推线拆塔,击杀,打野,分别代表了摧毁对方的静态防御系统,削弱对方玩家的能力,以及提高己方的能力。

而这三种行为都会伴随着金钱的奖励——毫无疑问,这是为了强化游戏的正反馈,奖励技术高超的玩家,从而保证游戏能够在一定时间内结束而不会没完没了地进行下去。这是所有有限的游戏的共同点。

我们可以发现,最终的战略都是同样的——A方面是提升自己的实力,B方面是击垮对方,也就是阻挠对方提升自己的实力。等到双方的实力拉开到一定差距的时候,摧毁对方的静态系统就会变得更容易,己方的胜算就会相当大,这是保证自己获胜的基础,所以双方都会拼命的练级、挣钱。这和RTS游戏的动态是相似的,这也是由于《MOBA》游戏起源于RTS游戏。

  1. 提升自己的实力(手段)
  2. 防止对手提升实力(手段)
  3. 保卫自己的建筑(目的)
  4. 摧毁对方的建筑(目的)

这种动态很有趣,因为想要提升自己的实力就要离开基地,而保卫自己的建筑又要靠近自己的基地,加上战争迷雾的设计,这就产生了有趣的动态——这也是传承自RTS的优秀设计。

3

脱胎于《魔兽争霸3》的MOBA类还有一个重要的系统是等级和技能点。那么我们什么时候能够获得经验值呢?当我们推线、杀人或者打野的时候……等等,这些时候不也正是我们获得金钱的时候吗?如果金钱和经验总是通过同一种方式来获得,并且也都是为了同样的目的被消耗掉(都是为了提高自己的能力),那么还何必分成两种资源呢?

有人说了,那是因为获得了金钱可以随心所欲地购买装备呀。但我们获得了经验值并且导致升级后,不也是可以随心所欲地加点吗?所以我们可以干脆干掉经济系统,那些烦人的补刀、抢人头都可以被干掉了。

这好像是个无懈可击的逻辑,而《风暴英雄》就是这么干的。

4

既然我们明白了MOBA类游戏的经济系统是可以不存在的,那么我们就要想想,如果没了经济系统,游戏会是个什么样子。

首先,提升自己的实力这方面会被大大简化。以《星际争霸》为代表的RTS也有这个毛病,初期没啥事可干,后期东西多得控制不过来。早期《DOTA》的状况十分类似,初期大家都在拼命赚钱互不往来,憋得差不多了一次团战定胜负。为什么会出现这种状况?这是因为玩家认为,初期击杀对方英雄带来的收益不如努力提高自己力量的收益大,也就是说上一段中的B策略<A策略。

这会使得游戏相当冗长,前期的观赏性极差。

那么如果B策略>A策略会导致什么?会导致游戏一开始的时候就团战。无论是一血的设计还是河道抢神符的设计都是在鼓励B策略。但这正反馈又不能太强,强到一开始的优势滚雪球导致弱势方无法翻盘。

这样游戏就变得很好看了,同时大大地减少了一局游戏所需要的时间。

5

另一方面,作为一个快节奏的战术游戏甚至可以说是动作游戏,战术沉浸感是最为重要的,毋庸置疑最好看的视频都是那些极限杀人的视频,以及出色的团战视频。不会有人为20分钟能赚多少钱的视频去喝彩的,虽然这很厉害,但是这很无聊,但这又是必须的一部分。

如果有哪个部分很无聊但又是某个游戏必须的一部分,那这就是个烂设计。现实生活中这种不得不去做的无聊事情就够多了,玩游戏的时候还给玩家添堵,那不是什么好主意,毕竟游戏是用来娱乐的,对吧?

然而有很多游戏是十分注重经济系统建设的,比如……那一大堆的模拟餐厅游戏。然而这种游戏中有很大一部分是自动完成的,玩家需要的只是进行一些决策,一些甚至连上货都要玩家手动进行的游戏如《便利商店》就显得很无趣了,也就是说经济建设为主的模拟游戏更注重战略沉浸感。

当两种不同规模的沉浸感都放在一个游戏中的时候,就会产生比较差的体验。更大的问题则是导致玩家们对游戏目标判断的不同。可能在甲认为需要团战时,乙认为应该打更多的野,丙则认为应该去带线——虽然这几种都可能是正确的。对于专业玩家来说这自然不是问题,而对于大多数玩家来说这就成了“不怕神一样的对手,就怕猪一样的对手”这种体验了。

6

如果取消了经济系统,没有了补兵和打野,剩下的就只有团战和拆塔了,不是吗?游戏的核心目标就放在了击杀对方英雄,摧毁对方设施,而不是努力地保持己方的钱比对手多了。如果玩家都能意识到共同的目标,而且都能为共同的目标作出贡献,那么就不会有坑队友的问题,只不过是大家贡献的多少的差别。当然,正反馈还是需要有的,但《风暴英雄》目前是以什么形式做到的还不太清楚,然而不得不承认的是,由于传统MOBA的经济系统过于重要,有的时候人头数和塔数反而变得不那么重要了,这使得游戏的目标发生了一定的改变,应该算是设计的失误。

除了战术性与战略性沉浸感的差异以外,还有一个重要的差异在于,RPG是一个长期的成长性游戏,而MOBA类游戏是一个循环短暂的动作/战术游戏。因此在RPG中玩家可以投入大量精力去打怪升级赚钱买装备,而MOBA中这些你并没法带入下一场比赛,这样一来花大量精力在打怪赚钱而不是直接的与对方对抗上就变得相当不那么有趣了。

塔防游戏也是如此,你造出来的好牛逼好牛逼的塔下一关用不了。所以我打算做的下一款塔防游戏正是也要在这方面做出改善的。

7

我们不妨想象,如果一个第一人称射击中玩家的最终要体验不是传统的杀人占点拔旗子,而是占领经济建筑物获取更好的装备乃至升级人物啥的……系统就变得太臃肿了。FPS游戏(或者更极端的例子,1v1对抗的格斗游戏)有着MOBA类游戏应该追求的所有东西——出色操作受到众人的崇拜,快节奏,摧毁对手,激烈的玩家对抗——MOBA类游戏不也是如此吗?只要干掉了经济系统,就能做到这一点,我是如此相信着的。

很明显暴雪知道自己要追求的是什么,这是个好事,因为一直以来他们在《星际争霸2》和《暗黑破坏神3》中都做了很多蠢事,而《炉石传说》和《风暴英雄》让我觉得他们又恢复了应有的游戏设计水平——虽然他们可能还不太擅长这类型的游戏。

我现在还没有玩过《风暴英雄》,所以只能从一些传闻上来分析它的设计。等到对《风暴英雄》的理解更深刻后,估计还会更新此文或者写一些新的观点吧!