WLK 3.4.3+ 猫德白皮书 (六) 模拟器是什么?


本系列专栏主要是针对WLK怀旧服3.4.2后期清晰改动后的猫德进行重新知识体系建构
并且针对版本末期进行多阶段跨度的游戏内容进行优化,方便查阅
目录
<TBD>

1. 什么是模拟器?模拟器准确吗?
很多情况下,你总会在群里和NGA上看到类似的聊天
--- "如果穿了4T8,那么压缩出来X秒就可以多打撕咬了"
--- "如果我把猛虎留到饰品触发的时候才用,理论上DPS会高很多"
--- "小强我拿258暴击长柄AOE,肯定比258急速法杖要强"
问题来了,这些听起来很对的理论,到底是不是这么一回事呢?在游戏里,极其动态的战斗场景和互动,即便是几乎相同的战斗时间,往往DPS变化都会不一样.我要怎么才知道/确认一个理论是对的呢?
其实这并不复杂.游戏是代码写的,代码是靠函数堆出来的,无非也就是加减乘除.多少AP多少急速打敌人身上多少血,利用代码逆向重构这个过程,并且反复的在游戏和官方数据里确认结果,随着时间的堆积,这个代码仓库就越发成熟,并且随着游戏版本的改动不断地修正过去的问题和添加新的改动.

当然,因为随机种子(RNG, Random Number Generator)的作用,即便是一模一样的场景,暴击/伤害区间造成的结果,特别是比如猫德这种会因为暴击获取额外资源的职业,每一次模拟都会不一样.这就需要更多的样本加入了: 如果我把一样的战斗场景重复的发生一万次十万次,甚至一百万次,那么他得到的结果就会更贴近真实的平均水平.所谓万物皆统计学,简单的大样本统计学可以解决机器学习的问题,更何况游戏样本了.
逆向重构的战斗场景可以被重复无限次并且获得足以信服的数据和结果,这个工具就是我们常说的模拟器. 不同于玩家只能通过人力所及的样本(打1个小时木桩,打2个团本)去确认一个往往没有数学公式支撑的理论,最终大部分都会被"感觉"支配做出并不严谨的结论.因此,模拟器是在当今环境里,取决于代码的质量,能无限趋向于准确且能复现的参照物,他比任何纸面计算和个人感觉都要准确.

2. 模拟器能得出什么结论?
首先,在大样本计算下,属性的权重能够有效的被量化为当量点(EP, Equivalence Point),放在游戏里则可以理解为"一点属性能够转换成多少的DPS",也就是属性权重(Stat Weight)的一种展示方式(偶尔我们也会用一点属性等于多少AP的方式). 在没有模拟器之前,一般我们都是通过游戏官方的属性转换,比如"1力量=2AP"这样折算,除非你有极多的草稿纸帮你计算标量场函数,正常人是不可能准确的计算出属性对应的权重是多少的.

基于一套装备和一个战斗场景,在一百万次模拟后,模拟器就可以生成出每个属性的对应EP.这个EP就成为了我们配装的参考值.每一件装备上的主副属性乘以对应EP的总和就成为了这件装备的EP值;根据EP排序后的装备列表也就是我们常见的装备评分表.你会发现,当你配完装后,你身上所有装备的EP加在一起其实就跟模拟器跑出来的DPS差不多了.

模拟器最常用的功能当然就是"我这套装备能打多少DPS"这个功能了.在大样本下,如上图所示,你会从模拟器中获得一个DPS的区间 (Variance, 即方差),以及一个中位数 (medium). DPS区间里每一个柱状都代表了有多少样本打出了对应的DPS,柱状越高,机率则越高,柱状越低,机率越低.中位数意味着这是大样本里机率最高的DPS,如果你想要一个DPS参考,那么他就是你最好的选择.
你可以看到,当你手法及格的情况下(也就是你跟模拟器的打法一样时),你大概率是能打到蓝色区域的伤害.而红色的部分则机率不高,无论是往高还是往低,你都需要"脸"特别好或者特别坏.因为玩家是绝对打不出模拟器的样本量的,因此当比较DPS时发现自己的伤害超过了DPS区间的概率,要么你错过了这辈子唯一买彩票的机会,要么你大概率没有配置对...
既然DPS数据可以获得,那自然寻找真正意义上的"最好的配装",或者BIS,就有了参考性了.通过不同的搭配和重复大样本跑模拟,在万千种配装/宝石/附魔的不同搭配中找到最佳的配装就不是一件难事(虽然很耗时),往往你也会发现高装等的堆积似乎并不是最好的选择.


模拟器第三个重要的功能就是看输出循环了.大样本不仅仅告诉你一个DPS值,他还会告诉你你每一个技能的 伤害占比(Damage Distribution) 以及 技能每分钟的施放次数(CPM, Cast Per Minute), 在目前配装的属性以及团队BUFF的设置下有多少机率会躲闪和招架,暴击会是多少.流血的覆盖会是多少.这样当你翻看自己WCL的记录时,你就可以准确的知道自己什么技能打少了.

而战斗时间轴(Combat Timeline)则更直观的告诉你一场战斗中你应该怎么起手,技能的释放顺序,能量水平等等.当你发现自己输出有了瓶颈,通过参考模拟器的时间轴,你可以准确的发现自己手法的问题所在.

当然,模拟器也提供极高的定制性.你可以定义你希望的战斗场景(战斗时间/ADD战),团队增益,网络延迟等等.在Wowsims这款模拟器中还提供APL的lua接口,可以通过自定义代码来加入特殊的循环优先级(比如你想用清晰打斜掠会不会有收益).而在另外一款NerdEcatSims(仅猫德模拟)模拟器里,我们还可以计算不同套装,饰品,附魔,多彩等触发/套装效果的独立收益.这些信息能够给我们游戏中提供更多有价值的信息参考,帮助我们配装和思考输出循环.
当然,模拟器没有能力完整复刻每一种战斗场景,但是我们可以把复杂的战斗场景拆分成多个小的固定的木桩/ADD战并且局部模拟,也能给我们提供一个不错的参考.

3. 我在哪能获取模拟器?怎么用?

市面上一共有两款模拟器,一款是大名鼎鼎的全职业模拟Wowsims,一款是猫德模拟器NerdEcatSims.
Wowsims (https://wowsims.github.io/wotlk/)
是一款在Github开源了代码仓库的开源模拟器,由50多名开发者共同创造.每个职业都由对应的职业Discord频道的大哥负责维护,当然每个职业的代码质量也并不相同.猫德部分的代码由NerdEcatSims的开发人员参与,在众多职业属于维护频率最高的.

你可以通过访问上方的链接直接使用,也可以到Github官网(https://github.com/wowsims/wotlk/releases) 免费下载本地版本. 本地版本会提供20倍以上的计算速度,但是你需要每周都重新下载更新的版本来保持更新.

Wowsims在国内访问有个问题是,因为Wowhead(窝窝头)关闭了国内IP的访问,导致装备图片无法载入,你可以通过神秘的上网方式或者戒掉自己的强迫症来解决这个问题.而在语言方面,因为用户大部分都不需要其他语言,Wowsims设置里的简体中文仅翻译了选择装备时的提示界面,总体界面依旧是没有中文的,因此需要你在浏览器里进行页面翻译.
Wowsims适合对模拟DPS/配装/查看时间轴等主要功能有需求的玩家.如果你希望知道自己的装备能打多少,能怎么优化,那么这是最适合你的模拟器.
(注: Wowsims的翻译工作量巨大,如果你有兴趣加入开发,请私信我)
NerdEcatSims
这是一款为猫德设计的独立模拟器,由Wowhead德鲁伊编辑Nerdegghead以及包括我在内的多名Discord成员共同开发. 这款模拟器的中文版本由我维护开发,你可以到Github代码仓库里自行研究 (https://github.com/eeveecc/WotLK_cat_sim_cn)

这款模拟器没有Wowsims有漂亮的界面,但在功能上针对猫德进行了高定制性(上面提到的效果分析)以及比Wowsims更准确的EP计算算法,在版本更新和新装备研究上起了很大的作用.因为代码比Wowsims多职业要简单的多,在测试新理论时可以快速进行代码修改.
这款模拟器适合希望研究猫德以及细节比较的玩家,以及有代码经验的开发者. 你可以从百度网盘(https://pan.baidu.com/s/1auDUoTF72Lre0sVuxn0PSw, 密码ecat)获取编译版本,也可以用代码自行编译.
蓝色隐士

蓝色隐士是一款国内开发的微信小程序,想必大部分玩家都非常熟悉这里就不多介绍了.在蓝色隐士配装界面有一个很小的"分"按钮,点击后他将会调用Wowsims的接口并且帮你跑DPS模拟分.

蓝色隐士的跑分只提供固定配置的低样本结果,这意味着你并不能用这个功能来做任何有意义的配装比较和输出循环参考,但是如果你并没有足够的时间去研究正式的模拟器,那你可以通过这个功能来简单的知道你这身装备大概能在副本里打多少DPS.
EightyUpgrade (https://eightyupgrades.com/)

是一款根据EP的配装工具,可以说是海外的高配版蓝色隐士. EU并不提供模拟功能,但是他可以根据你选择的游戏阶段以及对应的EP进行装备排序. 你可以在上面配装并且精准的获取各状态和增益下的面板值,这样不需要在游戏内拥有或者换宝石就能知道最终面板是什么.
更重要的是,EU提供装备导出和导入功能,你可以把导出的数据导入到Wowsims和NerdEcatSims里,这样就不需要额外在模拟器里进行配装了(因为模拟器的配装功能并不舒适).
EU不提供中文选项,你依旧需要网页翻译操作.
WowsimsExport插件

WowsimsExport插件能够在游戏里一键导出你角色当前的装备.导出后的字符串可以复制到Wowsims里直接使用,省去配装的时间,这是每个玩家必备的.
你可以用Curseforge或任何插件管理器下载安装,或者访问https://www.curseforge.com/wow/addons/wowsimsexporter 单独下载

4. 模拟器怎么用?
模拟器使用方式和小技巧非常的多.在下一章节中,我们将会深入浅出的介绍Wowsims的使用方式,以及如何解读模拟器提供的数据.
