《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议


《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图

今天小编给大家带来的是玩家"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作为最直观的衡量人物生存能力的单一数值 。
 ?。?)当我们需要表述某一个防御属性的收益的时候,需要将其转化成EHP , 或者EHP系数处理 。一般讨论收益的变化的时候,是指某一个数值本身的变化;当需要讨论收益的百分比变化的时候 , 最好在表述上用“相对收益”的概念加以区分 。
举例:假定伤害=攻击力*招式系数 。那么招式系数固定的情况下,伤害就跟攻击力正相关 。取招式系数=10 , 则伤害=10*攻击力 。这时候我们称“攻击力的收益是线性的” 。当攻击力为100的时候,增加10攻击力,伤害百分比提高了10%;当攻击力为200的时候 , 增加10攻击力,伤害百分比提高了5%;所以我们称“单位攻击力的相对收益递减” 。注意 , 相对收益不变的情况,原函数为指数函数 。
 ?。?)当我们要表述一个变量相对于另一个变量递增或者递减的时候,严格明确所表述的变量的具体含义 。举例:伤害=sqrt(攻击力)*招式系数,其中sqrt表示开根号 。取招式系数=10,当攻击力为1的时候伤害=10,当攻击力为25的时候伤害=50,当攻击力为50的时候伤害=70.71 。这时候会有人称“攻击力的收益递减” , 这个表述是错误的 。严谨的表述是“单位攻击力的收益递减”,或者“攻击力收益函数的一阶导数单调递减” 。
不能理解本条的人,请翻开高中数学教材或者高数教材,翻到函数和导数的章节,看看单调递增和单调递减的定义是什么 。
2.来分析一下游戏中常见的两种伤害结算系统 。第一种是伤害=攻击力-防御力,第二种是先将防御力转为一个减伤百分比,然后计算伤害=攻击力*(1-减伤百分比) 。第一种公式在早期游戏中用的比较多,现在已基本被淘汰,或者转为成格挡系统辅助存在 。第二种公式是目前绝大多数游戏采用的计算方式 。
 ?。?)为何第一种公式基本被淘汰了呢?想象一下,攻击力刚好等于防御力的时候,则需要击杀的攻击次数是无穷大;当攻击力-防御力分别等于1和2的时候,则需要击杀的次数前者是后者的两倍 。攻击力以及防御力的收益会在攻击-防御=0的附近发生极大的偏离,而在无穷大处则趋向于线性 。用图象来直观的表示(假定生命值为10000 , 每秒攻击1次):
《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图
那么在什么时候需要用来作为辅助存在的系统呢?当需要体现“蚁多也咬不死象”或者“你们这些渣渣,数量再多破不了我的防有什么用”的时候,可以引入格挡系统(只是直观的命名为格挡系统 , 游戏里未必要体现为格挡) 。这点在武侠RPG里没有必要体现,在仙侠RPG或者魔幻RPG里可以适当的使用 , 使得战斗系统更符合剧情逻辑 。

 ?。?)在有了第二种伤害结算公式的前提下,我们继续讨论减伤系统 。将对应数值的散点图画出来,可以看出比较接近于在1000前后分别采用两个函数 , 在两个区间上,减伤百分比和防御力近似线性相关 。
《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图
如果这个贴子的数据没有出错的话,只能得到在1000的两边图象近似线性,而不能得到精确的公式,因为Δy/Δx的变化较大,而线性函数的Δy/Δx是不变的 。
《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图
我们来分析一下防御力跟减伤百分比线性相关的情形 。
假定减伤百分比=防御力/1000,那么在原始伤害=10,生命值为100的条件下,生存时间和防御力关系的曲线图如下(每秒攻击一次):
《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图
图像上直观的判断是,在800防御以下,防御的收益近似线性 , 而在800防御以上,则防御收益变化的非常快 。
其实这很好理解,从公式上看无非就是一个倒数函数 , 从具体数值上看,减伤百分比从90%到100%,实际收益变化是无穷大 。所以 , 当采用这种公式的时候,需要用几种方式避免防御的收益在某个范围内过大 。

常见的方法有两种:
 ?。?.1)设置减伤上限 。从图象上看这个减伤百分比最好不要超过80%,这也是为何过去十几年不少欧美游戏抗性上限普遍采用70%-80%的原因 。
现在我们继续用上述图象中的数据,分别采用0-700、0-750、0-800的数据(防御力每10取一个数据)进行线性拟合,来看看决定系数R^2 。
《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图

《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图

《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图
如果数据增加到900,则R^2=0.7001,下降的非常快,990的时候R^2只有0.2305了 。
 ?。?.2)采用阶梯函数 。防御力的数值越大 , 相应的系数就越小,以此来降低单位防御力在数值较大时的收益 。
举例:当防御力小于500时 , 减伤百分比=防御力/1000;当防御力大于500小于2000时,减伤百分比=50%+(防御力-500)/5000,当防御力大于2000时,减伤百分比=80%+(防御力-2000)/40000 。
在原始伤害=10,生命值为100的条件下,生存时间和防御力关系的曲线图如下(每秒攻击一次):
《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图
图象上可以明显的观察到,只有在断点右侧单位防御的收益会突然下降,其他所有点附近,单位防御的收益都是单调增 。用这种方法也能避免防御收益上涨过快的问题,然而需要造一堆公式 , 也不是很方便 。
 ?。?.3)那么怎样的减伤公式才是合理的呢?从图象分析重我们可以直观的感受到,最好需要有一个减伤公式,使得EHP和防御力的数值线性相关 。事实上,目前的主流竞技游戏(dota2,LOL)都是采用这样的护甲公式,以及暴雪的部分游戏 , 如魔兽争霸3、暗黑破坏神3 。
令 减伤百分比 = 防御力/(常数项+防御力)
则 EHP = HP/(1-减伤百分比)= HP*(常数项+防御力)/常数项
由公式可见EHP和防御力线性相关 , 和(常数项+防御力)正相关 。
这样做的好处是十分明显的 。例如我需要将一个NPC的抗击打程度提升为原来的两倍,只需要将(防御力+常数项)的数值变为原来的两倍即可,大大的节约了计算量和测试量 。

3.再来看伤害公式(计算减伤前) 。侠客中的伤害公式是明确的:
减伤前伤害=[无装备攻击力+(套路面板伤害(需要满级)+武器攻击(武器大师天赋*2))*套路加成系数*招式熟练度加成]*(1+武学/500*0.25+实战/500*0.5+臭味相投/风流倜傥系数+带头大哥/侠义心肠/心如蛇蝎系数)
臭味相投的效果是每个男性友人生死之交0.03的加成 , 最多20人,0.6加成 。风流倜傥的效果是每个女性友人生死之交0.03的加成,最多15人,0.45加成 。
带头大哥名声越高,攻击力加成越多 。满名声500加成0.5 。
侠义心肠道德越高,攻击加成越多 。道德越低,攻击减成越多 。100道德以上加成0.25,0道德减成0.25 。
心如蛇蝎道德越低,攻击加成越多 。道德越高,攻击减成越多 。0道德加成0.25,100道德减成0.25 。
暴击则最终伤害变为两倍(似乎略小于两倍,未实际测试) 。另外面板上各类buff造成的百分比伤害增加或者减少是独立调整项,即上述公式造成的伤害再经过这个系数的调整 。比如被中毒影响伤害减少50%,则最终伤害*50%;被中毒影响伤害减少50%,由于狂怒buff增加100%,则面板显示为伤害加50%,最终伤害*150% 。
总的来说,我们可以把公式写成D = (A+(B+C)*D)*E 的形式 。
其中A是人物的裸攻,B是招式面板伤害,C是武器伤害,D是套路和招式加成系数 , E是其他系数 。从公式构架上来看是比较合理的,也符合武侠世界观:如果人物的武功足够高(即攻击力很高),那么即使用普通武器(武器加成)也有普通人用神兵利器的效果,所以在公式上 , 人物裸攻和招式公式用加法是没有问题的,如果一个人天生神力 , 用罗汉拳也有普通人用降龙十八掌的威力,这是符合武侠的世界观的 。不过把套路和武器攻击直接相加,却是不太解释的通 。因为人物攻击力既可以解释为武学功底,也可以解释为膂力大小 , 但兵器的攻击力似乎只能解释为锋锐程度 。
不过这些都不是重点,细枝末节罢了 。公式本身不存在问题,然而数值范围却存在一定的问题 。由于主角存在各种加成而NPC没有,故而NPC的全部攻击力都体现在招式伤害上 , 这样就使得追求“真实感”的玩家感觉很糟糕 。虽然说不求每个NPC都有跟玩家一样的数值系统,也没有必要,但在套路上统一却是不难 。一个方法是给NPC设定初始攻击力(NPC都是0,少数NPC的功体会增加攻击力,不过大多数是百分比增加,只有少数如柯降龙是数值增加),二是给每个NPC设定一个系数,最终伤害结算乘以系数即可 。
我们来看一下游戏中玩家所能学到的所有招式的伤害 。可以看到,无视属性外的最低招式伤害为250,野球拳外最高招式伤害为850,大多数玩家能用的套路伤害都差不多,在选取套路的时候基本不考虑面板伤害因素而以特殊效果为主,这是否算的上是伤害系统的主客易位,喧宾夺主?
《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图

《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图

4.接下来是闪避、反击、暴击属性的分析 。
先说闪避 。闪避和减伤百分比类似 , 区别在于减伤很稳定,而闪避则非常不稳定(尤其是随机函数写的很糟糕的时候) 。而侠客中的闪避还有一个额外的效果,就是闪避的情况下招式本身附带的buff和debuff不会发动 。
闪避的收益期望计算同减伤 。EHP = HP/【(1-闪避)(1-减伤百分比)】 。从公式也可以明显的得到结论,单位闪避的收益递增(相对收益和绝对收益都递增) 。且不谈游戏中谜一般的闪避判定几率 , 少数NPC的闪避累加可以说是丧心病狂,夜叉的闪避甚至能达到80% 。姑且认为这个80%就是真实闪避几率,有一个游戏策划会认为回合制的游戏中平均5回合才能打中一次的情况会让玩家不暴走么?
当然玩家有办法可以解决这个问题,比如吃青龙散 , 比如用东方宝典给队友加命中,比如用眩晕和内伤招式(还得先打中) 。但是有解决办法不代表这是合理的设定:因为吃药不是武侠体验 。没有一本小说会说大侠打不过敌人磕了一个药就打赢了 。这也不是说游戏中就不能有药物系统,而是说不要强制让玩家作出某种选择 。当然玩家也可以用眩晕、必中、内伤招式,这涉及到另一个层面的问题 , 也就是说没有眩晕和内伤等招式的NPC都打不过这个NPC了?这也是相当破坏设定、破坏武侠体验感的情况 。NPC的强度设置,最好不要设置成单方面的绝对无敌,这样会造成强制玩家作出选择的情况也是非常破坏游戏体验的 。举例来说,暗黑2中地狱难度有各种属性的免疫怪 , 还有物免怪,玩家遇到了只能绕道,所幸剧情BOSS都不具备这些属性,不然玩家肯定骂娘 。暗黑3中早期有无敌喽啰的属性,不过后来被暴雪以“破坏游戏体验”为理由删掉了,还有一个护盾的属性,也被大幅削弱,同样的理由 。这点还得感谢暴雪爸爸发明了“破坏游戏体验”这个词 。用在侠客中 , 就是“
破坏玩家的武侠体验感” 。
为什么侠客玩家会如此反感闪避?因为这是一个回合制的游戏,而且是一个快节奏的回合制游戏,闪避会极大程度的打断游戏节奏 , 不可避免的对玩家体验造成严重的破坏 。解决办法有二:一是把大多数人物的闪避都设定为0,并且取消正面攻击+5%闪避的设定,只有少数需要符合人物特性的人物保留闪避属性,例如夜叉和陈公公 。并且闪避的数值不宜过高,最好不要超过30% , 累积不超过50%,人物削弱的部分则在其他地方加强,例如血量和防御 。二是重写闪避系统为招架系统,招架发动后减少伤害50%,buff不影响 。然后相应的提高各人物的招架数值 。
反击没有问题 。但是需要增加无限反击的功体 。单回合的反击伤害期望为反击率*单次伤害*反击次数 , 是跟反击率线性相关的 。另外数值系统上,需要增加某些人物的初始反击数值,以体现人物特性(如大师兄) 。
暴击总体来说没有问题 。但我认为在当前的伤害系统下 , 游戏后期节奏过快(即使没有连斩),伤害相当于血量来说太高了,NPC互相之间都是两三下打死,出暴击的情况更影响战斗结果的导向 。建议将暴击倍率调整为1.7倍,并且适当的增加部分NPC的初始暴击率 , 以体现人物特色 。
关于闪避、暴击对于战斗节奏的影响,可以用MATLAB进行模拟测试,只要模型写的好,可以快速模拟游戏中各种战斗,分析闪避暴击数值的变化对于胜负不确定性的影响,然而估计大多数玩家并不能看懂,这里就不深入了 。
还有很重要的一点,连斩要削弱,建议改成每回合只能触发一次 。

5.再来看侠客中最重要的战斗系统:buff系统 。从游戏正式发售的前一天 , 亚古爆料的武林通鉴图中 , 我看到buff设定图就心中一凉,如此多而杂的buff效果,估计战斗系统很难做好 , 事实上我玩了一周目就发现这个游戏玩家自己的套路面板伤害基本不重要,最重要的是套路的附带的buff 。这很难给人一个很好的真实武侠体验:赛飞鸿真的能一脚把龙王踢出内伤吗?
 ?。?.1)一个很重要的因素就是目前的buff判定是必定生效的 。建议改成buff必定发动 , debuff则需要经过两者的内力值调整 。这样也使得内力这一在武侠世界观中最重要的属性发挥它的作用 。具体公式可以这么写:
debuff判定几率 = (攻击方当前内力值-被攻击方当前内力值)/被攻击方内力上限*判定系数+基础判定值
我举具体的数字来说明一下为什么用这样的公式,数字未必合理,仅供举例用 。
比如内伤的判定 , 在武侠世界观中我们可以认为只跟双方内力深厚程度相关,因此给定基础判定值0
内伤判定几率 = (攻击方当前内力值-被攻击方当前内力值)/被攻击方内力上限*0.5
在这个公式下,内力为1万的天王和内力为9000的龙王被内伤的概率很低 , 大约每1000的内力差才有5%的判定几率 , 而5000内力水准的NPC,则大约每1000的内力差有10%的判定几率 。
流血的话效果较弱,可以给定一个基础判定值30%
流血判定几率 = (攻击方当前内力值-被攻击方当前内力值)/被攻击方内力上限*0.7+30%
这样只要攻击方当前内力大于被攻击方当前内力,流血至少也有30%的判定成功率,最大则是100%
如果要这样改的话,数值方面的调整是一个比较大的工程 。方便起见也可以用统一的判定公式,然后在buff的效果上做另外平衡,这样是比较简单的 。
 ?。?.2)来具体谈谈目前游戏中的过于强力的buff , 以下内容会带有一点个人的喜好因素在内:
目盲 , 命中率从100%变成60% 。建议看一下闪避公式,命中率从100%降低到60%,意味着在初始命中100%的情况下,伤害期望从100%降低到了60%,对对方来说就是EHP提升了1/60%-1=66.7%,然后再次重复第4条闪避带来的各种问题,这个buff最好是删掉,或者闪避改成上述的招架系统之后就没有问题 , 但是效果依然要削弱 。游戏中一群小兵带目盲技能的设定除了恶心人之外没有任何正面游戏体验,即使玩家用史燕,也只会觉得史燕的闪避过于强大 。
闪避,不用多说了 。
中毒,效果太强了 。任何没有清buff的人物 , 叠几个不同类型的毒之后各种属性基本降到0 , 太不合理 。建议削弱中毒的单
回合效果,并且不同类型的中毒不能相互叠加 。
恐惧 。恐惧一下减伤40%,天龙八部功叠20个回合加40%伤害,有人觉得这样的设定合理吗?建议改成数值削弱,并且效果跟套路面板伤害正相关 。这样对于不同实力的NPC恐惧的削弱程度不同,也符合武侠的世界观 。
反伤 。建议反伤受到防御值调整 , 并且只跟实际造成的血量减少相关 , 而不是显示的伤害相关 。相应的为了平衡数值增大反伤的百分比 。这样防御较高的人物受到的反伤也比较小 , 比较符合武侠世界观 。
狂怒,100%伤害加成过高了 。建议调整为50%-70%左右 。
聚气:单回合10%-14%的回复量后期显得略强了,建议增加单回合回复数值800的上限 。
左右互搏:1.0.1.7是两回合必定攻击两次 。建议改为仅限当前招式当回合攻击两次 。为了平衡相应招式可以在其他地方做出调整 。
破甲和无视:建议在修改防御公式的基础上破甲改成固定数值的削减 。无视则改为忽视50%的防御力 。

三.mod制作者如何设定数据
1.首先要明确的是你这个mod的面向群体 。如果你是单纯的为了某一个类型的爱好者而做,那么自然要符合这个群体的游戏体验 。如果你的mod的群体是大多数玩家,那么则需要多方面考虑 。下面给出的建议是面向群体是多数玩家的情况 。
2.如何设定套路攻击力 。
 ?。?.1)对于玩家来说,根据二中的第3条,我们可以把伤害公式写成
D = (A+(B+C)*D)*E  , 其中A是人物的裸攻,B是招式面板伤害,C是武器伤害 , D是套路和招式加成系数 , E是其他系数 。
如果你要区分不同套路的攻击力,那么B的波动范围就要相对于A和C要大一些 。要比较单一的A(或者B、C、D)的值对于最终伤害的影响,只要计算A/(A+(B+C)*D)的变化即可(对应的要比较B、C、D则把分子上的A替换即可) 。在EXCEL里把表列好,计算在固定其中三个量的情况下,另一个量的变化对于整体伤害幅度的变化,这样如何调整套路攻击、武器攻击心里就有数了 。
 ?。?.2)对于NPC来说,没有那么多的加成系数,只要计算套路攻击力+人物初始攻击力即可 。NPC的初始攻击力都是0,如果要把NPC的招式伤害调整为和玩家差不多的程度,只需要赋予NPC不同的初始攻击力即可 。
3.如何设定人物防御力和血量 。
阅读二中的1、2、4条 。
对于人物的生存能力 , 一般只需要计算相应的EHP即可 。另外要考虑防高血低的人物会被无视克制 。生存能力还需要考虑人物的续航能力,比如回血方面的能力 。尽量不要给血量很高的NPC增加聚气的buff 。
4.建议把大多数人的buff改成0,把大多数增加闪避的功体和buff替换掉 。除非你有抖M倾向,否则你一定不会喜欢回合制的游戏攻击被闪避 。
5.在具体套路招式附带的效果上,尽量避免完美无缺的组合 。这样会使得玩家只用一种套路 , 多样性就失去了 。
6.尽量避免必须采取某种方式才能过关/打赢的情况 。除非你是深度自虐+限制爱好者 。
7.套路中少用过于强力的buff,如狂怒、大闪避等 。
8.没有CD的第一个招式,尽量不要赋予太强的debuff,如内伤 。
9.由于目前没法改动连斩的效果,最好不要让玩家在常态下获得连斩效果,特定战斗给予buff是可以考虑的 。
10.多列表、多建模计算,少测试 。能用计算的就不要测试 。

【《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议】四.其他建议和杂谈
讲完了数据系统 , 再来随便谈谈,还有那些细节可以改进 。
1.谨慎的设置“必败的战斗” 。这里有两层含义 , 一是战斗必败(分为锁数值和不锁数值),二是剧情必败 。具体的说则是,战斗结果要和剧情保持逻辑一致性,在不锁数值、不修改游戏数据的情况下,战败和战胜理应设置不同的对话使得剧情逻辑符合战斗结果 。锁数值这点会破坏一部分玩家的游戏体验,因此最好是不要设置 。
举几个侠客中的实例 。譬如第一年东方和荆棘切磋、第二年东方和虚真战法王,这些都是剧情逻辑上“合理的必败”,毕竟在时间节点上主角分别修炼了不到半年和一年 , 如果能战胜荆棘和利空法王,在剧情合理性上说不过去(暂且不谈主角三年天下无敌) 。但如果设置成不修改的情况下主角必败,那这样玩家的参与感和自由度同样会受到破坏 。一个比较好的解决办法是,在人物界面上添加一个描述,例如“受伤的”、“未出全力的”、“五成功力的”等等 。由于数据不同的同一个游戏角色在数据库里通常是存储为多个角色,因此这点在实现上非常简单,也利于mod制作者的辨认 。另外,在剧情对话中把相应的关键词用红字强调 , 譬如利空战败后说一句“小子不错,竟能接住我五成功力”,其中“五成功力”几个字可以加红加粗 , 让玩家明白这是剧情的关键词,就会减少不真实感 。
战败后需要读档的设置在侠客中基本不存在(除了最后的剧情,就只有唐冠南了) , 我认为这是侠客非常重要的一个优点,尽管在自由度上还有所欠缺,战胜与否对剧情的影响性比较小,相信这是丰富剧情和线路很重要的一个方向 。
2.数据实力和剧情设定保持一致性和连贯性 。玩家的武侠情怀中,江湖排名是非常重要的一个方面 , 即便是其他类型的游戏,玩家也热衷于讨论人物实力,自编排行榜,因此排名系统如果做的好,则能很大程度上的满足玩家的武侠和江湖情怀 。这里先不说侠客中的江湖人物相对较少,毕竟金群是现成的人物而侠客要原创设定,尽管可以有原型借鉴,要创造一个像金群一样丰富的江湖在本作还是不太可能,只能寄希望于续作 。
我们这里只讨论排行榜 。要想所有人物实力都完美的符合排行榜,这是不太可能实现的(除非战斗系统过于简单),也是没有必要的 。只需要在重要的排行上做到基本不出偏差,将江湖分为几个大层次的高手,同一层次排名相近的各有胜负,不同层次的要跨越则较为困难,这样就能营造出一个立体感十足的江湖来 。另外,将穿越人物从排行榜中移除是十分有必要的,
理由不赘述 。
还是以侠客为例 , 实体版赠送的武林通鉴中有提到“当世五大高手”的设定,结合游戏中排名我们知道这五个人分别是龙王、天王、剑圣、无瑕子、柯降龙 。而实际游戏数值中第一梯队的高手则分别是天王、龙王、剑圣、陈公公四人 。由于剧情上无瑕子没有全力出手过,所以剧情设定跟实际战力不符的有龙王和天王的先后 , 以及柯降龙的实力 。和其他人物相比,天王赢在超高的血量、50%反伤和清除负面这三点上 。对于玩家来说 , 最大的问题则是清除负面,相比之下龙王叠加各种debuff就变成了聋王 。柯降龙的问题则是血量太低(当然,对于玩家来说吃debuff的NPC都不是问题) 。
总的来说,在排行榜前面侠客处理的还是比较不错的 , 但是到了中后面就一团糟了,本身变数极多的buff系统导致人物实力极其不稳定(合理的是相对稳定,而不是绝对稳定),极其糟糕的闪避系统也导致某些人物实力严重偏离定位(例如史燕),这点会在后面的战斗系统里详谈 。如上文所言 , 要做到一个百分百精细和准确的排行榜是没有必要的 。
比较合理的做法是,排行榜先列做的精细化,后面则模糊化处理,笼统的给出一个评价和排名范围 。比如说绝顶高手设定为江湖前5,一流高手设定为前6-20,二流高手设定为前21-40,三流设定为前41-100,后面的为不入流 。排名前20的高手数据设定的比较准确,相互之间的胜负比较稳定 , 前21-40设定的不用太准确,有一定的差距即可,后面的则模糊化处理,不给出具体的排名位置(相应的NPC也不用设置,只给出层次),只给出一个评价和排名大致范围 。
比如说,排名145的时候(按一定的评分)徐子易给出评价:你现在的排名是不入流(121-150),离成为三流高手还有一定的距离,要努力练功哦 。排名105的时候给出评价:你现在的排名是不入流(101-120,离成为三流高手还有一步之遥,再加把劲就可以称得上江湖好手了 。排名靠前的时候则给出具体的排名和评价,以及附近的人物 。比如排名第6的时候徐子易评价:你现在的排名是第6,仅次于丐帮帮主柯降龙 , 可以称得上当世绝顶高手!第一的时候也可以顺便玩个武侠梗:东方兄,你已经天下无敌了!另外,剧情设定上 , 我赞同把陈公公和上述5人并列,称为当世六大绝顶高手 。
由于玩家的可操作性比较大 , 所以主角的实力定位不需要太符合排名,否则战斗系统需要迁就 , 这样就本末倒置了 。
3.承接上一条,再来谈谈主角的实力定位问题 。执着于真实性的玩家会认为主角三年就成为天下第一不太符合武侠世界的逻辑,因为剧情上也没有太多表现主角是千古一见的武学奇才(当然领悟庖丁解牛刀、霹雳刀、天龙八部功什么的说明主角已经非常天才了),最主要的是江湖人物不会因为主角的实力而产生不同的互动,例如即使在龙王线 , NPC也大多只会从道德角度批判主角,而很少表现出实力上的畏惧 。
这一点要做到的话也是个细节上的大工程,并不指望能实现 , 不过有一点我跟很多玩家保持观点相同,就是养成时间太短(剧情意义上) 。没有必要把一个月分为5个回合,一回合还能做很多事情,这样剧情上游戏时间被压缩到了三年(第一年9月到第四年8月底 , 武林中则是四年),剧情安排上过于紧迫了,尤其是主角刚拿到少年英雄会冠军,过了半年就成了武林盟主,跨度太大了 。
我认为一个月分为上和下即可,在丰富养成剧情的同时增加一回合的体力 , 将各个主线剧情的事件重新安排时间线,整体上三年则可以拉长到8-9年左右,这样主角的出谷年龄大约是25-26,也不算太老 。剧情上唯一不好处理的就是少年英雄会,因为主角要在原定的年龄内参赛的话实力会比改动前弱很多,一个合适的处理方式就是把规则改成24岁及以下参加,发生在养成时间的第5年 , 即整个时间线的一半左右 。其他剧情上矛盾则视情况相应改动,比如前几届谁参加,谁夺冠,几年一参加,等等 。
就写到这里 , 希望侠客能越做越好 。

五.关于防御公式的补充
测试与公式:点击进入
这里直接引用结论 , 原帖应该是搞错了减伤系数和伤害系数的区别,字面理解减伤系数应该是“减免伤害的百分比”,所以这里经过了修正
面板伤害的减伤系数 = sqrt(防御)*(sqrt(防御))/2000
实际伤害的减伤系数 = sqrt(防御)/100+min{3*防御/10000, 0.3}
受到的伤害 = 原始伤害*(1-减伤系数)
如果有筋骨坚实天赋 , 则最终伤害再乘以0.75
从公式中可以直观的看出来,1000的断点是由min{3*防御/10000, 0.3}这个函数得到的
我们将公式写成分段函数的形式:
实际伤害的减伤系数 = sqrt(防御)/100+3*防御/10000 ,当防御<1000;
= sqrt(防御)/100+0.3,当防御>1000
则其减伤曲线如下图:
《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图
我们再计算相应的防御对EHP系数的公式
EHP系数 = 1/(1-减伤百分比)
= 1/(1-sqrt(防御)/100-3*防御/10000),当防御<1000;
= 1/(1-sqrt(防御)/100-0.3,当防御>1000),当防御大于等于1000小于等于4900
对其求导,得到一阶导数,即单位防御的收益系数:
单位防御的收益系数 = (1/(200*sqrt(防御))+0.0003)/(1-sqrt(防御)/100-3*防御/10000)^2,当防御<1000;
= 1/(200*sqrt(防御)*(0.7-sqrt(防御)/100),当防御大于等于1000小于4900
画出其函数图象:
《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图
这个图象的含义可以理解为,当防御增加一点,相应的增加的HP系数 。例如当生命值为1000,防御等于500时,增加一点防御相当于增加1000*0.001334=1.334生命 。
从图像中可以看到单位防御的收益在(0,1000)上先降低后增加 , 在1000点处突然下降 , 在(1000,4900)上单调递增 。单位防御收益的最低点在防御=168的时候,收益系数为0.00102 。防御等于1000的时候,单位防御的收益系数为0.00107 。
从二的讨论中我们可以看出,又是分段函数,又是开根号,吃力不讨好,单位防御的实际波动比较大,还是用防御收益线性函数比较好 。
补充一张图,当防御数值在0-3000时单位防御的收益图
去掉了3000防御以上的部分使得数据更加清晰
《侠客风云传》战斗系统及伤害数值详细分析攻略 战斗系统分析和合理化建议

文章插图
更多相关资讯请关注:侠客风云传专题

    推荐阅读