zoukankan      html  css  js  c++  java
  • LOL数值分析

    http://blog.sina.com.cn/s/blog_704133cb01018hud.html



    为了从理论层面提高自己打《英雄联盟》的水平,再加上自己也有这方面的兴趣,所以我最近研究了一下英雄联盟中的一些数值计算公式,不算很系统,主要是自己的一些试验跟网上查的资料总结,仅仅面向菜鸟,大神勿喷。
    首先介绍一下大家都很喜欢的一件装备:耀光。耀光的被动相当犀利,每次释放技能后下一次攻击基础攻击力提升100%,这里的计算是这样的,如果单位的基础攻击力是A,身上有一把长剑加B攻击力,那么下一击的单位打出的伤害是A*(1+100%)+B,也就是说B不计入提升内,当然这也不是敌人实际扣的血量,因为对方还有物理防御。
    另外一个有趣的数值是躲闪几率,虽然现在已经被LOL设计者砍掉,主要是带躲闪的英雄过于变态吧(怀念一下我最爱的武器大师),但在很多游戏里都会有躲闪几率,躲闪几率的计算公式符合效果递减:如果单位本身躲闪几率是a,物品提供b,那么最终躲闪几率是a+b-a*b,其中a,b是小于等于1的正数。 
    相信与吸血鬼对过线的玩家都非常讨厌他的吸血技能,那么吸血效果是如何计算的呢?吸血效果受物理跟魔法抗性的影响(看你的是物理吸血还是法术吸血了)。例如你打出了100点物理伤害,对方有10%物理减伤,那你造成的实际伤害是90点,如果你的物理吸血效果是10%,那么可以吸取9点血。吸血效果的好处是没有上限而且可以叠加,所以可以获得超过100%的吸血。
    接下来是护甲与魔抗,网上很多都把护甲与魔抗转换成血量来估计收益,例如100点护甲相当于原有血量x2,200点护甲相当于x3,其实我觉得这样不够直观,因为你这样没法一次性算到一次打在你身上100点的物理伤害在你护甲100时你实际上扣了多少血。我研究了一下其实公式很简单,假设护甲为n点,物理免伤百分比x=1/(1+n/100),也就是说如果护甲为100点物理免伤为50%,护甲为300点物理免伤为25%(也就是说100点伤害最终只扣你血的25点)。魔抗的计算也是一样的。
    既然有了护甲与魔抗,自然也少不了护甲穿透与法术穿透。以护甲穿透为例,如果你有15点护甲穿透,如果敌人护甲为n,就相当于对方的护甲减少了15点,也就是n-15;如果你有40%护甲穿透,就相当于对方护甲为n*(1-40%)。这也引发了一个有趣的问题,如果单位身上拿着一把残暴(+15点护甲穿透)和一张穿甲弓(+40%护甲穿透),那么对方的护甲值最终是(n-15)*40%还是n*40%-15呢?于是我做了一个实验,如下图,
    LOL《英雄联盟》数值分析


    其中蓝色巨像的护甲为20,如果公式2是正确的,20*40%-15<0,那么巨像的护甲应该为0而我此时造成的伤害应该是154,与我的攻击力一样才对。但得出的结果是149,所以我们先通过公式1求出护甲为n=(20-15)*40%得3,把n=3带入上面说的护甲免伤公式即造成的伤害:154*(1/(1+n/100))=149.514,符合我们的实验结果,所以公式1是正确的。游戏设计者这样设计也很合理,因为残暴是对护甲低的单位收益大,穿甲弓是针对护甲高的单位收益大,公式1的设计符合这个思想,而公式2的设计会让护甲降低一大截以后再扣护甲值,这样的话残暴这件前中期装备在后期也显得太变态了。
    最后说说移动速度,假设单位原来的移动速度300,如果买了一双+70移动速度的鞋,那么速度自然是370。这没什么特别的,有意思的是移动速度有收益递减,在LOL里面当单位的移动速度超过475后,每点移动速度的收益将减少50%。所以如果单位的最终移动速度是700,那么它的实际移动速度将被减为475+(700-475)*0.5=587。当单位的移动速度值超过400后,每点移动速度的收益将减少20%。所以如果在所有因素的作用下,你最终的移动速度是430,那么实际移动速度将是400+30*0.8=424。
    以上分析是根据我自己的实验分析以及查阅网上资料总结得出,通过这样的分析确实对LOL有了更深入的了解,也更了解设计者的意图。文章有点长,仅供参考以及自娱自乐。



    英雄联盟中攻速计算为直接加成。
    比如:幻影之舞装备介绍中为增加50%攻速,就是在原始攻速上直接增加0.5的攻击速度。
    原始为0.65攻速,装备幻影之舞后就为0.65+0.5=1.15攻击速度。
    英雄联盟中攻击速度是以秒为单位,攻击速度1代表每秒攻击1次。
    英雄攻击速度上限值为2.5。
    假设英雄初始攻速0.65,每级成长4%,出了攻速鞋25%,红叉50%,破败40%,等级18级,则其攻速为V=0.65×(1+0.25+0.5+0.4)+18×0.04=2.1175=2.12

    LOL攻速问题讨论贴

    https://tieba.baidu.com/p/3417419390

  • 相关阅读:
    数学基础
    Codeforces Beta Round 84 (Div. 2 Only)
    Codeforces Round 256 (Div. 2)
    Codeforces Round FF(Div. 2)
    Codeforces Round 254 (Div. 2)
    Python3 集合(无序的set)
    Python3 字典(map)
    Python3 元组
    Python3 列表
    初等数论及其应用——唯一分解定理
  • 原文地址:https://www.cnblogs.com/nafio/p/9137155.html
Copyright © 2011-2022 走看看