内容概要:这一部分主要是分析战斗系统的两大组成【武器系统】和【怪物系统】。
武器系统分析
武器系统是玩家最直接可控的系统,我们先从这里开始。武器的主要属性有:
- 伤害系数:单次伤害=角色攻击力属性*系数。不同武器伤害系数不同。
- 攻击范围:决定了单次攻击可以打击的范围,从而决定能击中的敌人数量。
- 攻击定向方式:如何选择攻击目标或者攻击范围。
- 攻击频率:造成伤害的频率。
以上属性共同决定了他们的理论伤害上限。游戏中一共有17种武器,每个武器有2种形态,六个等级。计算出每种武器所有情况下的理论最大伤害十分繁琐。且前文分析过:1)不同怪物之间最主要的区别在于如何平衡其生命和体积;2)武器范围内怪物的个数,决定了其伤害。
所以这里以【攻击范围】为关键要素,对武器进行分类。而【攻击频率】和【攻击定向方式】是通过影响武器的输出曲线平滑度来影响武器的伤害输出。如:【攻击频率】通过造成消灭与生成不同步,从而在时间上产生短暂的输出危险期。【攻击定向方式】通过伤害的空间分布与玩家生存空间错配,从空间上制造危险。二者的存在都可以被认为是通过对【生成-消灭】模型的扰动,从而给给游戏提供操作的空间,增加游戏可玩性。武器的伤害范围大致可以分为三类:
- 单体伤害:以苦无、足球、左轮为代表。每次攻击发射若干投掷物、每个投掷物对碰到的第一个敌人造成伤害、碰撞后消失。这类武器往往伤害系数高,但是攻击敌人数量少。适合对付高生命,小数量,大体积的敌人。面对低生命或者低体积大数量的敌人时,则容易产生伤害溢出浪费。
- 贯穿伤害:以板砖(普通形态),苦无(终极形态),霰弹枪,火箭发射器为代表。每次攻击对投掷物碰到的前X个敌人造成伤害,碰撞数达到后消失。这类武器类似于前两者的折中方案。不同之处在于其定向方式往往有比较强的指向性,多适用于突围。
- 群体伤害:以球棒、无人机、激光等为代表。对攻击范围有体积碰撞的每个敌人产生定额伤害,伤害总量=单次伤害*范围内敌人个数。由于空间范围计算方式十分多样,这类武器种类最多,变化也最多。其伤害系数往往和范围大小成反比,确保不同武器之间的平衡性。
接下来我们将每种武器举一例,结合属性和实战来具体看看武器系统的设计:
我们先做出一些假设条件:
- 为简化计算,所有关于【尺寸】的数值,均是简化后的比例,不影伤害响计算结果:屏幕尺寸为150X300=45000(平方单位),怪物基础尺寸为10X10=100(平方单位)体积形状为圆形(即武器运动路径方向上的【怪物投影宽度】和【怪物体积进深】也为10)
- 计算【理论最大伤害】时按照100%怪物密度。计算范围伤害武器【消灭强度】时,按照80%怪物密度考虑攻击范围内怪物数量。
- 计算【碰撞个数期望值】时,为简明起见,这里只考虑线性运动的范围武器,100%怪物密度,同种体积怪物,公式为:(【武器体积宽度】/【怪物投影宽度】+1)*【武器运动距离】/【伤害计算进深】+1)。原因:碰撞的触发条件是体积有交集,而非体积覆盖。假设武器宽度是怪物宽度的2倍,则武器运动过程中,几乎不可能刚好只覆盖两个怪物,通常是体积中心可以覆盖1个怪物,边缘会蹭到2个怪物,一共3个,此为武器扫掠到怪物的“行数”。“列数”计算略有不同:1)每次碰撞计算一次伤害,此时【伤害计算进深】为怪物体积沿武器运动方向的进深;2)每次碰撞计算多次伤害,此时【进深】为触发伤害计算的最小武器移动距离。如此,可计算扫掠到的“列数”,从而得出计算出上式。(圆形范围武器计算方法类似,但稍微复杂,这里暂略过)。
- 角色初始攻击力为100;怪物生命值为500;
- 所有【面积】【速度】【伤害】后的“/s”意为“每秒”。
- 以下计算并非100%按照游戏真实数据,部分数据由于画面过于混乱难以计算,采用合理推测来填入。但这不影响对武器特性的描述。同时简化了怪物体积,运动轨迹,怪物密度等信息,从而让武器的伤害趋势更加简明直观。
三个表格数据很多,重点关注以下内容:
- 消灭强度:这是直观反应武器消灭能力的指标。苦无和板砖在终极形态(U等级)下获得巨幅提升。提升的原因主要是【碰撞个数期望值】的大幅提高,这一提高实际上是来自于攻击范围的改变。榴莲伤害基本上符合2^X提升,没有突变点,因为每次升级基本上碰撞个数和伤害系数都是相对均匀地提升。
- 三种武器伤害系数都差不多,消灭强度的差距来自于【碰撞个数期望值】。榴莲的UB行中模拟的是用榴莲进行boss战的情况,屏幕中只有一个怪物,且占屏幕只有20%时,满级榴莲伤害不如二级苦无。而在满屏怪物的条件下,满级苦无伤害仅仅相当于四级榴莲。显然两种武器适用于不同的战斗场景。
关于武器的平衡性:按照前面的分析,平衡的武器系统应该是实战消灭能力的稳定性和理论最大消灭能力大小负相关。先举例分析:显然榴莲在满屏幕怪物的情况下,消灭能力是远大于板砖的。而怪物很少时,搬砖因为命中个数相对稳定,且主要攻击靠近角色的怪物,所以此时性能略优于榴莲。这符合游戏的实际体验。这可以看出武器系统的设计是不完全平衡的。但是由于武器选择有一定的随机性,所以显然一个不完全平衡的武器系统是可以接受的。
游戏局内的道具除了武器,还有属性增强。有了上面的分析,就很好理解属性增强:相当于在某一列上乘以一个调整系数,最终作用到消灭强度上。例如:增加范围和子弹速度,都可以增加范围武器的碰撞个数期望值;增加伤害相当于增加伤害系数;增加攻击间隔相当于增加了单体武器的发射效率。但有些升级和武器是不匹配的,例如榴莲没有持续时间这一属性。玩家要做的就是尽可能匹配升级和武器的关系,尽可能让升级能作用于所有的手头武器。
游戏中所有的武器消灭强度,都可以列成以上表格的形式来进行量化。 根据各自特性的不同,在每一列中,乘以不同的调整系数,形成了游戏的武器系统。 游戏中将近85%的武器都是以范围攻击武器的形式存在,区别主要是是攻击范围的计算和定向方式不同。对应地,游戏中几乎85%的时间都在对付海量的怪物攻击,怪物的区别主要是体积和速度不同。 另外15%的单体攻击武器往往在15%的boss战时才能凸显其效果:尽管在其余时间中比较鸡肋,但是在boss战时却能大福提高效率。
怪物系统分析
游戏中,玩家能够控制的只有角色移动和武器选择。 尽管游戏中怪物种类很多,但是对玩家的决策起到决定性影响的主要是怪物的攻击方式、生命值和数量。 所以我们可以据此将游戏的怪物分为三个种类:
- 普通怪:游戏中主要怪物,数量多,生命值低,没有致命投掷物攻击。主要靠范围攻击清除,偶尔需要玩家走位突围。
- 小Boss:在普通怪攻击波中少量存在,数量少,生命值较高,没有致命投掷物。范围攻击空间浪费大,迫使玩家边逃离边攻击。
- 大Boss:专门boss战环节,生命值超高,伤害高且会突进,有致命投掷物。范围攻击空间浪费大,玩家必须通过走位来确保生存。
普通怪物之间血量存在差距,但是顶多也就3-4倍,体积差距2-3倍。数量差距无法统计,基本都是数以千计,对付其的手段也是基本相近的。但是小boss,大boss和普通怪的血量差距,达到几十上百倍。故按照血量将怪物分为三类。核心是调整单体生命值与个数的关系,从而让不同武器的表现出不同的消灭效率,给玩家带来不同的体验。迫使玩家在选择武器时,在保证当下存活的同时,还要有一定的预见性。
让我们虚拟一个武器和场景来具体说明:
前面提到过,决定武器的输出总量两大要素:【范围】【伤害系数】。通过这个表,我们可以非常直观地看出:
- 面对普通怪,【大范围】【低系数】更有利于伤害实现。否则会造成伤害溢出的浪费。面对大血量的boss,【小范围】【高系数】更有利于伤害实现。否则会造成范围溢出的浪费。也就是说武器伤害的集中度需要和怪物生命值的集中度相适应。
- 【伤害实现】的上限就是理论伤害值。由于理论伤害是最理想的情况,游戏中的输出条件总是差于这一情况。所以【伤害实现】是一个确定有上限的值。
由于武器的【范围】与【伤害系数】是确定的,怪物的生成强度在不断提高。玩家想要维持胜利就只能提高【基础攻击】。可以通过氪金或刷关卡和副本来获得资源提升基础攻击。