数据统计:从伤害的角度看比赛

  • # 炉石传说

0.写在前面

笔者上一篇写了炉石卡组的伤害曲线一文,阐述了卡组的理想伤害曲线、真实伤害曲线这两个概念。并且将卡组的伤害曲线逻辑分为持续性、爆发性、随缘型这三种。为了验证下这种分类逻辑是否和真实情况吻合,这周笔者找了8月4日~8月6日黄金战队联赛季后赛的比赛作为案例进行分析。

之所以要找战队联赛的比赛,理由如下:

1.最主要的原因,是笔者没找到有现成的数据接口可以调用。之前有热心老哥在评论区提到HDT和火石的数据是开源可以爬取的,但是笔者找了很久也没找到相关数据源。如果有哪位老哥知道有可用的炉石对战源数据,希望能够共享给笔者,感激不尽。所以,在没有现成数据的情况下,笔者只能自己找一些对局作为分析样例了。

2.为什么选用战队联赛的对局,这里主要考虑到一来黄金战队联赛的对局数量比较合适,既不会多到笔者人力完全无法覆盖,也没有少到分析结果会被少样本的随机性严重干扰。二来战队联赛的牌手水平都相当高,故牌手因素可以近似忽略,对战结果可以更加真实的反应卡组的特征。

当然,用这个系列赛的缺点也是有的。由于比赛发生在补丁前,本文的时效性是明显滞后的。好在第二波补丁还没到,笔者趁这个时候把这篇文章发出来,防止再次被补丁背刺

 

1.数据概览

黄金战队联赛季后赛从八进四到最后的决赛,一共产生了82个对局。

从出场数来看,控制萨和骷髅火冲法(30张和40张都算)就几乎占了半壁江山。猎人、德鲁伊、术士、盗贼和牧师次之。瞎子、战士和骑士则直接隐藏。

 从胜场数和胜率来看,大部分卡组都是在40%~60%的区间。

卡组 胜场数 胜率
控制萨 16 47%
骷髅火冲法 11 50%
王子任务猎 9 50%
王子骷髅法 7 54%
王子大帝德 6 46%
小鬼**术 5 42%
野猪牧 7 64%
烟幕贼 6 60%
小鬼术 5 63%
鱼人萨 3 60%
假发牧 1 20%
亡语贼 1 25%
王子超凡德 2 100%
大奖贼 1 50%
王子任务牧 1 50%
龙火法 1 100%
**术 1 100%
快攻猎 0 0%

需要注意的是,这里的统计结果并不客观,与天梯对战有明显的不同。主要原因在于:
1.比赛的赛制和天梯不一样。因此卡组的line up和卡组的调整都会影响出场数、胜场数这两个指标。
2.淘汰制的比赛中,统计会受到最终结果的强偏置影响。简而言之,冠军卡组的出场数和胜场数自然要高于八强选手的卡组。

 

从对战回合数上来看(此处双方各行动一次算一回合),有超过一半的对局是在7~9回合内结束的,有80%的对局是在6~11回合内结束的,大致符合正态分布特性。

 最漫长的三局对战都是由控制萨提供的(分别VS王子骷髅法、骷髅火冲法和王子任务牧)。不过最快的对局也是产生自骷髅火冲法VS控制萨,闪金镇豺狼人无情变身石裔干将。剩下两局最快的对战则是出自小鬼术和亡语贼之手。

 

2.绘制伤害曲线

笔者记录了对局中每个回合结束时的双方血量值。以此为口径计算卡组的伤害曲线,即:

本回合造成伤害量 = 上个己方回合结束时的对方血量 - 当前回合结束时的对方血量。

这样的口径可能会有部分看官有争议。其实笔者当时也犹豫了很久,但是最后还是选择用这个口径。这个口径不仅包含了己方回合发生的事情,还包含了对方回合发生的事情,比如对方自发的血量变化(牧师奶术士抽)、我方造成的延迟伤害(骷髅、水 雷的亡语,对方用脸解怪受到的反伤)。后者当然应该算本回合的造成伤害量,而前者算作对方的防御能力。这也符合根据上一篇文中所说,真实伤害曲线就是己方造成伤害能力与对方防御能力共同作用的结果。

有了计算单回合伤害的能力,我们不妨先看看单回合伤害的极值在哪里。

单回合最大伤害值是35点,出自控制萨的鹦鹉-黑暗之主、雪落-巨人和布鲁坎-火球。榜眼由水 雷术的4*7=28摘得,24点伤害的探花荣耀由烟幕贼和龙火法共享。

反向最大伤害值是-25点,由小鬼术奉献(该死的双大 地之鳞)。第二低的伤害是骷髅火冲法的-23点(该死的双大 地之鳞)。第三则是任务萨打出的-14点(VS王子任务牧)。

把视线从单回合伤害拉到伤害曲线,各卡组的平均真实伤害曲线如下:

这里只统计了出场数超过5的卡组。且每回合的平均伤害只取了卡组能达到当前回合超过3次的。(举例,烟幕贼基本没见过7回合后的比赛,所以其7回合后的伤害曲线就不统计了。)

虽然这团线看起来比较糟糕,各个卡组没有太大的辨识度,但是我们还是可以从中看出一些东西的:

  • 小鬼术是造成伤害最早的卡组,且可以将造成伤害能力持续一段时间。其曲线较好的匹配了上篇中提到的持续型伤害的特点,而小鬼术也是一个很典型的靠滚雪球取胜的快攻卡组。
  • 野猪牧的曲线完美符合爆发性伤害曲线的特点。可以看到,在7回合前,野猪牧几乎完全没有造成伤害的能力,甚至会造成负伤害(绝望祷言)。但7回合后就可以持续的造成高伤害。而烟幕贼可以看做是一个启动更早,存活能力更低的同类型卡组。
  • 控制萨在上篇中被用来举随缘型伤害曲线的例子。从图中也能看到控制萨其单回合伤害峰值也是最低的(这里主要是因为控制萨出场数太多被平均了)。但控制萨绝非毫无输出能力的卡组,其持续性输出从图中可以清楚的看到(3回合后每回合都有输出,因为控制萨也是有相当不错的场面争夺能力)。而爆发性输出也可以从本文之前的所列举的一些数据略窥一二(最快对局和单回合最大伤害值都是控制萨贡献的)。
  • 王子骷髅法、王子任务猎和骷髅火冲法的曲线有些相似之处,呈现出两段峰值的特点。法师最后的持续性高输出能力自然是魔导师晨拥,第一段峰值则是一些高伤害性单卡带来的(鲁莽的学徒火眼莫德雷斯)。至于王子任务猎,笔者认为两段峰值之间的低谷期是用来下任务奖励了,或就是应对场面压力。而任务猎的曲线之所以没法师那么长,一来猎人前期造成伤害的能力较强,对手一般不能存活很久;二来依赖法术打伤害还是会受到牌序的影响,没有法师的技能那么稳定。

 

3.谈谈伤害曲线的上下游

对黄金战队联赛比赛的数据分析,每个卡组能够真实伤害曲线是可以和笔者上一篇中提到的卡组分类法相契合的。不过,笔者想要在这里强调的是,真实伤害曲线只是结果,并不能反映出卡组的构筑核心逻辑

真实伤害曲线是受到对方防守能力干扰的。举个极端的例子,心火牧对阵冰法的对局,冰法提前挂起的冰箱可以使得心火牧的一脚毫无作用,反映在伤害曲线上就是心火牧一局没造成过伤害。但是显然不能根据这个伤害曲线来判定心火牧是一个随缘输出型卡组而非爆发输出型卡组。

由此笔者想再谈下理想伤害曲线和真实伤害曲线的区别定位。理想伤害曲线只取决于自身,它所反映的是一套卡组单卡间的配合关系,即我想通过什么方式战胜对手。而真实伤害曲线则是双方对战博弈的结果,它反映了我能不能通过这种方式战胜对手,或者我能不能防住对手战胜我的方式。故真实伤害曲线可以看做理想伤害曲线的下游。

而真实伤害曲线的下游,就是对战结果了。对战结果在大数据聚合后反映为卡组的胜率。但大数据也带来了一个坏处,会把伤害曲线抹平,这样也就无法从胜率上倒过来分析卡组特性和单卡了。换言之,大数据的胜率可以反映卡组的强度,但是无法很好的反映卡组的内在逻辑与单卡重要性。

以控制萨为例(这是hsreplay在补丁前的数据),我们可以看到鳄鱼人掠夺者深海融合怪的打出胜率是要高于雪落守护者癫狂公爵西塔尔的。但是大家普遍的感觉是雪落和公爵要更加重要,前者是防守爆发一体的核心,后者是造成干扰的核心。这就是一个数据与逻辑不match的例子。

直接从大数据分析还有一个问题,即难以知道结果指标的相互关系,不知道要以哪个为准。比如雪落,打出胜率是偏低的,起手胜率和抽到胜率反而很高,而保留率偏中。这四个指标究竟能够反应雪落的什么特性,似乎也很难得出结论。

因此,笔者认为单纯从大数据的单卡胜率上去回溯单卡不是一件很合理的事情,也许还没单卡出场率靠谱。从单卡到卡组胜率之间缺了一些必要的环节,而笔者认为伤害曲线可以承担这个角色。

从收藏界面可以看到单卡的描述和数据。从对局统计可以得出卡组的胜率。但如何看待一个卡组?如何看待一场对战?也许伤害曲线是一个可以尝试的角度。


附:文中的伤害曲线统计出自笔者观看比赛视频中的统计结果。从源数据获取伤害曲线则是笔者写了个python小程序完成的。各位看官如果对这些有兴趣,可以私戳笔者。

 

2022年9月5日 发布于天津
全部评论 97条
按时间排序

还没有评论

48 97