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
LOL数值分析的更多相关文章
- 数值分析之奇异值分解(SVD)篇
在很多线性代数问题中,如果我们首先思考若做SVD,情况将会怎样,那么问题可能会得到更好的理解[1]. --Lloyd N. ...
- 数值分析1:三角函数的计算(C语言实现)
之前学习C语言的时候,一直有个疑问,计算机从芯片设计的角度来看,只能计算常规的加减乘及移位之类的操作,那么对于像sin .cos这些三角函数,人脑尚无可以直接运算的法则,那么计算机是怎么实现的呢?最近 ...
- 开源Math.NET基础数学类库使用(06)数值分析之线性方程组直接求解
原文:[原创]开源Math.NET基础数学类库使用(06)数值分析之线性方程组直接求解 开源Math.NET基础数学类库使用系列文章总目录: 1.开源.NET基础数学计算组件Math.NET(一) ...
- 【数值分析】误差的分析与减少及Matlab解线性方程的四种方法
1.误差的来源 模型误差:数学模型与实际问题之间的误差 观测误差:测量数据与实际数据的误差 方法误差:数学模型的精确解与数值方法得到的数值解之间的误差:例如 舍入误差:对数据进行四舍五入后产生的误差 ...
- 「学习记录」《数值分析》第二章计算实习题(Python语言)
在假期利用Python完成了<数值分析>第二章的计算实习题,主要实现了牛顿插值法和三次样条插值,给出了自己的实现与调用Python包的实现--现在能搜到的基本上都是MATLAB版,或者是各 ...
- 数值分析-Legendre正交多项式 实现函数逼近
数值分析-Legendre正交多项式 实现函数逼近 2016年12月18日 21:27:54 冰三点水 阅读数 4057 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请 ...
- 数值分析实验之曲线最小二乘拟合含有噪声扰动(python实现)
一.实验目的 掌握最小二乘法拟合离散数据,多项式函数形式拟合曲线以及可以其他可以通过变量变换转化为多项式的拟合曲线目前待实现功能: 1. 最小二乘法的基本实现. 2. 用不同数据量,不同参数,不同的多 ...
- 数值分析案例:Newton插值预测2019城市(Asian)温度、Crout求解城市等温性的因素系数
数值分析案例:Newton插值预测2019城市(Asian)温度.Crout求解城市等温性的因素系数 文章目录 数值分析案例:Newton插值预测2019城市(Asian)温度.Crout求解城市等温 ...
- 数值分析:幂迭代和PageRank算法
1. 幂迭代算法(简称幂法) (1) 占优特征值和占优特征向量 已知方阵\(\bm{A} \in \R^{n \times n}\), \(\bm{A}\)的占优特征值是量级比\(\bm{A}\)所有 ...
随机推荐
- ubuntu在vim里搜索关键字
在命令模式下敲斜杆( / )这时在状态栏(也就是屏幕左下脚)就出现了 “/” 然后输入你要查找的关键字敲回车就可以了. 如果你要继续查找此关键字,敲字符 n 就可以继续查找了.
- PAT 甲级 1116. Come on! Let's C (20) 【循环判断】
题目链接 https://www.patest.cn/contests/pat-a-practise/1116 思路 注意一个细节 如果没有本来 ID 的 后来又查了这个ID 不是输出 checked ...
- Java对象 的创建与构造方法
一.创建对象的四种方法: a. new语句: b. 利用反射,调用描述类的Class对象的newInstance()实例方法: c. 调用对象的clone(): d. 反序列化: 其中new 和 ne ...
- 吴恩达机器学习笔记(七) —— K-means算法
主要内容: 一.K-means算法简介 二.算法过程 三.随机初始化 四.二分K-means 四.K的选择 一.K-means算法简介 1.K-means算法是一种无监督学习算法.所谓无监督式学习,就 ...
- LightOJ - 1274 Beating the Dataset —— 期望
题目链接:https://vjudge.net/problem/LightOJ-1274 1274 - Beating the Dataset PDF (English) Statistics ...
- Html+CSS3技术实现动画、天气图标动态效果 效果很酷
1. [代码][CSS]代码 <svg version="1.1" id="sun" class="climacon c ...
- BZOJ 2442 [Usaco2011 Open]修剪草坪:单调队列优化dp
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2442 题意: 有n个数a[i]从左到右排成一排. 你可以任意选数,但是连续的数不能超过k个 ...
- spring与jdbc整合
spring+jdbc开发,我使用的是c3p0连接池 1.数据库建表: create table person( id int primary key auto_increment, name var ...
- BZOJ-4327:JSOI2012 玄武密码(AC自动机模板题)
在美丽的玄武湖畔,鸡鸣寺边,鸡笼山前,有一块富饶而秀美的土地,人们唤作进香河.相传一日,一缕紫气从天而至,只一瞬间便消失在了进香河中.老人们说,这是玄武神灵将天书藏匿在此. 很多年后,人们终于在进香 ...
- poj 1269 Intersecting Lines——叉积求直线交点坐标
题目:http://poj.org/problem?id=1269 相关知识: 叉积求面积:https://www.cnblogs.com/xiexinxinlove/p/3708147.html什么 ...