泓泰

DNF:技能特化全揭秘:让我们用编程来模拟实战!

admin

作者:prosubway

前言

偶尔能看到《计算器打桩》的说法,即用40秒【miǎo】除【chú】以各个技能的最终【zhōng】冷却得到技【jì】能施放次数,然后把各【gè】个技能伤害和【hé】次数【shù】相乘求和得到最后的打【dǎ】桩结果,这样【yàng】的方法因为完全【quán】无视了外【wài】在条件而经常招【zhāo】来【lái】C友们的群嘲,今天我将通过一些简单的python代码,来实现真正的计算器打桩,为大家揭开技能特化最后的面纱!


模拟角色

要进行模拟,就必定先得有一个比较接近真实的数据模型。
现在我们【men】假定【dìng】这样一个角【jiǎo】色,不【bú】考虑觉醒、技能柔【róu】化【huà】,不考虑宠物减5%CD,结合职业数据表中,各等级技能的CD情况以及占比情况来综合考虑,该角色在实战中拥有10个技能:

得到下表

现在我们得到了一个【gè】相对原始的【de】数据,后续的数【shù】据都可以基于【yú】这个表进行优【yōu】化调【diào】整

要让这个数据更加接近真实,我们还需要一些优化:

1.现在大部分流派的常驻CD减少都在38%左右(魔女/海湾腰带+魔女戒指),所以我们给全技能上一个38%的减CD
2. 角色有3个护石技能,假设为2个高阶技能和1个中阶技能,3个护石技能的秒伤系数提升至0.9且符文9保其中一个技能,该技能的系数提升至1.1。冷却缩减提升至50%

优化后的技能表如下所示:

其中橙色高亮的技能是护石技能,蓝色高亮的技能是护石+9保技能
这个表基本上可以代表大部分职业的技能伤害结构

有可【kě】能你的职业【yè】技能伤害结构、符【fú】文【wén】护石【shí】配置和该表有较大出入【rù】,但【dàn】先别急【jí】,因为该攻【gōng】略主要研究的是进【jìn】行技能特化【huà】后,在输出能【néng】力上会有何差异。结论【lùn】的重【chóng】点在【zài】于“技能结构变化”带来的影响。


模拟环境

暂且设定了3种实战环境
1.40秒打桩环境,用于模拟修炼场40S桩的爆发输出能力

2.180秒打桩环境,用于模拟在【zài】不考【kǎo】虑机【jī】制、走位【wèi】的【de】情况下,技能的长线输出能力

3.180秒副本环境【jìng】,用于模【mó】拟在需要【yào】躲【duǒ】避一定机制、进行【háng】走位的情况下,技能的【de】长线输出能力

详细说一下这个副本环境是如何设定的,在副本环境中,每0.5秒钟都有概率出现BOSS机制、BOSS移动走开、BOSS无敌等情况,为简化说明,将这些情况统称为机制。
具体为,每0.5秒进行一次机制判定,有2%的概率会出现8秒钟的机制,4%的概率会出现4秒钟的机制,10%的概率会出现1秒钟的机制,在机制中不会重复进行判定。
也就是说,在副本环境中,有约50%的时间是机制时间(PS:这个50%是怎么计算的?答:我才懒得计算,我模拟了10万次然后取平均值),在机制时间【jiān】里,不可以施放技【jì】能,考虑到真正的实战中玩家可以利用位移技【jì】能、无敌等塞伤【shāng】害,作为【wéi】弥补,允【yǔn】许已经【jīng】施放的技能在机制时演【yǎn】出(好吧,也简化了代码,真是皆大欢喜(?))
可能【néng】有朋【péng】友看到有一半的时间都是机【jī】制时【shí】间,会觉得很离谱,这输出不【bú】得【dé】腰斩?嗯,虽然从【cóng】直觉【jiào】上来【lái】说,这个数据看起【qǐ】来是【shì】有点夸张,但【dàn】真相【xiàng】却是反直觉的,在这样的环境下【xià】,比【bǐ】起纯打桩的环【huán】境,输出只下【xià】降了20%不到。如果你有【yǒu】闲工夫去自【zì】己录【lù】制一次通关因果【guǒ】毁【huǐ】灭的【de】视频,然后慢镜头去播放、计算机制时间,你可能【néng】会【huì】发现实际情【qíng】况可能比这还要夸张。


模拟战斗过程

对代码不感兴趣或者不想了解的朋友可以直接跳过该节。
代码用了python来写,属【shǔ】于业余小爱【ài】好【hǎo】,可能比较丑【chǒu】陋,大家【jiā】见笑,也非常欢迎对【duì】这方面比较熟悉【xī】的人提出批评和【hé】意见。
要模拟【nǐ】战斗【dòu】过程,可能会优先【xiān】想到使用多线程,但这点【diǎn】数【shù】据用多线程【chéng】有点【diǎn】杀【shā】鸡焉用【yòng】宰牛刀的感觉,时间上也不允【yǔn】许,所以定【dìng】义了一【yī】个【gè】时间列表,每个下标代表0.5秒,也就是说最小的时间间隔是0.5秒,然后对列表进行for循环来实现整个过程。关键部分如下所示
角色的10个技能信息事先保存到技能列表skills

战斗前先初始化一下计数信息,然后对时间列表times进行循环,每循环一次,就代表时间经过了0.5秒,times中存放的都是布尔值,标识了当前时间下是否是机制时间。

在【zài】每次循环【huán】中【zhōng】,先根【gēn】据时【shí】间更新【xīn】一次技能冷却的情况,这个比较简单

然后如果不是【shì】在机【jī】制时间,则施放一【yī】个【gè】当【dāng】前伤害【hài】最高且未进入冷却的技能,并且【qiě】将【jiāng】相关信息【xī】储存起来方便后续【xù】计算

最后将保存的信息进行归纳计算,得出各项数据结果
由于最小时间间隔为0.5秒,也就是说0.5秒内最多放一次技能,但实际上DNF中有很多几乎是瞬发的技能,因此在这方面会与实际存在误差。

常规流派伤害表现和分析

先上数据,为了减少偶然性,在副本环境模拟中,取100次模拟结果的平均值,

先看40秒桩和180秒桩,为什么会有这种数据差异呢?
主要体现在以下3点:
1.在短线桩中,主要体现的是角色的爆发能力

2.中低位技能【néng】由于【yú】施放优【yōu】先级可【kě】能不高,在短线桩中【zhōng】会存在一定程度的空转,尤【yóu】其【qí】是这【zhè】个模【mó】拟还没有考虑演【yǎn】出时间更长的觉醒技能

3.高位技能,或者说长CD高伤害的技能,在短线作战中可以“透支”秒伤,例如95级技能的CD37秒,在40秒钟内可以使用2次,在打桩结束后,95技能的CD可能还要30多秒来【lái】转【zhuǎn】好,也就是高【gāo】位的技能提前透支了大量打桩结束后的秒伤。这也【yě】是为【wéi】什【shí】么很【hěn】多【duō】人会通过一些牺牲【shēng】伤害换CD的手段来在40秒钟内多使用出一次高位技能。

然后再【zài】单独看【kàn】一看长【zhǎng】线桩的【de】占比情况,会发现【xiàn】部分高位技能的占比突然【rán】拉了,反而是中【zhōng】低【dī】位技能都站起来了。
这是【shì】因为越【yuè】是长线的【de】作【zuò】战,技能伤害占比与该技【jì】能的秒伤系数(就【jiù】是数据表里各种【zhǒng】的秒【miǎo】伤数据)的相关性【xìng】越强【qiáng】,还记得我们之前设置的【de】技【jì】能数据吗?在不考虑【lǜ】符文【wén】护石的情况下,我为高位技能设置了0.6的系数,中位是0.7,低位是0.8,可能这样的【de】设定不具【jù】有普遍性,但技能秒伤数【shù】据【jù】的作用在这里已经完全被体现出来【lái】。
这也就是计算器打桩的说法被嘲讽的一大原因,很多低阶短CD技能往往秒伤数据很优秀,但是通常不会选择其作为主力技能。

再看看一下常规流派在副本中的表现。
我们会发现,在副本实战中,因为【wéi】存在机制、走位等各【gè】种情况【kuàng】,各技能的施放次数有了【le】一【yī】定程度的【de】降低。总体输出则是【shì】降低【dī】了【le】20%左右。
且越是短CD的技能,技能次数、占【zhàn】比下【xià】降程【chéng】度越明显,秒伤数【shù】据可能【néng】不是很优秀【xiù】的高位技【jì】能【néng】反而能稳住脚跟,在副本中的发挥和打【dǎ】桩【zhuāng】环境比较相近。而护【hù】石技能和被9保的技能占比提升明显,这也非常符合我们的认知。

技能特化在实战副本中的提升

高位技能特化(主要以7580级技能为主【zhǔ】)主要以恩特精【jīng】灵【líng】鞋【xié】子、深潜迷航护【hù】腿【tuǐ】、蓝灵项链等自定义装备为核心,在以牺牲【shēng】其他技能【néng】伤害为代价,换取特化技能【néng】的伤害提升【shēng】和CD进一步减少。
75级技能为例,恩特鞋子、深潜护腿为75级技能额外提供了大量伤害,最终约提升60%的技能伤害,秒伤系数来到1.8,但作为代价,其他技能的伤害普遍降低了10~20%不等,另外一个高位技能,即80级技能,由于恩特鞋子的影响CD也增加了10%左右,让【ràng】我们稍稍控制变量,重新调整一下技能列表,使【shǐ】得【dé】特【tè】化流派和【hé】常规【guī】流派的长【zhǎng】线打桩【zhuāng】输出近似:

请注【zhù】意,这个数【shù】据只是【shì】略近似于实际,不能【néng】完全代【dài】表实际,只【zhī】是为了说【shuō】明【míng】特化流派在实战中的表现,实际的特【tè】化流派伤害结构可能比【bǐ】该【gāi】表更为夸【kuā】张

然后将数据填入变量,进行模拟得到:

结果应该是意料之中的。

首先看两个流派180秒长线桩的对比,由于采用了小幅度的控制变量,将180秒桩作为基准,在尽量将两个流【liú】派【pài】的长【zhǎng】线伤【shāng】害平【píng】齐的【de】情况下修改技能数据,所以【yǐ】特化流派180秒的秒伤数【shù】据【jù】和常规流派是平齐的,只是技能【néng】占【zhàn】比【bǐ】发生了变化,被【bèi】特化的【de】技能占比来到了34.5%

然后可以注意到,特化流派40秒桩提升了非常多,这是否与实际不符呢?非也,仔细观察会发现40秒桩里,特化技能因为CD进一步减【jiǎn】少,额外打出了一次【cì】(有点【diǎn】以前灵【líng】通鞋、灵通肩多塞【sāi】大【dà】技【jì】能的味道),所以【yǐ】导致【zhì】了总输出大幅提【tí】升,参考价【jià】值不是很大。
重点在于180秒的【de】副本模拟,虽然两个流【liú】派的长线打桩伤害很接近,但在副【fù】本中,特化流【liú】派【pài】很稳定【dìng】地比常规【guī】流派【pài】高【gāo】出了4.6%,其中特化技能占比39.09%。后续我通过【guò】继续修【xiū】改【gǎi】技能列【liè】表,在保证【zhèng】长线打桩伤害的【de】不变前提下【xià】,进一步扩【kuò】大特化技能【néng】的占比,发现提升比较微小,最终也是稳定在5%不到
结论呼之【zhī】欲出——在总体伤【shāng】害不变的【de】前提【tí】下,逐【zhú】渐拉高【gāo】某【mǒu】个技能的占比,这样的伤害结构在副本环境下【xià】伤害也会逐渐提升,最终会【huì】稳定在某一个数值【zhí】左右【yòu】(可【kě】能是5%不到)


还没结束,论技能特化的实际提升

由前面的【de】实验,我们已经知【zhī】道技能特化在副【fù】本中【zhōng】会有【yǒu】小幅优势,但是特化流派的【de】伤害只【zhī】仅限于此吗?
并非!前面为【wéi】了平齐长【zhǎng】线伤害,特化流派其他技能的数【shù】据【jù】被我【wǒ】额外调得更低【dī】了一些,现【xiàn】在让我们把【bǎ】数据调回来,让数据更【gèng】接近【jìn】现实
以劳力士直伤攻速流为例,换掉鞋子裤子项链变成特化75直伤流,其中,75级技能提升60%,冷却缩减(不考虑宠物)来到约60%95技能和80技能伤害下降10%(因为深潜裤子提供了3个高位技能技工),剩下技能下降15%80级技能CD增加约10%,最终技能表应该是这个样子:

代入程序跑一跑,最后得到以下数据:

直伤劳力士特化75之后,180秒长线稳定输出比一般流派提升了9.05%,副本输出对比常规流派提升了12.93%
注:这【zhè】个提升率【lǜ】和前面【miàn】设【shè】定的【de】技能【néng】秒伤系数和冷却时间紧密相关,即【jí】高位技能0.6、中位技能0.7、低位技能0.8、护石技能0.9,你可以查阅【yuè】各职业【yè】数据【jù】表来类比该模型,你可以想象成护石【shí】技能【néng】拥有9W的秒伤,实际【jì】上【shàng】这完【wán】全不夸张。假【jiǎ】设以蓝拳为例,按照之前设定第三个技能的原始冷却45秒来计算,75级最强怒击在该模型下秒伤为122735/45*34.2=93278.6,已经超过9W

最后总结
数据表明,特化【huà】在合适的情况下【xià】,可以【yǐ】有效地全面【miàn】提【tí】升角色的作【zuò】战【zhàn】能力,包括但不限于长线输出、实战【zhàn】输出,实际稳定提升率可能【néng】会来到【dào】10%左右,在副本实战条件下会更高
并且【qiě】,很明显,特化的提【tí】升和你准备【bèi】特化的【de】技能秒伤数据息息【xī】相关【guān】,什么【me】情况下适合进行特化呢?如果你的【de】职业拥有【yǒu】807535秒伤数据优秀形态良好支持特化的技能,进行特化将给你带来整体伤害和实战副本伤害的双重提升!


标签: #怪物猎人p3护石代码怎么用