修真江湖关于战斗数值系统的一些心得,欢迎指正。
修真江湖关于战斗数值系统的一些心得,欢迎指正。如下:
没事干,就大概测算了一下修真江湖的战斗系统。由于数据太少,本帖所有内容基本靠猜。不喜勿喷。
那么下面进入正题。
我们以正常个玩家都有3个单位(本体,道侣,宠物)上阵为基准。每个单位都有基本属性,与伤害数字计算有关的属性有:攻击,物抗,仙抗,命中,闪避,暴击,抗暴,以及所使用的招式伤害加成。假设A出招攻击B,我们可以有以下推算过程:
1. 首先一个最简单合理的命中率和暴击率模型如下(已更新):
生成随机数A1 = random(0, A命中);
生成随机数B1 = random(0, B闪避);
如果 A1 > B1,则命中,否则闪避。
暴击也是同理。
生成随机数A2 = random(0, A暴击);
生成随机数B2 = random(0, B抗暴)
如果 A2 > B2,则暴击,否则没有暴击。
这里简单举个例子,假设A命中50万,B闪避40万,那么A1就会在0到50万之间取一个随机数,比如A1=30万;然后B1会在0到40万之间取一个随机数,比如B1=35万。那么,A1 那么懂概率的道友就可以看出,这是一个至少保证命中和闪避差距过大时,都有一定几率造成命中或者闪避的简单模型,而且程序实现起来也非常容易(非常适合小游戏的开发)。那么,如何从概率上看待这个问题呢?我们可以分成两个部分。用同样的例子,命中50万,闪避40万。那么在40万到50万这个区间是只有命中可以随机到的,也就是说,如果命中随机到这个区间,是必中的。那么就是(50-40)/50=20%的概率。另一个部分是0到40万的区间,因为两者均有可能随机到一个比另一个大,概率大约可以算作50%。那么总概率= 20% x 100% + 80% x 50% = 60% 的命中率。后面会分析提升百分比命中对实际命中的影响。请道友继续看下去。 2. 命中后,开始计算A对B造成的伤害,假设A使用的是物理伤害招式(仙术同理),如下公式: 真实伤害 = max(最低伤害,(α * A攻击 - β * B物抗) / γ) 伤害系数 = (招式伤害加成 (例如350%的物理伤害) + 秘法对于招式类型的加成 (例如剑意)) * (1 + 体质对于招式类型的加成百分比(例如剑体) / 100) 招式伤害 = 真实伤害 * 伤害系数 * 暴击倍数(如果暴击为2,否则为1) 然后还需要考虑法宝伤害与减伤。 如果B的法宝刚好是抗剑(假设)。那么 招式伤害 = 招式伤害 * (1 - 抗剑百分比/100) * (1 - 传承和功法减伤百分比/100) 法宝五行伤害 = (法宝攻击百分比 * 招式伤害 + 五行固定伤害) * (1 - 五行减伤百分比/100) A对B造成的最终伤害 = 招式伤害 + 法宝五行伤害 3. 造成伤害后,减少B的生命:B当前生命 = B回合开始时生命 - A对B造成的最终伤害。如果B当前生命<0,则检查B是否还存在地魄复活与大荒免死的剩余次数,有则对应剩余次数-1,无则标记单位死亡。 4. 另一个重要的战斗数据是战斗顺序。这其实是回合制游戏,一回合中每个活着的单位都会出手一次。出手顺序是按照速度排序,从最高到最低。如果速度相同,就会攻击方优先出手(攻击方就是屏幕下方的三个单位,防御方就是屏幕上方的)。这也解释了为什么门派闭关中打自己镜像永远是自己先出手。 5. 在安排对战阵容时,排序也非常重要。每个单位出手时,如果正对面的单位还存活,会攻击那个单位。否则会从左边往右边依次攻击。假设三个单位的位置从左往右依次是1,2和3,如果攻击方单位是2出手。那么会先查对面的2是否存活,如果存活就攻击2,不然检查1是否存活,最后是3,以此类推。 由以上推算,可以看出许多东西: 1. 招式伤害与攻击加成并不相同。总攻击 = (基础攻击 + 武器攻击) * (助战加成 + 体质加成 + 本源/招式加成),其中基础攻击包括了本源/招式给的攻击,属性丹给的攻击和仙盟功法给的攻击等。而总招式伤害加成上面已经说过了。如果要比较哪种体质的加成最好,需要代入计算。比如我们可以比较虚灵剑体和上清剑体哪个更强。 上清剑体加20%攻击,40%招式伤害,假设原本就有的攻击加成是300%。那么总加成 = 320% * 140% = 448%,同理,虚灵剑体加30%攻击,30%招式伤害,总加成 = 330% * 130% = 429%,可以发现的确上清剑体更强一些。 2. 双抗的收益非常大。由于不知道上述系数α和β具体数值,但是根据推测,α = 1,β = 2,也就是说任何抗性在伤害计算中都是2倍收益。这也解释了为什么法宝上面基础属性,命中闪避暴击抗暴加成都是物抗的2倍。但是由于算进最后总仙力的系数不同,总仙力大约 = 攻击 * 5.1 + 生命 * 2 + (物抗 + 仙抗) / 2 + 其余属性总和。单单增加物抗仙抗只有一半的收益,更别提装备给的物抗仙抗都少得可怜。但是其收益比想象中要大得多。 3. 最近新开的妖魔入侵,很多人好奇为什么战力很高,但是伤害打不高呢?在低境界,攻击 < 妖魔防御的时候,能造成的真实伤害只有系统默认的最低伤害,大概也是根据境界来推算的,比如 境界系数 * C,C是常数,或者 境界系数^2 * C。那么这时候,法宝的固定伤害就是总伤害的大部分来源,基本到了80%-90%。所以这时候想要伤害高,请氪金提高法宝五行等级(不要叫我托,这是游戏公司又一种骗氪手段)。 4. 也有不少萌新比较困惑打架该怎么排序呢,最简单的办法就是哪个单位攻击最高就放最右边(一般来说是本体),因为是最后被打到的。 5. 这里就开始讨论提升命中对于实际命中率的影响,闪避同理。还是继续用上面的例子,命中50万闪避40万。假设我们提升命中到55万。因为功法和助战都是基于基础加装备的加成,这里可能需要超过10%的命中加成,有可能是15%到20%才能加5万命中。上文说到,原来的命中率是60%,那么来计算现在的命中率。(55-40)/55 = 27.3%,总命中率 = 27.3% + 72.7% x 50% = 63.65%,实际提升3.65%的命中率。从这个例子当中可以看出来,当命中已经大于闪避时,其实提升的命中率是有限的。 6. 那么有道友会问,如果命中小于闪避,提升命中有多少用处?假设命中40万,闪避50万,那么这时闪避率是60%,命中率则是40%。那么增加命中到45万之后,闪避率是10%+90% x 50% = 55%,命中率是45%。提升明显变高了(5% > 3.65%)。因此,在于到底要多少命中这个问题上,道侣还需仔细斟酌。
附上函数图像 z = (x-y)/x + (1-(x-y)/x)/2,z是命中率,x是A命中,y是B闪避。此函数为x>=y时成立。这里区间是x在50到60之间,y在40到50之间。 另外,我闲着没事随便花了1小时做了一个战斗模拟系统,用蒙特卡洛模拟10万次战斗来计算胜率,有兴趣的朋友可以留言,共同进步。 暂时就先这么多吧,随便写写,不喜勿喷。 以上就是修真江湖关于战斗数值系统的一些心得,欢迎指正。相关内容。