Re: [资讯] 复赛赛后统计数据表

楼主: tadpole1 (蝌蚪)   2013-03-10 00:46:36
※ 引述《doom8199 (~口卡口卡 修~)》之铭言:
: ※ 引述《tadpole1 (蝌蚪)》之铭言:
: 若想要统计一些数据,建议写个程式来做事后统计
: 不然用看的太累人了 = =ll, 也可以降低人为主观因素参杂
: 可以有两种做法:
: <1> 请 top 的原作者看能不能提供一个 switch
: 将游戏过程的数据 dump 出来 (就像 FB上的 battle 那样)
: 再自己写个 parser 拿出需要的 information 做后续分析
: 这东西是一定存在的,只是要看作者本人愿不愿意提供XD
: <2> 写个程式 (如 matlab), 直接从录下来的影片档建 database
: 例如以游戏中暂放 tetromino 的 queue 为标准
: 只要 frame 与 frmae 之间的 queue 有变动
: 就撷取 +- 0.x s 时的 frame (做为 current end 和 next start 的 pattern)
: 有了这些 pattern,利用背景颜色判断每个 frame 中的 20*10 window size
: 已被占去那些方块,再取 per-frame difference 可以算出
: "每个 queue 变动时,玩家获得的 grade"。
: 一旦有了上述的 database, 就可以自己从中组合出自己想要的统计量。
: 当然走这条路的建议是,录制游戏画面的程式、以及录出来的 size ratio
: 要 unify, 以简化程式的 programming。
可以的话也挺希望能自动化的QQ
不过大概机会不大就是了 至少wojtek他应该不会想做
: =======
: : http://ppt.cc/XtgM
: : 1.Unforced Errors (非受迫性失误)
: : 只有单纯记"手滑"的部份
: : 隐形失误大部份看不太到 记不了(EX:误按hold、方愧堆叠不佳连带妥协也不计)
: 个人觉得这一项可以先拿掉,主要是因为定义的不够 specific
: 而且这东西也很难去订出一个客观的标准
: 例如玩家A放了一个直立 S而造成空洞,而这个空洞是可以做出 T转凹槽
: 观看者其实不能确定在这当下 玩家A是否真的手滑,只是后来发现可以做
: 出T槽;抑或是真的故意铺下T槽之路。这个行为是 depend on 玩家的思考,
: 光靠画面是很难 render 出玩家真正的思考逻辑
基本上我看的时候标准很松 只要后面有接到T spin的我几乎全部不算
但这当然也是有点结果论啦
另一方面是从手上的方块顺序事实上也能大至上看的出是不受是失误
毕竟连方块堆不好 妥协的方块都没算进去了 几乎不太会看错
而且这个统计量其实蛮重要的 事实上失误对比赛的单局的往往是蛮大的
高LPM高APM但也高失误的不见得能稳赢比他实力低一些些的对手
不过也因为标准很松 失去的information一定也不少
到底这个量的用处大不大 可能等这次比赛完再来看看
: : 2.KO Points (KO点=胜点)
: : 代表攻击有致死的机会
: : 但有时候用看的有点辛苦 大概会有误差
: 同上。若假设玩家 A 叠了 3w 14 lines, 他/她可能有机会将对方一次打挂;
: 但同一个画面下让其他玩家 play, 你是没办法 guarantee 该玩家有 "机会"
: 可以将对手顶上天XD 。这个统计量得牵涉到双方的手速、攻击力、以及
: 解洞能力
我这边的定义是 红线只要不抵消不消行就会死的状况为KO point
所以这毫无疑问的是个"机会"
当然确实会有3.4W 叠高时看起来明显是刻意给他打的这种情况
但只要combo断或失误就死 这样的话依然是一次有效的攻击机会
可能会应该称为"机会"感到不太对的感觉 因为我也有这种感觉= =
所以后来才在加个高点进来
以区分一个是"有被攻击的危险"和"已经被攻击可以会死的危险"
: : 3.KO (KO数=胜场数)
: : 事实上也等于胜场
: : 4.High Point (高点=危机次数)
: : 高处定义:中央4排高度大于等于16行
: 个人觉得 "危机" 用 "指数" 比用 "次数" 来诠释会比较有意义
: 主因是 "一次的危机" 可大可小。要 induce 大小概念,比较直观
: 的想法是 "玩家处在中央高度1x行越久,危机越大"。
: 因此 "危机指数" 可以将时间纳入考虑
: 例如 玩家A 花了 48s 玩了一场 game
: 其中有 3s 高度在 16 lines、 4s 高度在 17 lines
: 那最简单可以用加权平均 (3*X + 4*Y)/48, (X、Y 为 cost)
: 来代表 "危机指数"
: 甚至也能改成:
: 1 19
: ── Σ c(i)*t(i) , 其中 c(i) 为中央四排高度 i 时的 cost
: T i = 0 t(i) 为中央四排高度 i 时的时间
: 19
: T = Σ t(i) 代表一场游戏的时间
: i = 0
: 至于名称可以叫 hazard, crisis 之类的
可以的话这个确实比较好 只是也是有记录技术上的问题...
: : 5.Miss Per Game (平均每场(非受迫性)失误次数)
: : =非受迫性失误次数/场数
: : 6.KO Rate (KO成功率)
: : =KO/(KO point)
: : 表示致命一击成功率
: : 7.High Point Attack Rate (补刀率)
: : =(KO point)/(High point)
: : 对方在高点时进行(致死)攻击的比率
: : 8.High Point KO Rate
: : =KO/(High point)
: : 对方在高点时KO的比率
: : 9.Lpm Apm Time
: : total那行是指这几场下来的(加权)平均Apm和Lpm,Time在total那行则是以分为单位
: : APMfinal=sum(APMi*TIMEi)/sum(TIMEi) i=1~n
: : LPM亦同
: : 目前只记了一场和一些部份
: : 以上的词可以的话帮我想帅一点的
: ======
: battle 跟最初的 tetris game 最大差异主要有几个:
: <1> combo <2> SRS <3> B2B <4> hard drop
: 所以目前我想到的统计量大概跟上述有关
: 例如: (a) 单场平均发动一次 combo 的个数
: (combo times per snapshot)
: (b) 单场平均发动一次 combo/b2b 的攻击力
: (combo/b2b power per snapshot)
: (c) 单场平均一分钟发动 "几次" combo/b2b
: (combo/b2b times per min)
: (d) 单场平均一分钟 soft drop 的秒数
: (soft drop utilization per min)
: 其实 top 的能力图也有将上述的资讯展现出来 (可惜是总平均)
: 若能每场都分析这些数据,再搭配 lpm 和 apm,
: 我是觉得可以约略定位出该玩家的攻击模式与能力水平 for every game period
其实只要能自动化纪录的话 对怎样的统计量都可以自己去组合
事实上现在记录上就包括你上面说的 连失误都很难计 误差也不知道会不会很大
也就是说 现在面临的问题比起设计、定义 实际收集资料的问题比较大
最理想的状况是直接做出一款新的tetris游戏 而且有强大的官方服务器之类的
但这个感觉就是去睡觉比较快...
而且对很多玩家来说 数据可能也只是看看就好
反正一直练快练强把人打爆就够了...科科
所以要有这些东西出来好像真的有点需要奇蹟(?)
不过或许像你最前面所说写个程式来跑其实不会很难(?)
只是我不会就以为做不到这样 大大了低估众人的力量XD

Links booklink

Contact Us: admin [ a t ] ucptt.com