大家好~我是小鶯鶯哈哈哈,最近半年變成打RTA的去了,完全忘了我的初心是做個taser,好幾個月沒更新tas視訊了,這幾天考慮找個改版做來著(其實我的exile他喵的現在還才重做了一半),反正就先找個時間更新下~
就著這一次機會我就順便講解一下關於tas的一個小知識,畢竟國內做元祖洛克人tas的人很少,作品也不多,很多技術國內taser還是不瞭解(包括我會的也不多),而且因為tas官網都是英文,很多人看見就不想去研究了。目前我是沒有接觸過國內有對延遲滾動有研究的大佬,也沒見過(除了一崔),所以我就身先士卒分享一下自己知道的那麼一丟丟原理,嘻嘻(我講解的相關資料全部來源於tasvideos)
關於延遲滾動(delay scroll)也許很多喜歡洛克人的粉絲都不太瞭解,畢竟這個BUG有一個自己的專有名詞,你也可以叫他延遲卷軸,這個BUG僅限於FC洛克人2,可以說是2代的一項特色了,並且最常見的操作莫過於空氣人關的滾動,如圖 GIF
延遲滾動-向右類似於上圖的操作,通過延遲滾動使洛克人從原本應該往下走才能過版變為傳送至下一個版面。像這個圖所示例的就是通過向右滾動將洛克人的位置調整到下一版面的左下角,節省了原本落下還要走到左邊的時間。
那麼,延遲滾動的原理是什麼呢,它是通過遊戲造成延遲使遊戲資料發生錯亂導致滾動版面發生改變,詳細我肯定說不清楚,反正看得懂是換了不同的版面,看起來很叼就完了。(最通俗的一個說法就是1代和2代都有一個相同的東西,就是版面的上下以及左右是相通的,所以在程式碼發生錯亂的時候它是有很大的可能性使版面向上、下、右出現滾動)在開始之前我先放幾張這三種滾動實現的圖
GIF
延遲滾動-向下
GIF
延遲滾動-向下
GIF
延遲滾動-向上
GIF
延遲滾動-向上
GIF
延遲滾動-向右以上就是舉例,通常的延遲滾動的操作就是像這樣。
好的,接下來我們回到正題,為了在製作tas的過程中讓延遲滾動變得相對更加容易,節省精力,shinryuu和finalfighter兩位大佬編寫了一個延遲滾動的跟蹤指令碼,這個指令碼能在除錯的過程中更快的找到發生滾動的範圍。我將這個指令碼放到下面的連結,如果你想製作洛克人2的tas並且想讓通關看起來魔幻一點,延遲滾動就是你最佳的選擇,一定得搞!
https://share.weiyun.com/HXQsCf6V
當你開啟這個指令碼的時候,它有顯示以下內容:
XY:座標,X是洛克人前進的速度,Y則是下落的速度,這個很好理解哈
PRENMI:這個我解釋不清楚哈哈哈你只需記住它所需要的範圍,因為我還在學習,只能提供最基本的使用方法,關於量是多少我後面會講到
MAIN:主程式處理量
TOTAL:為PRENMI+MAIN的總值。當延遲滾動能夠成功的時候,total的值略小於9000
PRESCRL:當total值越大,prescrl的值越小。當它的值為4-13的時候,在滾動之前搞出延遲延遲滾動就能成啦(當然,個別改版會因為音樂的問題改變滾動的範圍,但這個機率不太大,頭鐵一點多調幾次就完了),如果這一項顯示“-”的話就不能滾動
NEXTSCRL:total的值越大,這項的值就越小,這個next就比較明顯了,你完全可以理解為滾動到下一個版面,因為滿足這項的值的話,它會顯示一個true。它與prescrl原理一樣,值的範圍在4-13
$14SET:total的值越大,這項的值就越小。如果值為4-13的話可以通過聲音來調整延遲,同理顯示為“-”的話就無法改變
madSE:這一項滿足延遲滾動的條件值必須是1,它是調出延遲滾動的必要條件
RetSE:同上,為必要條件。這個值在<60的情況下是除錯的一個標準
SE:音訊的輸出值(這個嘛我覺得如果不是原版的特定條件就不太需要注意,但也有可能是我沒仔細研究這一項,它有概率會因為你在製作過程丟失幾幀或者方法錯誤的情況導致滾動總是不成功,目前我是沒有這個問題)
真折磨啊,這玩意實際沒多少但是描述起來真折磨嚶嚶嚶
延遲滾動發生的條件關於這個呢,我也在學習中,因為英語還是不太好,依靠機翻還是很多東西看不懂,我只能提供自己的看法,希望能幫助到想學習的taser。
當要實現延遲滾動的時候。X,Y兩軸還是有點講究的,你需要根據這兩項來調整上面我說的那些數值的範圍,如果不是向右的話,它的座標值不是固定的。
最簡單的方法:scrl的值需要除錯至4-13,前提SE的值這個必要條件一定要滿足。只要記住是1就完事了。而延遲死亡、改變延遲滾動的目標(例如向下滾動)所需要的就是將NMI的scrl值除錯到25-34,這一點我至今也有疑問,我在製作exile的向下滾動的時候,這個值甚至已經超過了34它還是成功了,不過超出的值並不高。
不同延遲滾動retSE所需要的值

那麼,如何調整這些數值以及處理量呢,很簡單,就是改變洛克人的動作。如你所見,幾乎所有延遲滾動發生的時候洛克人都是在螢幕裡放滿道具的。根據道具的數量能夠實現對處理量的增加,從而產生延遲,同時,你也可以通過在平臺邊緣進行左右走動產生聲音數值來增加處理量,以及在產生延遲的那一幀按選單鍵。在除錯延遲過程中按選單鍵能夠增加40處理量;還有可以通過打掉小怪刷出道具來增加處理量,最好的例子就是泡泡關BOSS門口那個向下滾動,在產生延遲滾動的過程shinryuu利用三發齒輪加上打掉2兩個小怪從而使處理量滿足滾動的條件。
延遲滾動技術說明表這個表我真是在剛學的時候是什麼結寶都看不懂,個別兩個我現在也不太明白,我先這裡給大家一個解釋,如果有興趣你們可以自己下去再瞭解一下,學會了別忘了教教我~
延遲滾動技術說明表當滾動後的版面與你想要的不一樣時,你需要增加大概40的處理量就能將滾動目標改變為滾動至下一個版面,當然了。成功的scrl值是肯定在60-10或是1-3的。
ε=(´ο`*)))唉我所知道的的也就這麼一小部分了,關於提前計算延遲滾動的範圍與提前計算會在多少幀成功我還在進一步的學習中。我很笨嗷,其實這個專欄更多也只是講了怎麼看這個指令碼,希望我講的這些能夠給想學習延遲滾動的taser們一點幫助!如果有講的不好的地方別噴我嗚嗚嗚,不明白的可以問問我,我會在自己能力範圍給你解釋滴~
(我所講解的內容都來自tasvideos,只不過我用了比較好懂點的方式講出來,不知道是不是真的好懂~是原創沒毛病吧?嘻嘻嘻)
如果覺得我講得不夠好想自己去了解一下的話,我把連結放到下面,要是你們哪位大佬學會了請別忘了教教我!(梅開二度提示)
https://gitlab.com/nekopc/tasbox/-/blob/master/screenshots/delayscrollchart.png
http://www.yuko2ch.net/rockman/howtodelayscroll.htm
http://www.yuko2ch.net/rockman/howtodelayscroll_eng.htm









