2018年7月14日 星期六

180715 – 【翻譯文稿】IIDX輸入延遲與判定調整相關 by Velius


※本文由Velius撰寫,部份內容由於無法用正當途徑檢證,或牽涉不宜公開的資訊,故在翻譯時故意省略。

本篇會說明輸入延遲的概念,輸入延遲的效應,以及如何用判定調整來適應各種硬體組合的。本篇不會說明如何抓準,或是如何提升準度,外間有非常多文章可以參考。本篇假設讀者已經有節奏遊戲判定的基本認識。筆者盡量客觀表達研究結果,不依據個人經驗和個別例子。如果有的話,筆者會加註說明。

什麼是輸入延遲?

根據displaylag.com的說明(筆者強烈建議一讀),輸入延遲是從控制器輸入指令開始,到螢幕上出現回饋之間的延遲。

FPS玩家來說,很小的延遲已經是爆對方頭或是被對方爆頭的差別。對格鬥遊戲玩家來說,可能是使出關鍵的大絕跟格擋對方混合技的差別。

BEMANI遊戲就有點不一樣,不單純是愈少延遲愈好。BEMANI遊戲通常都會以接近60fps運行,視乎開機時偵測出來並鎖定的FPS值而定。如果開發人員把一首樂曲以5f的輸入延遲作校準,而輸入延遲被下調至3f,那麼要抓準就得延遲2f輸入,有種「晚判」的錯覺。相對的,如果輸入延遲比預期的多,就會有「早判」的錯覺。這些都預設沒有聲音延遲。

筆者認為這是音訊同步的問題,而社群上的普遍做法,都不去分辨哪些是輸入延遲或音訊延遲的結果。不論音訊同步是早是遲,視覺上打擊note的位置應該都是一樣的。

輸入延遲測試:

過程:使用一台60fps的相機,並把鏡頭調整至控制器的LED燈與遊戲畫面都感在同一幀內顯示。當LED燈完全亮起時,開始計時,測量遊戲處理輸入訊號,至畫面上按鍵燈出現反饋的第一幀所需要的幀數。

為了更精確表達結果,1f基本上不可能出現(LED燈完全亮起的時間跟按鍵燈出現反饋的時間一樣),2f基本上完美,3-5f可以算是動作/格鬥遊戲可接受的標準(像大亂鬥、街霸4)。

結果:
IIDX Cannon Ballers Tricoro Cabinet (R1 SSM): 4 frames
IIDX Sinobuz Spada Cabinet (Hyper Gamer, Max Game Center Taipei): 5 frames
IIDX Sinobuz Distorted Cabinet DJT Monitor (Hyper Gamer): 5 frames
IIDX Sinobuz Spada Cabinet Machine Number 5 (Shinjuku Taito Station AKA Mitsuba’s Cab): 6 frames
IIDX Sinobuz SD Cabinet (Neo Amusement Tower in Akihabara): 4 frames
IIDX Sinobuz Uniana Cabinet Modded With DDR Uniana Screen (Amusetown in Seoul): 5 frames
IIDX Copula Tricoro Cabinet (R1 SSM): 5 frames
IIDX Copula Uniana Cabinet (WOORIGAME2): 7 frames (There are many variants of uniana cabinets that have 6-7 frames of lag. Too exhaustive to list)
IIDX RED PS2 (DAO FPS 2012 hooked up to a Sony PVM via RGB-S): 5 frames
IIDX Empress PS2 (DAO FPS 2012 hooked up to a Sony PVM via RGB-S): 3 frames
LR2HD (DAO FPS 2012 using USB input, Windows 7, ATI HD 4800, ASUS VW246H): 2 frames *
*LR2HD在筆者的設備上跑超過1100FPS,但因為螢幕只跑60Hz,顯示也只有60fps。這很可能表示遊戲本身取得輸入訊號的頻率遠高於其他60fps的遊戲。也所以PC FPS玩家會希望他們的遊戲有更高的FPS值。這不是代表他們可以分辨60fps200+fps,但這代表了遊戲本身以更高頻率取得輸入訊號並處理。LR2HD的判定系統是以毫秒計算,而不是IIDX的以幀數計算,所以這個比較不一定精確,但可以讓讀者有個概念知道,為何設備上的反饋本應該非常靈敏,卻在玩IIDX時變得很不靈敏。

(※譯註:簡單來說,武昌DJT框,武昌與天台的SPADA框,在SPADA時輸入延遲都是5f。下文另外有說明CB輸入延遲有減少1f,所以現今的延遲應該都是4f。)

另外,筆者必需強調結果因設備組合而異。這在IIDX裡是一個非常新鮮的讚題,而在120fps相機的測試下,不同設備組合的延遲會否給出不同的數值,也是未知之數。這裡僅表示筆者測試的數值和按照這些結果的演示。

1/22更新:有理論指出由於在CB這代有IO基板或OS的更新,基板的輸入延遲減少了1f。筆者只測試了附近的Tricoro框,暫時還沒有機會測試其他組合。

要不要在紅線上按?

如果讀者有看上面的說明,應該知道遊戲不太可能在按下的那一瞬間處理對到紅線那瞬間的按鍵輸入。事實上,在筆者測試過的CS代數,有發現RED5f的輸入延遲,而Empress則有3f。所以如果玩家想打出PGreat的話,他必需在note到達紅線之前的3-5f(視代數而異)按下按鍵。

Tricoro以後的代數,判定的邏輯有被修改:之前PGreat的判定區間在紅線上,而玩家必需強制調整體感去適應輸入延遲;Tricoro以後,在判定+-0的狀態,PGreat的區間被延遲到紅線的3-4f以下。有個例外:如果被設定是SD模式的話是2-3fHD*模式的話是4-5f

可以看出,開發人員在設計Tricoro框的時候,是有注意到輸入延遲這一塊的。輸入延遲共有5fCB4f),而LED燈在note與判定線重疊時完全亮起,遊戲在note到達紅線後的3f回饋PGreat判定。開發人員甚至在Tricoro那一代微調了綠數字的算法,以配合新的PGreat判定區間。在更舊代數,白字455 HS1.5 BPM155的環起下綠數字是290,而在Tricoro後綠數字變成292

以下進一步證明,開發人員確實有留意到輸入延遲會影響遊戲體驗。他們會按照遊戲設定是SDHD*模式,視覺上調整PGreat的判定區間。筆者測試SD設定的輸入延遲是4fCB前),所以開發人員會把0.0調整為+1.0,或紅線往下2-3fHD*模式是為Pendual新框而設計,螢幕變大,欠掃瞄,再弄一個較大的外框以遮蓋螢幕沒用到的部份。它們的0.0被調整成-1.0或是紅線下4-5f

那麼韓國Uniana框呢?筆者聽說這種框也有好幾種組合,所以無法斷言它們的表現。以LICHT曾經玩過的某個特定組合而言,則是7f。他在紅線前4f輸入,紅線下3f得出PGreat判定。因此筆者判斷他的判定調整下很接近0,以下有另文說明。

由此我們可以發現,輸入延遲很大程度影響了玩家該在note到達螢幕的什麼位置開始打鍵。他不只提早更多打鍵,爆發更好像延遲出現了(因為輸入延遲是7f而不是5f)。至於這組框體組合跟官方框體組合的音訊延遲差異,則暫時無法作準確測試,只能訴諸玩家體感。但這也可能代表,音訊延遲加上增加了的輸入延遲,玩家在韓框輸入可能要比Tricoro框提早更多。

調整判定

這很可能是在IIDX裡最廣泛被誤會的功能。這個功能從Tricoro開始被導入,玩家可以視覺上調整note的位置。同時在Tricoro被導入的新系統,是紅線以下也可以算出判定,尤其是PGreat的判定區間是在note通過紅線後的3-4f位置。

也因此,開發人員很隱約的改變了這款遊戲。很多CS玩家在這個過渡期顯得很掙扎,不知道發生什麼事而在樂曲與樂曲之間不停調整判定,也有些是聽取高手玩家的意見,套用他們的設定就沒想太多。基礎認知是,如果打太早的話就把判定往後調(+),打太晚的話就往前調(-),但大部份玩家都不知道實際上遊戲是怎麼處理的。

筆者無意說服讀者使用某單一設定,只希望讀者身為玩家,會更清楚了解自己在哪裡輸入note,為何會得到現在的分數,和為什麼得不到預期的分數。筆者認為,玩家若果更了解判定系統和遊戲的操作,會更容易取得更好的成績。

首先筆者希望說明一件事:判定調整跟音訊同步和note的位置沒有任何關連。換句話說,即使兩位玩家用完全不同的判定調整設定,他們必需在完全相同的時間按下按鍵。判定調整不是音訊延遲或同步問題的萬靈丹,它只是一個視覺指標。

判定調整系統裡,有從-5+5,間隔為0.1的設定。+方向會讓note更遲出現,而-則讓note更早出現。相應地,遊戲會把判定區間往相應的方向移動,以彌補這個位置更動。

這個理論無法在此有條理地說明,把證據貼在這裡的話筆者可能會被某單位找上門,信則有之,想了解更多的話可以聯絡筆者。

判定調整數值每增加1note的位置就會往前或後移動1f。例如如果筆者用-1設定的話,PGreat的判定區間會在紅線後的4-5f。反而如果設定是+1PGreat的判定區間就會在紅線後的2-3f

筆者提供一個CS玩家很喜歡的設定:+3。在這個設定下PGreat的判定範圍就會是剛好在紅線上,而爆發也會剛好在紅線上而不是紅線下3-4f。如果想追求最貼近CS的體驗,這應該是視覺上最合適的設定。可是,視乎硬體組合的輸入延遲,這不一定絕對正確。

至於小數點單位的調整的效果則仍然不確定。在HS15.1.1(N)的時候,筆者發現+0+0.1之下note的位置沒有差別。可能是因為遊戲在1297x737的環境下進几,而每顆note的長度是8個像素,所以只能在那些像素下反映變化。在HS4的時候,+0+0.1之間剛好相差1像素,但這只針對這首樂曲。

把這個調整想成是固定像素的位移也不是很實用的方式。筆者以5.1.1(N)Chrono Dive Fragments(N)作相同測試,即使HS一樣,因為BPM不一樣所以移動的像數量也不一樣。但在+3的情況下有相同的情形出現。

觀察所得,判定調整值造成的視覺變動,是受HSBPM影響的。可以想像成以百份比計算的幀數,而在這個情況下,0.1代表一幀的1/10

哪個判定調整值是正確的?

沒有所謂「正確」的判定調整值。這完全視乎玩家本身的喜好。可是,玩家所使用的判定調整值和框體的硬體組合,能夠透露玩家的一些遊玩資訊。

較常玩日本Tricoro框,且不太使用判定調整的玩家,通常代表玩家習慣看到note在紅線上時作打擊。判定調整幅度比較多的玩家,很可能代表他是CS玩家,習慣在note到達紅線前數幀開始打擊。

理論上,如果玩家知道輸入延遲有多少的話,這個功能可以用來模擬部份CS的判定環境。玩家可以利用判定調整以減少遊玩不同硬體組合時,輸入延遲所造成的影響。例如,習慣在紅線上打擊的玩家,如果遇到4f以上延遲的硬體組合,就需要用-方向的調整;反之如果是習慣在紅線前幾幀打擊的話,可能就不需要作調整了或是只需要微調。理論上,習慣在紅線上打擊的玩家,如果遇到4f以下輸入延遲的組合的話,很可能會需要往延遲(+)調整;而習慣在紅線之前打擊的玩家就需要更大幅度的調整。這些是筆者想像到的幾個例子,留給各位讀者思考其他可能性。

要剛好在紅線上打擊,還是參考CS設定在紅線前幾幀打擊,完全是玩家的自由。重點是理解不同硬體組合的輸入延遲,會如何影響玩家的遊玩體驗,或是如果某天狀態不好的時候,有助分析該在哪個位置抓判定。

再次提醒,判定調整不是萬靈丹,而判定狀況會受其他因素影響,例如不穩定的輸入延遲、音訊問號、掉幀等,甚至單純的狀態沒有好好發揮。

在各位因為某首歌打出很多FAST而調整判定之前,先確認一下自己打擊note的位置和該打擊的位置吧。

我沒有像60fps相機那種高科技器材,該怎麼測試輸入延遲?

AC上應該很好測試。先設定調整判定值為0,打開FAST/SLOW顯示,隨便挑一首歌,最好是簡單的NORMAL譜面。盡量在note剛好在紅線上的時候打擊(剛好或是紅線後1f,在輸入延遲為4f的狀況下應該會出PGreat)。若果一直打出SLOW,那麼輸入延遲很可能多於4f。若果一直打出FAST,那麼輸入延遲可能少於4f,但這不太可能(若果有的話請聯絡筆者)。想繼續測試的話,可以把判定調整值-1.0再測試,直至在判定線上剛好打出PGreat為止。

CRT螢幕上打CS的話應該不會有什麼問題。不然的話,可以到displaylag.org看看在使用的螢幕是延遲多少,希望有人測試過那個螢幕。

注意,以上調整值不適用於CS。筆者沒有測試過CS上的判定調整值邏輯。

我也想做相似的測試,我需要什麼?

如果讀者也想使用60FPS影片來做驗證的話,兩年以內生產的智慧型手機應該都有這個功能。檢查手機的硬體規格,確定它是真的60fps而且不會重複畫幀。

如果想要更高規格的測試,筆者建議用高速攝影機,如Casio Exilim ZR-850。請先詳閱Displaylag網站上的說明,參考其他人的測試方式。

在電腦上檢證時,筆者使用MPC-H。暫停影片然後按ctrl+→會讓影片前進一幀。留意沒有往前一幀的熱鍵,請慢慢操控。

如果讀者手邊沒有附LED燈的控制器,筆者建議用DJ DAO控制器測試,方便簡單。

測試後發現我的設定上有輸入延遲。我該怎麼做?

CS環境裡,買個CRT螢幕就可以解決。到Craigslist網站上看一下,買一台便宜的Sony Wega。這比強求一台低延遲LCD來得簡單。

控制器相關的話,盡量避免使用PS2USB轉插,因為普遍都會有不穩定的輸入延遲。比較好的PS2USB轉頭(Radioshack、三和JYPSUAD-11)已經停產,也很難在市場上找到。如果讀者是最近買入的DAO控制器,DAO USB PCB的表現不錯,但有回報表示它們相對Arcin板會有點延遲。筆者沒有在Arcin板上玩過,也沒有認識用Arcin板的玩家,所以無法判斷。

你這篇文法錯得離譜。

筆者在半夜一點寫這篇。放過筆者。
(※譯者在半夜3點譯這篇。放過譯者。)

長話短說的話?

IIDX CS視乎版本,在CRT螢幕上有大約3-5f的延遲。AC視乎不同環境,筆者有測出4-7f的延遲。
Tricoro以後的版本,PGreat的判定範圍有被拉到紅線下的3-4f,相對地CSPGreat判定是剛好在紅線上。
‧判定調整系統會以幀數為單位,以相同方向移動notePGreat判定範圍。0.1代表大約1/10幀,1代表1幀。

特別感謝:

Displaylag.com網主Fourwude啟發筆者有關輸入延遲的概念。強烈建議閱讀此網站,認識更多跟螢幕延遲相關的資訊。
Darqs向筆者解釋判定調整不會影響樂曲同步。
BeatsGO借控制器給筆者作測試和協助攝影。
LICHTYU M60fps youtube韓框達人影片。

文章:Velius
翻譯:RAMENBOT (11123456789.blogspot.com)