侠客风云传战斗系统及伤害数值详细分析攻略_战斗系统分析和合理化建议
2023-06-13 03:20:04
大中小
今天小编给大家带来的是玩家"ZJU_moon"分享的《侠客风云传》战斗系统及伤害数值分析攻略,详尽地分析如何创造一个合理的数据系统以及战斗系统,有兴趣的玩家一起来看看吧!
一.前言
由于本文名为详谈,为了逻辑的严谨性,请允许我在细节上多废话几句。首先我们要明确什么叫做“合理”。不同的玩家有不同的爱好,有不同的需求,而我们要做到的合理,就是要让游戏体验符合游戏面向的玩家群体中的多数。就以侠客为例,玩家群体可以大致分为这么几种:
1.休闲玩家,以看剧情、体验游戏生活为主。对于战斗系统要求是尽量简化,尤其不能卡关,读档重复一遍不能跳过的剧情是这种玩家深恶痛绝的。
2.武侠情怀党。这种玩家最希望得到游戏体验是还原一个心目中的武侠江湖,比较重视游戏中数据系统的“真实性”。所谓的真实性并不是要求跟现实世界吻合,而是战斗系统中体现出来的江湖尽量跟剧情设定保持一致,假如剧情设定中的武林前几高手在战斗中打不过几个山贼,那么对于这类玩家来说体验就非常糟糕。
3.追求难度的自虐党。对于这类玩家来说,所有的游戏体验就是追求自虐,真实与否并不重要。难度越高越好,挑战极限就是这类玩家最喜欢做的事情。
4.龙傲天型,追求一路碾压。修改器可以满足此类需求,因此战斗系统不需要考虑这类人。
还有其他类型的我就不细分了。所谓众口难调,要同时满足各个类型的玩家需求是比较困难的,本文重点从数据系统入手,来谈一谈如何在现有的系统上合理化数据,以及提出现有系统的改进意见。
二.战斗系统的分析和合理化建议
现在进入正题,谈一谈现在的战斗系统及数值系统存在哪些问题,怎样改动才能变得更合理。下一部分则谈谈在不改变当前系统的条件下,mod制作者要如何设计数据才能实现合理化。
1.先来定义一下最基本的概念。所谓收益必须是一个可以量化的数值,对于玩家来说,最好是一个可以直观感受的最终变量。最常见的错误理解是把减伤百分比理解为收益,比如认为30%减伤到40%减伤,和40%减伤到50%减伤的收益是等同的,这显然是错误的。
举一个具体的例子。比如1000生命值的一个角色,伤害值为100、没有减伤的情况下需要攻击10下。减伤10%的时候需要11.11下(实际为12,表现为伤害溢出,暂不讨论,下同),减伤20%的时候为12.5下,减伤50%的时候为20下,减伤100%的时候为无穷多下。用哪个数值能更直观的衡量人物的抗击打能力呢?显然并不是减伤百分比,而是伤害值不变的情况下能承受多少次攻击。
定义 EHP(Effective Health Point)= HP/(1-减伤百分比)
EHP系数 = 1/(1-减伤百分比)
在这个定义下,我们可以很方便的把所有抗击打能力归结为一个值EHP,在比较人物抗击打能力的时候用这个数值即可。在引入其他变量的条件下,相同EHP、不同HP的人物亦有可能表现出不同的生存能力,比如1000HP和100HP、90%减伤的EHP相同,但在回复量固定的情况下显然是后者的生存能力更强。但这并不影响把EHP作为最直观的衡量人物生存能力的单一数值。
(1)当我们需要表述某一个防御属性的收益的时候,需要将其转化成EHP,或者EHP系数处理。一般讨论收益的变化的时候,是指某一个数值本身的变化;当需要讨论收益的百分比变化的时候,最好在表述上用“相对收益”的概念加以区分。
举例:假定伤害=攻击力*招式系数。那么招式系数固定的情况下,伤害就跟攻击力正相关。取招式系数=10,则伤害=10*攻击力。这时候我们称“攻击力的收益是线性的”。当攻击力为100的时候,增加10攻击力,伤害百分比提高了10%;当攻击力为200的时候,增加10攻击力,伤害百分比提高了5%;所以我们称“单位攻击力的相对收益递减”。注意,相对收益不变的情况,原函数为指数函数。
(2)当我们要表述一个变量相对于另一个变量递增或者递减的时候,严格明确所表述的变量的具体含义。举例:伤害=sqrt(攻击力)*招式系数,其中sqrt表示开根号。取招式系数=10,当攻击力为1的时候伤害=10,当攻击力为25的时候伤害=50,当攻击力为50的时候伤害=70.71。这时候会有人称“攻击力的收益递减”,这个表述是错误的。严谨的表述是“单位攻击力的收益递减”,或者“攻击力收益函数的一阶导数单调递减”。
不能理解本条的人,请翻开高中数学教材或者高数教材,翻到函数和导数的章节,看看单调递增和单调递减的定义是什么。
2.来分析一下游戏中常见的两种伤害结算系统。第一种是伤害=攻击力-防御力,第二种是先将防御力转为一个减伤百分比,然后计算伤害=攻击力*(1-减伤百分比)。第一种公式在早期游戏中用的比较多,现在已基本被淘汰,或者转为成格挡系统辅助存在。第二种公式是目前绝大多数游戏采用的计算方式。
(1)为何第一种公式基本被淘汰了呢?想象一下,攻击力刚好等于防御力的时候,则需要击杀的攻击次数是无穷大;当攻击力-防御力分别等于1和2的时候,则需要击杀的次数前者是后者的两倍。攻击力以及防御力的收益会在攻击-防御=0的附近发生极大的偏离,而在无穷大处则趋向于线性。用图象来直观的表示(假定生命值为10000,每秒攻击1次):
那么在什么时候需要用来作为辅助存在的系统呢?当需要体现“蚁多也咬不死象”或者“你们这些渣渣,数量再多破不了我的防有什么用”的时候,可以引入格挡系统(只是直观的命名为格挡系统,游戏里未必要体现为格挡)。这点在武侠RPG里没有必要体现,在仙侠RPG或者魔幻RPG里可以适当的使用,使得战斗系统更符合剧情逻辑。
更多相关资讯请关注:侠客风云传专题