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