Saturday, 26 May 2018

DDR, the 4th year

Some references:
[5/2016] DDR the 2nd year
[2/2017] DDR the 3rd year

Oh my. Just take a look at the screenshots in the above entries and look at the scores that I have now...

ちくわパフェだよ☆CKP Challenge Lv14
2016 - 881970 1 miss [That's really a fluke - I can't even consistently 4 miss Lv14 maps]
2017 - 918640 1 miss [That's more like regular performance]
2018 - 938370 GFC [without proper warm up so that's an underperformed play]


MAX300 Expert Lv15
2016 - ~890000 (ITG converted into DDR A scale) [again fluked somehow]
2018 - 912380 [not like I seriously grinded since I play 12-14-16+ these days... didn't even bothered to screenshot that]

嘆きの樹 Expert Lv16
2017 - 557020 Failed [Can't even make it to the laddery stream part]
2018 - 833420 [I think I'm hitting that stream too fast nowdays]


恋する☆宇宙戦争っ!! Challenge Lv17
2017 - 780660 [After playing BPM200 for a whole day]
2018 - 884020 [Playing BPM200 is almost natural for me now]


Oh and of course, I can barely handle some 18s now.

Great improvement comes from consistent targeted practicing just like what happened in 2016. In 2 months I improved from being able to marginally pass 16s to clearing some of the nastiest 17 [Tohoku Evolved, Spanish Snowy Dance] and even some 18s [Egoism, Mei, and almost Dead End Groove Radar mix].

I think that comes from a general theory that I believe to be true in explosiveness demanding sports: strength comes first and accuracy follows. Strength and accuracy is the eternal dilemma in sporting and improving one will inevitably sacrifice another expert for those chosen geniuses. Now you are an ordinary player and you have to decide which is more important to be focused and I will definitely go for strength.

Since we are not talking about pure fitness that puts excessive muscles into no use, we can generally say that greater strength allows stronger explosiveness and hence a larger margin for flexibility. That means you can sacrifice your strength [speed] to gain higher accuracy [firmer stepping that gives higher accuracy]. And more importantly you have the stamina to keep your performance and strength to fix your mistakes whenever necessary. It does not work the other way round however. Stamina and strength is the correcting factor while you do not get either if you focused on accuracy only.

It's not surprising to find players who can often pass 15-16s focused on steamrolling 12s regularly and never gain the ability to clear high 16 or 17s. Strength based players however, managed to raise their accuracy naturally by adopting their ways of advanced maps onto easier maps that are more stable and more easily corrected. Wind Fairy is a good example: it's a very simple Lv15 but with some serious 1/3 streams. There's even a vertical stream at the last which is extremely hard for Lv15 newcomers. Higher players however, can apply the dense jumping skill they gained by playing maps like MAX period or London Evolved [I hate this thing so much] so get it passed.

This theory is general in the sense that it applies to more sports other than DDR - and baseball is my favourite example. While weaker CPBL pitchers are still trying to pitch slower in order to pitch into the zone, MLB is exhibiting why the other way round is the correct way to grow a prospect: throw hard, throw fast. That's your true potential and you should try your best to grind the best out of it.

So that's my little thoughts on how to get better when you play these games/sports. I'm not saying that keep on AAA 12s are bad, nor that people have to do it in that way to be good. There are all different kinds of players in the world and there are millions of optimized way to improve the skills -- but I will keep my way playing DDR while enjoying all the songs you get there.

Statistics, mid 2018:
409 credits accumulated since DDR A
20 credits per week
Clear attack: 14~15-[2016] → 15+~16[2017] → 17~18-[2018]
AA Attack: 11~13-[2016] → 14~15-[2017] → 15~16[2018]
Lv 16: 29 Cleared / 4AA
Lv 17: 25 Cleared / 10A
Lv 18: 3 Cleared

Tuesday, 22 May 2018

10 years of Osu! 雜談(2) - pp篇

寫雜談~遊戲篇時突然想把一個問題單獨拿出來寫一篇:到底pp系統是好是壞?雖然作為分數時代#1引入pp系統我一定是受害者,不過都退隱了再追究排名的話實在有點無聊。不得不承認,pp系統比起單純ranked score更能準確反映實力。

這個系統大部分設計都沒問題:當然要弄一個star rating才能計算那張圖比較難,打難圖當然比易圖更能反映高層次的實力;二次方收斂的速度也沒問題,大概pp排位前20才對整體pp有較大的影響力,跟同期頂級圖包的數量也算吻合。

我最在意的是,SS所給予的pp會比非SS高一大截--以連續性來看這無疑是不合理的,但將統計模型套進去則可以得到一個更有趣的答案。

先把問題簡化為SS跟1 100 2種結果好了。我們將圖的難度跟玩家程度配對,假設每一個note的誤差都呈正態分佈$X\sim N(0, \sigma ^2)$。我想看到底標準差$\sigma$要到多少,拿到SS的機會才會比1 100更高?這個問題可以看成likeihood estimator的簡化版,利用標準差選出較大可能的結果。定義$p,q$為拿到300, 100的機會:

$p = P(|Z|\leq \theta _{300}/\sigma )$

$q = P(|Z|\leq \theta _{100}/\sigma )$

二次分佈可得 $P(SS) = p^n, ~P(1\times 100) = np^{n-1}(q-p)$

可得比例為 $LR(\sigma) = \frac{p}{n(q-p)}$。留意右方為homogeneous polynomial,所以我們可以用$p/q$對應$\sigma$。嫌太複雜的話可以考慮$n=500, OD=8$的狀況:

$\theta_{300} = 31.5, \theta_{100} = 75.5, n=500$

$LR(\sigma) = \frac{p}{500(q-p)} = 1 \Rightarrow \frac{p}{q} = \frac{500}{501}$

不難證明$\sigma \mapsto \frac{p}{q}$為單調函數,所以用電腦做二分法即可得到$\sigma \approx 10.1ms$。Unstable rate = 101是甚麼概念?大概就是4.5*上下的跳圖很難達到,串圖很好達到的準確率。這個數字正好證實了我的看法:擁有可以制霸某一層級的譜面的實力時,能否SS還是打出一兩個100只是機率問題,並無實力高下之分。

那麼打出一堆100機率又怎樣算呢?當$k \ll n$時
$P(r\times 100, 1\leq r\leq k) = \sum _{r=1}^k C^n_rp^{n-r} q^r \approx \sum n^r p^{n-r}q^r = p^{n-1}n(q-p)\frac{p^k-n^k(q-p)^k}{p^k-np^{k-1}(q-p)}$

誠然$C^n_r\approx n^r$是一個很粗的估算,但我們放大這個機率時所得$\sigma$的臨界點會向下,這樣我們仍然能拿到一個有效的下限:

$LR(\sigma) = \frac{p}{n(q-p)}\frac{p^k-np^{k-1}(q-p)}{p^k-n^k(q-p)^k}$

設$LR(\sigma) = 1$再化簡後神奇地得出以下等式:

$n^{k+1}(q-p)^{k+1} -2np^k (q-p)+p^{k+1} = 0$

當$k=1$時上式化簡為$(n(q-p)-p)^2 = 0$跟我們上面計算一樣,但當$n\geq 2$時上式則可以給予$\sigma$的下限值。上式除以$q^{k+1}$再將$x = p/q$代入後可得

$f(x) = n^{k+1}(1-x)^{k+1}-2nx^k(1-x)+x^{k+1} = 0$

看似複雜的等式其實有非常漂亮的解--首先對於所有$k$我們都能拿到一個實根$x_1 = \frac{n}{n+1}$:

$f(\frac{n}{n+1}) = n^{k+1}(\frac{1}{n+1})^{k+1} -2n(\frac{n}{n+1})^{k}(\frac{1}{n+1}) + (\frac{n}{n+1})^{k+1} = 0$

然後第二個實根約為$x_2 \approx \frac{2n}{2n+1}$而且$\lim _{k\to \infty}x_{2,k} = \frac{2n}{2n+1}$[雖然因為$k\ll n$這個並沒多大意義]:

$f(\frac{2n}{2n+1})=(\frac{n}{2n+1})^{k+1}-2n(\frac{2n}{2n+1})^{k}(\frac{1}{2n+1}) + (\frac{2n}{2n+1})^{k+1} < 2^{-k-1} \to 0$

計算$f'(x)$易得以上就是$x\in [0,1]$區間所有的實根了[然後還有$k-1$個在1附近的複根,k為偶數時會在$2-x_1$附近有第三個實根]。這跟上面$k=1$的結論一致:只要達到某個準確度,打出SS跟打出幾個100的差距並不大。

不妨看一下$n=700$的情況




留意$\frac{700}{701} \approx 0.99857, \frac{1400}{1401} \approx 0.999286$,當$k=7$時$x_2 \approx 0.999283$。來到這裡我們可以直接計算$n\mapsto \sigma$:


可得$\sigma \approx 31.12(-\log (1-\frac{p}{q}))^{-0.605}$,代入$\frac{p}{q} = 1-(dn+1)^{-1}$ ($d =1,2$)得到$\sigma \approx 31.12 (\log (dn+1))^{-0.605}$。巧合的是31.12這數字跟OD8的$\theta _{300}  = 31.5$非常接近。更神奇的是這對其他OD值也同樣成立:

$\sigma = (\theta _{300} - 0.4)(\log (dn+1))^{-0.605}$

回到OD8這個預設值,以主流長圖頂多1500combo上下來說unstable rate在100上下剛好夠用[如果取第二實根$x_2 = 1-(2n+1)^{-1}$則unstable rate需要在90上下]。這也跟主流SS紀錄的unstable rate相近[我是拿我2012年的圖出來看就是了...]。

上面的模型假設了每個note的誤差是一樣的,在實作當然不一定為真。引入數個不同的標準差$\sigma _1,..., \sigma _n$再計算二次分佈也可以得出相近的結果。另一個做法是將一個難的note看成若干($j$)個「標準」的note且假設在$k\ll n$時我們在這$j$個notes裡面頂多會打出一個100,那這個note的誤差標準差將為$\sigma ' = sd(jX) = j \sigma$。這個方法的缺點是只能考慮每個note的誤差標準差為$\sigma$的整數倍,不過將所有notes一起剁碎考慮就沒問題了呢。

TL;DR SS所給予的PP獎勵在連續性和數據上毫無意義,夠準的話SS就自然會出來 佛系SS

當然上面說了一大堆只是因為這邊有計算的空間,但更多的爭議點是在各種mod的PP加成,或者更一般來說pp系統算出來難的的圖是否真的難,打出高pp的玩家是否比低pp的人更強?這才是當初沒法量化的東西,也是設計pp系統的初衷。

我的看法會是偏向用大數據用玩家表現反饋譜面難度,因為玩家打不好是結果上的難,肯定比理論上的難更為直觀和準確。這樣做還有一個好處就是不用一直修--最近Osu才將不同mod的pp加成修過一次,但用結果論去看就不用進行人手調整了。即使公式當下是準確的,玩家的難所還是會隨時間/科技[例如從滑鼠改成繪版,從60Hz屏幕改成144Hz]改變,只有利用玩家數據自動調整有才辦法隨時反映出真正難的譜面和打到難譜面的玩家。

上面說到了一個重點:Osu最近才修過一次加成比重--修改的源頭是Sotarks也好,不是Sotarks也好都顯示出pp系統的問題:有公式就有法子濫用,結果就是大家為了pp被逼打性質單一的譜面。先不說濫用機制的人是不是智障,在部分玩家有pp的需求下供應跟上是遲早發生的事情。比較糟糕的是現在事情變得一發不可收拾:頂級玩家的小圈子從來不太在乎排名更迭,這下直接表示不玩了;剩下一堆中產玩家望著那虛偽的pp值死命衝刺,osu這個圈子似乎喪失了往日的創意和活力。

不過退一百步來說,有個完美準確的實力估算系統又如何呢?只要指標一天還在,主流玩家就會變成實力導向,非實力相關的譜面始終還是難以抬頭。要我說的話還不如回歸分數系統,實力指標乾脆不做也好,反正場外的人會自己做一個。就算想做官方實力指標也不應該放在當眼位置,最好跟排名剝離一下:只有當官方將遊戲樂趣定位在硬實力以外的東西,這遊戲才有辦法吸引各種不同的玩家,才有辦法多元化發展下去。

本來遊戲篇想說一下這幾年遊戲管理的危與機,不過眼下的Osu也沒過得有多好,所以那篇就留到我10+n年紀念時再發出來吧。[另外我好像已經寫不出很中文的中文了...]

wmfchris
21/5/2018 [剛好十年又兩個月]

Saturday, 28 April 2018

10 years of Osu! 雜談(1) - 個人篇



九龍灣地鐵站,B出口。其實到現在大家都記不清那是B出口還是C出口,只知道大堂的另一邊是A出口,所以大家都管叫它CBB出口。不過它還有另一個好認的特徵,那就是長年不變的批&撻專門店。所以大家說CBB出口等時還會說在批&撻對面等。

所以我今天來這邊到到底要做甚麼呢?德福商場跟那些領匯改裝過的商場一樣走高檔路線,裡面除了不怎樣大的商務印書局和不怎樣好吃的甜點店之外其實沒有甚麼好逛的地方。唯一的例外,二期頂樓的機舖Virtual Zone從認識到消失也只有短短三年時間而已。伴隨著VZ一併消失的,還有旁邊的冒險樂園這個小朋友最後的淨土。

牛奶撻早就從$6漲到$9,那堆用料比較豐富的批的價錢更是一律雙位數。$6在另一邊A出口某包子店剛好可以買個新鮮出籠的芋頭包,所以這家批&撻的生意似乎也沒以前好了。不過我想了想還是點了一個牛奶撻,在這種咋暖還寒的春日拿來做下午茶實在再好不過了。極速把牛奶撻清進胃裡,我就趁這個空檔拿出耳機,在手機上打起Groove Coaster來。

十年前智慧型手機還只是剛冒出頭來,在軟硬體雙重限制下實在不可能有甚麼遊戲能搬到手機上,音遊的話只有十分粗糙的osu專用app,osu太鼓專用的t!aiko和超級山寨版jubeat而已。十年過去,商業性質的精美音遊早就遍地開花,連本來做街機的廠商也要盤算著反攻手機市場,Taito出品的這個Groove Coaster就是很好的例子。當然,如果說街機移到手遊上的話我最期待的還是Beatstream,好可惜啊。真他媽的可惜啊……FYK。

咦……?我剛才說等人?

我以前的確經常在這邊等人。那是每年春秋二祭……啊不對,每年兩次的CW同人展,再加上RG的話大概每年有三四次這樣。我們每次都相約在這裡集合,上去美心MX吃個早/午餐,然後向九展出發。現在所謂兩大同人展都因為不同原因衰落,同人圈子不是跑去更小眾的場地,就乾脆跑到台灣FF或者日本Comiket去了。

正好打Groove Coaster打到手酸(不得不說,狂點屏幕真的會很累),我抬起頭看剛好有三四個人正圍在一起打jubeat plus。該不會他們就是我要去找的人……?我這樣想著湊了過去。

「俄羅斯雪舞在平板上打真的好累。」
「在平板上沒辦法滑呀。不過習慣了平板打法可以逆向輸出呢。」
「我還是打rb算了……」
「所以我們還要等誰啊……?」
「主角還沒到呢,來慶祝的人還有幾個。」
他們其中一個人發現了我:「你也是Osu玩家吧?是來慶祝wmf註冊十週年的吧?」

我……十週年……?「我……就是本人啊……」

-------------------------------------------------------

好吧,我編不下去了。說編也不太準確,因為同人展和九龍灣對我來說幾乎可以跟osu畫上等號。自己的帳號十週年了,大概也是華人活躍圈子第一個,怎也要寫點東西紀念一下。

關於我

人生有幾多個十年?我現在的人生過了兩個多一點的十年,而其中一個十年塗滿了Osu的印記,如果說人生沒受到影響那是不可能的。趁這個機會我就在這邊數一下自己的改變。

首先當然是對音樂的理解。在接觸Osu!之前我對音遊也有一定興趣,以太鼓-太鼓同人為主,但在web1.0世代下始終沒有一個整合的平台,我終究還是沒有深入鑽研類似的遊戲,直到DS遊戲應援團的出現,然後便是這個惡名昭彰的Osu!。

在機廳看人玩跳DDR,明明是白癡一樣的Level 4也跳得東歪西倒,苦撐半首歌之後還是failed的情況時有發生,現在的我可能難以理解,卻沒想到十幾年前的我其實也差不多:太鼓夏祭勉強過、應援團幾乎沒S過……在接觸了Osu以後有了刷分的需要,每首歌只能聽個一兩次下如何快速掌握一首歌就很重要,不是依靠反應而是用理解去打音遊。現在的我可能在這方面可能做過了頭:每次恍神就會自動按自己的理解打下去,然後理所當然的打得亂七八糟。

做圖對音樂的理解度當然又比做圖深了一層。我很享受那種用耳機loop三千遍抽絲剝繭將自己的看法寫出來(Holy Moon, Dreamenddischarger, それは花火のような恋)或者那種觸景生情的作品(Babylonia 我有說過我是淋雪寫出來的嗎?)。雖然在13-16這幾年在忙別的遊戲把做圖放下了,不過去年又回來做了2張,希望今年也能繼續做下去。

我自己一向跟別人說現代線上遊戲,享受玩樂只是次要,認識到志同道合的朋友才是更重要的事。Osu在社交性上比我主力玩過的其他遊戲都要強:除了遊戲內IRC跟論壇的雙平台外,遊戲會半強逼做圖的圈子進行交流。輕鬆聊天也好,正經討論規則也好,因為mod而打架也好,經常交流的人才有可能成為自己的好友。在本地我們有沙包群HKOSP不在話下,在CWRG衰落前幾乎都是指定的聚會日子(所以九龍灣那個鳥不拉屎的工業區都快被我們走到熟了);外地的話在台大打麻將、在涉谷唱K、在倫敦的同人展上……類似的異地交流幾乎數不完。當中不乏有更多共同興趣的朋友,但對我來說每個可以交流的都能算做朋友了呢。

*

上次總結寫的是我玩滿四年的時候,正好是我上BAT後不久、卻大概也是投入Osu時間逐漸減少的時間。要歸根究抵的話大概就是TWC發生的一連串不愉快事件跟上mod圖的無力感,再加上2012下半年推出的Fantasica把我能肝的時間都搶走了吧。這六年我的Osu帳號當然沒前四年精彩,不過免不了還是要在這邊細數一下:

2012-13:偶有佳作,但作圖有種劍走偏鋒的感覺。鋼琴獨奏連打變成了我的標記。有效果好的(Ubertreffen - 這首DDR也不容易;Faith is for the transient people - 早苗就是棒)也有效果一般的(加速する恋は誰も止められない - 也不是說差,但就不像是最佳解,跟前面比起來轉變太急了)。比較遺憾的是我的超大型企劃Touhou Last Boss Rush最後還是沒能成事。

2014-2016:完全是空窗期。地城、黑貓(英文)、日麻加上其他手遊把我的遊戲時間全佔去了。

2017- :機緣巧合下我透過discord又回到比較活躍的osu圈子裡,然後在2017年也做了兩張圖:Sakurairo Dairy 會接這張不消多說當然因為對路人女主的愛,穩穩地做一張TV size Muzu對我也是小事一椿。それは花火のような恋 女裝是萬惡之源 又是Beatstream(啊啊啊Konmai還我BS)又是Prim(或者senya或者moimoi或者...)豈有不接的道理呢?比較有趣的是我、nardo跟aabc三位對歌曲的解讀完全不同:可能我過度loop導致對自己理解太過深刻,我幾乎打了他們的圖10次以上才開始習慣他們的圖……



這邊帶出了一個有趣的事實:在音游的領域上不論是做圖或者打圖我都是用感性行事。做圖當然沒問題,出了問題也可以在mod的過程中補正;打圖一直過份依賴自己的理解大概是我沒法取得高命中率的原因?在osu如是,在jubeat更如是(當然也有自己手勢過於花巧有關),DDR也是。即便將動作修正幅度變小,我也只有在專心數拍子時才能取得98以上的分數;在其他時候隨性的數拍子則總有跑掉的時候。不知道我繼續把DDR練下去這方面會不會修回去,修回去又會是好事還是壞事呢?我可沒興趣知道--打音遊只要享受過程就好了。

*

本回主要是Osu在我身上發生的事,下回我們會來回顧一下這六/十年Osu或者相關遊戲的發展。