作者aresa (阿绿傻)
看板LoL
标题[闲聊] 如何从比赛数据探讨玩家表现
时间Mon Dec 26 00:51:59 2011
Abstract
拜台服战绩网[1]所赐,我们可以在他们网页上找到一些资料,
我们可以找到战绩,kda(击杀/死亡/助攻),以及胜率,
但常常我们打完一场之後,往往难以从赛後数据里知道,
谁在这场比赛里是比较有影响力的人,常常我们玩上路大男,
数据难看,但是队友都知道你超坦才能打赢数场会战,
也常常有ks(kill steal)魔人数据不错,但是都知道他们十分影薄,
也有送死魔人,k和d都很高,但往往不知道对战局是否有利,
所以我们从战绩网的现有资料去找一点东西看看。
Introduction
当我们在游戏时,往往会知道杀人和死亡对战局有绝对的影响力,
故我们知道,k和d是值得关注的数据,而打赢比赛有几个关键,
第一是打赢会战,打赢会战往往有几个要素,很carry(怎麽翻?罩吗?),
或是十分tanky(硬帮帮),当然其中有cc(控场),有heal(补血),
这都是非常重要的小关键,但是终究回到够不够硬能撑完一轮cc,
或是够不够杀能在被cc後把敌人干掉[2],并不是不想把cc和heal算进数据里,
但由於计算上的难度,故我们将其省略,
并且在tanky及carry度里多少能反应其价值。
我们在这篇文章里探讨的是,从基本的kda值加上战绩网的其他资料,
加以延伸应用出一场比赛的资讯PfP(Player for Performance)。
Kill and Total damage
首先我们要解决KS的问题,当然有时候KS并没有错,有时就差那麽一下,
就可以送敌人归西,这是很大的差别,但作者经常被KS所以这一定要揪出来。
作者从战绩网里面找出一场战况胶着且相对作者的ELO来说算是高端的比赛[3],
采用的人则为西门夜说[4],该场比赛进行了33分钟,两边的KDA值都相近,
故作者判断这个比赛是势均力敌的。
根据经验法则,我要把一个人干掉,我一定要打掉他的全部hp,
我要抢到他的人头,则只需要最後一刀,但以贡献度来说,把hp打光这个表现,
对於把人杀掉的这个结果,是比较有影响力的,包拓他血见底,看起来就比较好杀,
所以我们可以从这里下手。
首先以西门夜说为例,KDA 6/6/10,总伤167838,人头数6,助攻数10,
我们先简略的把KA加起来,并用总伤去除,得到
TD/KA = 10489
但我们可以很明显的看出错误,我们把打小兵的伤害也算进去了,
於是我们探讨如何去除小兵的因素。
西门夜说杀了小兵+野怪(TM)总共255只,我们粗略的将小兵的HP代入为450为MHP值,
别问我怎麽算的,自己开游戏就知道,小兵的血还会上升的,
而且我们也不完全推兵,也有捡尾刀的技巧,故450是我算过几场之後得到的
自己较能接受的数字[5]。
那我们将小怪数目乘上MHP值为
450*255 = 114750
去除掉小兵的因素之後,我们可以大略知道,西门夜说对人的伤害为
RDC(real damage for champions) = TD-(TM*450) = 53088
我们将k和a分别计算,由於a得到的钱为所有助攻者的70%分摊,
根据了数场的资料,我推算平均约要1.5个人+击杀者才能杀掉一个人
故我们将a乘上0.5加上k,於是得到k=6,a=10,ka值等於6+(10*0.5)=11
所以我们可以开始算,西门夜说如果要把对方一个英雄杀死,
需要付出的伤害为。
pRDC = RDC / KA = 40338/11 = 4826
把一个人戳戳戳然後干掉他,约需要4826点伤害,看起来不太合理
因为包含没捡到尾刀浪费掉的伤害,所以我们之後会再做补正。
至少比一开始算的10489伤害像样多了。
Tanky Point
再来我们探讨D值,常有人去送死但又杀很大,也有人坦魂爆发坦了整场,
如何探讨死的有没有意义,是一件很重要的事情,现在我们来研究看看。
根据经验法则,有意义的死,通常会带走几个人头,没意义的死,
只会送人头,故我们从KA值探讨D值的价值。
首先我们要知道,坦的定义是什麽,故我们将d(死亡数)拿出来和承受伤害,
做比较。西门夜说总共死6次,承受伤害共17571,再度根据经验法则,
我们没事不会给小兵打,就算有,也很少,通常会搭配药水,故我们将回覆生命
加上承受伤害重新计算得到。
MT(被虐待狂坦克) = MD-RH = 17571 - 395 = 17176
然後除以D值得到
dpd(death per damage) = MT/D = 17176 / 6 = 2862
我们可以得到,要把西门夜说干掉,只要平均输出2862在他身上即可
可以印证,被杀容易杀人难的概念。若没死过,则D=1。
Money
赚钱是一个很重要的任务,我们将TM值除以总金额可以得到
R = TM / TG = 12903 / 255 = 50.6
击杀英雄也能赚钱,打掉塔也能赚钱,为什麽不加入计数呢?
英雄掉的钱会浮动,推塔是不确定因素,打龙更是要抢,这些都会反应在
全体收入,故我们将这些因素摊平到每只小怪身上,这样可以反应赚钱效率,
在前期小怪不杀会被别人捡走,在後期都是用洗的,故我们使用摊入的计算,
一方面也可以反应出SUP的价值,以及团队合作度(团战,偷塔,吃龙)。
Player for Performance
当我们有西门夜说的以下数据
pRDC = 4826
dpd = 2862
r = 50
这几个数据之後,我们可以开始讨论pfp值的计算
我们先列出其他队友的数值:
队友1 队友2
pRDC = 4770 pRDC = 8138
dpd = 10267 dpd = 4323
r = 46 r = 82.83
队友3 队友4
pRDC = 307 pRDC = 1334
dpd = 1602 dpd = 2034
r = 682 r = 60.01
对手
对手1 对手2
pRDC = 2202 pRDC = 1849
dpd = 3172 dpd = 3687
r = 60 r = 49
对手3 对手4
pRDC = 8975 pRDC = 1608
dpd = 4275 dpd = 1406
r = 82.57 r = 387
对手5
pRDC = 5226
dpd = 2268
r = 53
表1 统计表
我们可以从表上得知,prdc越高,表示杀人效率越差,尾刀效率越差
故prdc越低,对团队而言较为有帮助,尾刀效率越好
较高的prdc表示可能打到残血让敌人跑走,或是两人都残血但被杀掉,
prdc更代表了捡兵效率,越好的尾刀,可以让prdc更低,
若是用洗兵的方式,会让prdc分数下降,但跟每只都用尾的方式cs是相同的,
但为何洗兵的分数会低,我想是因为会造成推线,故prdc给较低的分数,
这样无脑a的人,分数自然会低一点。
而dpd显示了tanky的程度,或是杀人技巧如何卓越,
冲入敌人夺取人头後残血逃离现场,越高的dpd表示越坦
R为赚钱效率,其中包含了很多涵意,掉塔数量
助攻,龙等等,我们可以发现较高的r代表赚钱效率较高
sup的部份甚至突破天际的高,某方面来说
赚钱效率可以反映你买的装备,你花的钱,有没有办法帮你
得到更高的附加价值,你花钱买一把IE,你是否有办法把IE发挥得更好
使得赚钱效率更高(更能推塔,杀人,抢buff等)
我们可以从表上得知,数值之间不同的差异,非常大,
所以我们采用rank分级,因为一场比赛里,有多少资源都是固定的,
玩家只能阻止资源流失,同样30分的比赛里,能从小怪里赚到的钱都是固定的,
故我们采用分级制度来量化数据。
以下是rank分级,我们总共把rank分为10级
prdc dpd r
rank 1
307 队友3 10286 队友1 682 队友3
rank 2
1334 队友4 4323 队友2 387 对手4
rank 3
1608 对手4 4275 对手3 82 队友2
rank 4
1849 对手2 3687 对手2 82 对手3
rank 5
2202 对手1 3172 对手1 60 队友4
rank 6
4770 队友1 2862 苦主 60 对手1
rank 7
4826 苦主 2268 对手5 53 对手5
rank 8
5226 对手5 2034 队友4 50 苦主
rank 9
8138 队友2 1602 队友3 49 对手2
rank 10
8975 对手3 1406 对手4 46 队友1
表2 分级表
total prdc = 39235
total dpd = 35915
total r = 1551
於是我们得到积分表
再乘上比重百分比(该数值在该统计里的百分比)
我们只取dpd前四名加重配分,并且不计r
苦主 4 +5 +3 =12 无
队友1 5 +10+1 =16 dpd加权 (10286/35915=0.3)故16+3=19
队友2 2 +9 +8 =19 dpd加权 (4323/35915=0.1)故19+1=20
队友3 10+2 +10 =22
队友4 9 +3 +6 =18
对手1 6 +6 +5 =17
对手2 7 +7 +2 =16 dpd加权 (3687/35915=0.1)故16+1=17
对手3 1 +8 +7 =16 dpd加权 (4275/35915=0.1)故16+1=17
对手4 8 +1 +9 =18
对手5 3 +4 +4 =11
表3 加权表
最後补正推塔的分数,一场比赛有十一根塔,三座兵营,
拆塔是获胜的充要条件,也能造福队友,故每根塔,额外多给1.5分
兵营的话大多是集中推掉的,故给1分,推掉1根塔直接进位
整理如下,我们得到我们的pfp
苦主 逆命 4 +5 +3 +0 +4 = 16
队友1 奈德丽 5 +10+1 +3 +3 = 22
队友2 夜曲 2 +9 +8 +1 +0 = 20
队友3 塔里克 10+2 +10+0 +0 = 22
队友4 泛 9 +3 +6 +0 +2 = 20
对手1 安妮 6 +6 +5 +0 +2 = 19
对手2 科加斯 7 +7 +2 +1 +0 = 17
对手3 拉姆斯 1 +8 +7 +1 +0 = 17
对手4 索娜 8 +1 +9 +0 +0 = 18
对手5 崔丝塔娜 3 +4 +4 +0 +7 = 18
表4 pfp表
Conclusions
因为p币不够所以来骗一下(误),主要是之前人肉一个苦主,感觉很对
不起他,因为里面实在没什麽料,有点误导大众,之後就一直在想,要如
何把玩家的表现量化,所以才弄出这些东西,很明显的,对於sup来说,这
个表非常吃香,至少在攻击指数和赚钱指数方面,另外就是统计系的可以免
费嘘我,一个关於统计的文章居然连个标准差都没用到实在可以自d不要出来
丢人现眼了,不知不觉就打了五个小时,原本想要跟大家庆祝圣诞节的也就算了
ps:本人elo 1277,以下开放嘘文
Reference
[1]
http://loltw.meetgee.com/news/ 英雄联盟战绩网
[2] Doublelift曾在一场比赛里使用泛1v2在极端劣势下被gank但反杀对方
[3]
http://loltw.meetgee.com/games/4ec939216c9f77276800bf41/
[4] 西门夜说是台服第一个上ELO2000的人,人怕出名猪怕肥,如果西门夜说
本人来跟我抱怨的话我就换成调整师或a君都可以。
[5] 前期捡尾後期洗兵,甚至伤害溢出都会算进去。故将前期和後期抵消掉。
--
位元堂养阴丸 ≡ ◢█ █◣ ≡ ㊣ by
好似太阳咁温暖≡ 爆 ◤ ≡◥ 肝 ≡ 虚弱病患不要惊 aresa
∥驱寒理咳 ∥∥ 太阳出来了 —⊙-⊙-◤好似太阳 ≡ 寒痰咳嗽 请
∥∥除顽痰强 ∥∥ 太阳出来了◥ 皿 ╯咁温暖 ≡ 好似雪人溶化了 跟
∥∥壮机能保气血∥∥ ▃ ◥ ︶◤? ≡ 安心服用养阴丸 着
参考http://0rz.tw/e44p6 嬲◢ ∞ ◤ ≡ 太阳出来了 太阳出来了 唱
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.213.250
1F:→ keepoo :...论文腻 12/26 00:52
2F:推 kiwibee :虽然我end了 不过好像很厉害 所以我推了 12/26 00:52
3F:推 GOD5566GOD :你这篇打了多久阿 12/26 00:52
4F:推 weiweiweiwei:就算这样写...教授也不会让你过喔! 12/26 00:53
5F:推 Murasaki0110:..... 12/26 00:53
6F:推 Umol :硕士毕业之後就不曾这样打文章过... 12/26 00:53
7F:推 RobertAlexy :你可以跟战绩网合作… 12/26 00:54
8F:→ Umol :这一篇文章值 1000 Ptt币 12/26 00:54
9F:推 OnSEx007 :嗯嗯 跟我想的一样 被你抢先打了(心虚 12/26 00:55
10F:推 lexwu200212 :论文推...不过END谢谢 12/26 00:55
11F:→ Shalone :呜呜 难道要做检定QQ 12/26 00:55
12F:推 sillymon :....这是甚麽 12/26 00:55
13F:推 wiiann :我也是这样想的(误 12/26 00:55
14F:推 yhchen2 :把这篇文章看完的人数大概跟把你硕论看完的人差不多 12/26 00:56
15F:推 dsfrf :先做个t捡定吧 再不行就用卡方 => 符号(最偷懒 12/26 00:56
16F:→ keepoo :完了那没人看了 12/26 00:56
17F:→ dsfrf :反正总是能弄出来的~~~(指导教授的嘴脸 12/26 00:57
18F:推 egg123 :先推再... 12/26 00:57
19F:推 misaki030 :快推不然别人以为我看不懂 12/26 00:57
20F:推 ernieyang09 :KA/TD 写反了 12/26 00:57
感恩
21F:推 nisak :看完了 12/26 00:57
22F:推 Solidsanke :..... 12/26 00:58
23F:→ chrisvzxs :所以POP值的高低有影响吗? 12/26 00:58
24F:推 arnoldlai :END 12/26 01:00
25F:→ j02850 :end 12/26 01:00
26F:→ aresa :POP值就反应谁控线较好被打最硬杀人不手软罢了 12/26 01:00
27F:→ aresa :喔耶赚1000p没人嘘我,只有一堆end 12/26 01:00
28F:推 chu630 :end 12/26 01:00
29F:→ chrisvzxs :有方法可以不用经过那麽复杂的计算看到POP值吗?? 12/26 01:01
30F:推 RAYWU321 :挖赛 我本来也想弄类似的 12/26 01:01
31F:推 Homeparty :有用~!! 用心推 12/26 01:02
32F:推 DAVIDLONG :认真哥 推 12/26 01:03
33F:推 joliwugy :Tanky point 是要说明够不够坦吗~结论很像不够清楚XD 12/26 01:03
34F:推 sky80420 :看完推 @@ 12/26 01:03
35F:推 thatsocool :推 12/26 01:03
36F:推 curtpy :超威 但是看不懂.. 有免费分析服务吗 12/26 01:06
37F:推 zseineo :XD 12/26 01:07
38F:推 shirman :所以结论.....到底谁贡献最多??? 不懂... 12/26 01:08
就结论而言,这个表是显示谁利用了固定会有的资源作出的表现
当然我懒没有计算装备和眼睛还有精链
表中可以看到奈德丽和塔里克GJ
39F:推 a9110513 :POP越高贡献越高? 12/26 01:09
40F:推 sonic5566 :认真看完了 不过可以伸简易求值的算法吗 XD 12/26 01:09
41F:→ qiaffvvf :看完了..想法或许可行 但母体样本过少不足以支持理论 12/26 01:11
42F:→ lpllpllpl :小兵那边就有问题了? 不是连小兵都打最後一下吗?XDD 12/26 01:11
43F:推 imkingtop :超威 推 12/26 01:11
44F:→ qiaffvvf :且不同区间/模式打法有所差异 讨论范围要再限缩 12/26 01:11
嗯没错所以希望有人可以把POP改进这样就可以帮大家分析了
刚温
45F:推 ryuking :虽然看到一半END 但推原PO的用心~~~ 12/26 01:12
46F:推 sawaman :不知道能不跟战绩网合作显示出来,应该很实用 12/26 01:14
47F:→ sawaman :有时候光看KDA是真的还蛮不准的 12/26 01:15
48F:推 ckuforever :...................................... 12/26 01:15
49F:推 fff417 :我觉得想看谁贡献多还是看RP...地图控制无法数据化 12/26 01:18
这让我想到NBA的这种东西更多XD,当然都是仅供参考罗
50F:推 seisai0121 :?? 12/26 01:18
51F:→ natsumi0416 :从LOL中毕业了... 12/26 01:19
52F:推 oof15 :这太屌了= = 12/26 01:26
53F:推 curstwings :OMG... 12/26 01:29
54F:→ superxk :完全不想看QQ 12/26 01:29
55F:推 ben3683 :不过我还是觉得关於伤害与坦的计算有一些偏误 12/26 01:32
56F:→ ben3683 :比如说在伤害制造方面 打野脚色应该要有额外的考量 12/26 01:33
57F:→ ben3683 :另外AD跟AP脚色在制造伤害的型态也有差异 12/26 01:34
58F:→ ben3683 :如果要调整可以先去定义打野的调整方式 12/26 01:35
其实还好,jungle跟jungle比就好,仔细看其实很有趣
59F:推 hganan000 :从a=6 那里开始就一头雾水了.. 12/26 01:38
60F:推 moonjimmy :END 12/26 01:43
61F:推 kindhearted : 12/26 01:50
62F:推 j79091012345:............太威了....不过我end了QQ 12/26 01:50
63F:推 xes666 :推认真 但小兵应该不能这样算 不可能都打掉满血 12/26 01:53
我以後在後期一拳三百磅的时候也来尾兵看看
64F:推 rimoe :XDD 12/26 01:53
65F:推 Elivanta :我承认我一页一页乖乖看,同时我也承认我看不懂 12/26 01:56
66F:推 kryptos :太威了 12/26 01:58
67F:推 a2364983 :XDDD 12/26 01:59
68F:推 misy4ru3 :谁来写个程式让我只要输入数字就好QAQ 12/26 02:03
int k=,d=,a=,tg=,tm=,td=,md=,rh=;
double ka =k+(a*0.5);
dpd = (md-rh)/d;
prdc= (td-(tm*450))/ka;
r=tg/tm;
matlab!!!
不过加权和rank要自己弄就是了(逃)
69F:推 a932l41l4 :END+1 推认真 12/26 02:05
70F:推 tkuallen :英雄联盟实力评测首席分析师 暨 潜能选手深度发掘师 12/26 02:07
71F:→ dnki :喔~原来如此!! 他在说什麽?? 12/26 02:09
72F:推 ssd123698745:LOL版魔球 12/26 02:11
73F:推 Dont2000 :靠邀 回家打个LOL也要搞得像在LAB :( 12/26 02:17
74F:推 dogerii :前期大部分小兵不都是打最後一下嘛+1 12/26 02:36
75F:推 tbmaker :我觉得乾脆写信建议riot多增加一些数值 12/26 02:37
76F:→ tbmaker :像是打英雄的伤害 打野怪的 打小兵的 分开算 12/26 02:37
77F:→ greedlend :performance of player ? 12/26 02:45
睡觉前上来看一下,我才想到我原本是要打for的(遮脸)
78F:推 monkiki1007 :太深奥了 只好推了 12/26 02:49
※ 编辑: aresa 来自: 220.135.213.250 (12/26 02:50)
79F:推 greedlend :prdc那边不错 12/26 02:51
80F:→ greedlend :pop缩写比较讨喜 12/26 02:52
81F:推 sycjohn :小兵的部分可能要再降 因为即使後期也会有塔的伤害 12/26 02:55
82F:→ aresa :我是觉得还好拉,毕竟这个是跟在场的9个人比 12/26 02:57
83F:→ aresa :科科如果战绩网想用的话也可以喔啾咪 12/26 02:57
84F:推 NotForever :看你这麽认真,给个推了 12/26 03:41
85F:推 as43 :好复杂阿 反正多练就对了 认真给推XDD 12/26 03:49
86F:→ chocoboy5566:孩子!你的文献探讨呢!? 12/26 04:08
87F:→ aresa :我想我应该是第一个(逃),刚刚rank被杀爆了哭哭 12/26 04:10
88F:→ aresa :自己算完之後居然显示我是最混的Orz 12/26 04:11
89F:推 steve11631 :推认真...可是完全不会算XD 12/26 05:50
90F:推 ntcpe27 :分析推!科学化的打游戏XD 12/26 06:47
91F:→ ntcpe27 :借转电竞板 12/26 06:48
92F:推 mark0912n :恩...防御越高受到伤害会越低阿... 12/26 07:00
93F:推 appleIII :要写的这麽专业不简单 但要总结的让大众都懂也不简单 12/26 07:49
94F:推 wulouise :个案讨论为什麽要放标准差? 12/26 08:49
95F:→ wulouise :十个人表现用标准差也很怪吧 12/26 08:49
96F:推 ckp4131025 :因为跳钱和助攻等的关系,我认为R的算法会出现吃兵 12/26 09:22
97F:→ ckp4131025 :越多效率越差的结果 12/26 09:23
重新再解释一下好了,一只小兵近战掉的钱约是24~30,弓兵是14~17
就算他们一个掉24,一个掉14,一波六只各半,偶尔多一台车,量小到可以忽略
(24*3+14*3)/6=19,平均期望值是19
CS外的额外的收入是杀人推塔打龙跳钱
由於捡兵是收入的基本来源,也知道三线是最好赚的线
jungle和sup会比较穷,比较穷就比较难推塔打龙杀人(吧)
所以三线会在这里吃点亏但是在推塔加权和tanky加权里会赢回来不少
大概就这样吧
好好笑喔我在干嘛XDDD
98F:推 ckai1983 :昨天我玩一场, 四打五, 我用炮娘, 杀42死10 12/26 09:54
99F:→ ckai1983 :打赢惹 12/26 09:55
100F:推 ckp4131025 :楼上这推文跟这篇的关系是? 12/26 10:03
101F:推 eeqqww112233:0...0 12/26 12:09
102F:→ Mystiera :我们我们我们我们我们我们我们谁跟你我们 12/26 12:23
103F:推 icekeyboardy:这研究的感觉跟我现在学校弄得还真像= = 12/26 12:39
104F:推 darkmn0131 :太强了!!! 不过reference呢:D 12/26 12:50
105F:→ darkmn0131 :喔没事 原来是不小心跳过-.- 12/26 12:51
106F:推 OOXXSUN :恩恩 跟我想得差不多 12/26 13:07
※ 编辑: aresa 来自: 140.136.149.204 (12/26 13:19)
107F:推 tropicmyway :这篇整理一下弄个表格公式附上去再来些图就是论文了! 12/26 14:09
108F:→ tropicmyway :而且还可以研究曲线的变化代表的意义喔 XD 12/26 14:10
109F:推 CaLawrence :这篇太屌了 12/26 15:36
110F:推 nasmithed :看完了,感觉应该寄给Riot让他放入系统,有用!! 12/26 18:53
111F:推 viudo :研究文 有点长QQ 下次补看下半部 12/26 19:25
112F:嘘 jackal998 :红明显 那如果出一堆跳钱庄不吃兵就会超怪的唉像塔 12/26 22:30
113F:→ jackal998 :李克的R值682我一直以为你是打错...这样没有信度 12/26 22:31
114F:推 jackal998 :捕推 12/26 22:32
115F:推 ESandman :好多 往往 往往 往往 往往 往往 往往 往往 往往 往往 12/27 23:58
116F:→ choosin :有评比就可能有刻意洗数据的问题 但是一般来说正常游 12/28 02:48
117F:→ choosin :戏大家都想赢 为了数据去出跳钱不吃兵的carry害自己 12/28 02:48
118F:→ choosin :死又输的状况是很少的 12/28 02:48
119F:推 kyukyu :认真推 12/28 15:39