魔兽争霸吧 关注:1,004,474贴子:19,254,497
  • 9回复贴,共1

【数据向】暗影突袭的减速研究

只看楼主收藏回复

女王的毒镖 大家都知道是有一个持续伤害的减速效果
某段时间我发现 这个减速效果是在逐渐减少的 减速越到后期约乏力(从字面非常慢到慢到中等……)而在后来的dota2的wiki支持下 女王的毒镖减速给出了详细的减速数据 这就促使我迫切想了解warden的减速了
在暗影突袭这个技能下的数据面板里面有几个参数 按照YDWE翻译来说 就是
A持续伤害B移速减速%C攻速减速%D速度衰减幅度E初始伤害
显而易见这个数据D就是影响减速衰减的关键了
这个数据项,在原版WE里面,英文是Index。这是一个明显的指数含义。因此,这应该是一个x^n的形式。
为了方便研究,我们设置一个单位速度为400,将SS设置为持续整数(10)秒,减速50%的技能,设置不同的减速指数。并利用文字信息将被减速的实时移动速度显示出来。这里就不放图片了,直接给结论。
首先。无论SS的伤害以何种时间间隔跳动,移动速度均是每秒变化一次,3秒跳一次和1秒跳三次都是一样的。
在这个基础上,给出各个减速指数下的数据:

其中1、2、3下面就是每秒单位的实时移动速度。指数1为匀速变化。指数2、3为加速变化,指数2的变化率均匀变化,指数3的变化率的变化率均匀变化。这个思路,与指数函数的求导是类似的,进一步印证了推断,这个Index,确实是一个指数。
那么,现在,这个数据的变化大致能研究清楚了,那数据的初始值是怎么确定的呢?在多组不同的数据中,偶然间发现,其实变化率总是最后一个数据差值的整数倍。会不会这个最后一个差值是初始值呢?答案正是如此。从初始差值的变化发现,随着指数的增加,初始值以指数形式递减。结合目前可用的数据,减速时间的指数次幂作为系数进行计算的可能性极高
经过计算,初始值的计算公式被推算出来,就是v0*m/(t^n)
v0是初始速度、m为减速%、t是减速时间,n是减速指数。
这里额外插一句,其实这个的发现还是因为魔兽本身显示机制导致的被耽误。在字符串从实数引出来的时候,对实数进行了四舍五入,因此表中标红的数据实际显示的是400……400然而却是显示红色被减速效果……所以表中的红色数据是推算出来的
最后,就是推断减速效果的变化公式了。这里自嘲一句,想的多了会误入歧途……数据显示都是整数的时候,变化的数值是有理数,而楼主一度去研究了根式表达式,算出来了千奇百怪的公式和数据,甚至去用了matlab模拟公式……其实还是应该回到变化率的的整数倍上面。回到上表,1的变化率是初始值的1倍,2的变化率是初始值的2倍,3的变化率是初始值的6倍。多么明显的多次求导得到线性方程的提示啊!
最终公式为
v0-v0*m/(t^n)*(t-a)^n 其中a是每秒应当对应的减速时间,从1变化到t。
在得到了以t为整数的变化公式后,取t为非整数进行计算,得到了相同的结果,因此,该公式的计算是正确的。
这是初始速度400的单位被原版SS击中后的减速表,倒数第三列为测试值,倒数第一列为计算值

感谢阅读!欢迎评论


IP属地:江苏1楼2020-08-07 17:40回复
    牛逼


    IP属地:重庆来自iPhone客户端2楼2020-08-07 19:35
    收起回复
      英雄抗皮的呢


      IP属地:江苏3楼2020-08-07 22:59
      收起回复


        IP属地:广东来自Android客户端4楼2020-08-07 23:03
        收起回复