初代「ロックマン」の全ステージクリアTASが9年ぶり更新 新テクニック「ディレイFF任意オブジェクト生成」が猛威を振るう

製作者の1人、ピロ彦さんに更新のポイントをお話を聞きました。

» 2020年01月17日 08時30分 公開
[池谷勇人ねとらぼ]

 エミュレータなどのツールを使い、“理論上最速”クリアを目指す「TAS(Tool Assisted SpeedRun)」において、初代「ロックマン」のクリア記録が9年ぶりに更新されました。クリアタイムは「9分46秒73」で、従来の最速記録「12分23秒34」から、実に3分近く短縮することに成功しています。まだ更新できたのか……。



こちらはYouTube版


 大幅更新のポイントになったのは、アイスマンステージ、ガッツマンステージで使われている「ディレイFF任意オブジェクト生成(DelayObjectFFGlitch/DoubleObjectFFGlitch)」というテクニック。ものすごくざっくり説明すると、「特定のステージ中、ロックマンが通過すると目に見えない『0xFF』というオブジェクトが生成されるポイントがあり、このとき処理落ちなど複数のイレギュラーな条件が重なることで、通常出現しないマグネットビームを取得できたり、一瞬でステージをクリアしたりといった現象が引き起こされる」というもの。動画で見ると「何だかよく分からないうちに画面が止まり、いつのまにかステージをクリアしている」といった感じですが、とにかくこのテクニックによって、アイスマンステージ、ガッツマンステージの道中とボスを一気にショートカットすることに成功しています。


ロックマンTAS 最大の更新ポイントとなった、アイスマンステージでの「DelayObjectFFGlitch」

 製作者はShinryuuさん、ピロ彦さん、Maruさん、FinalFighterさんの4人(前回記録はShinryuuさん、FinalFighterさん制作)。編集部では動画を投稿していたピロ彦さん(@pirohiko)に代表して、今回の記録更新について聞きました。


更新のポイントになった「DelayObjectFFGlitch」

―― ものすごく基本的な質問で恐縮なのですが、今回使われている「ディレイFF任意オブジェクト生成(DelayObjectFFGlitch)」というテクニックについて簡単に説明いただけますか。

ピロ彦 ファミコンのCPUは$0000〜$FFFFの16bitのアドレス空間しか扱えないため、大容量ROMを扱う際に「バンク切り替え」という手法を用いているのですが、ロックマン1ではバンク切り替えのミスによって想定外のデータを参照してしまうことで「DelayObjectGlitch」「DelayObjectFFGlitch」「DoubleObjectFFGlitch」などのバグが発生します。

 通常、1フレーム(60分の1秒)ごとに「NMI」という割り込み処理が発生するのですが、画面中のオブジェクトを増やすなどして1フレーム中の処理量を重くすると、プログラムの途中で割り込みが発生し、処理が次のフレームに持ち越されます。このNMIが、新規オブジェクトを画面端に読み込むためにバンクを5から6に切り替えた直後に発生すると、NMIの終わりにバンクを5に戻してしまいオブジェクト情報を別の場所から取得してしまう「DelayObjectGlitch」が発生します(※)。

 大抵の場所では有用なオブジェクトは発生しませんが、ステージと位置によっては「ディレイステージクリア(0x75,0xF5)」などの有用なバグオブジェクトを呼び出すことが可能です。

※編注:DelayObjectGlitch……ざっくり説明すると、処理落ち(Delay)時にさらに特定の条件が複数重なることで、本来ありえないバグオブジェクトを生成できるテクニック。バグオブジェクトの中には「その場でステージをクリアしたことになる」などの現象を引き起こすものもあり、これ自体は前回の記録でも使われていた


ロックマンTAS 前回記録でも使われていた、ボンバーマンステージでの「DelayObjectGlitch」

―― 前回のTAS動画で、ボンバーマンステージなどを一瞬でクリアしていたのがこれ(DelayObjectGlitch)ですよね。今回、アイスマンステージとガッツマンステージで使われていた「DelayObjectFFGlitch」や「DoubleObjectFFGlitch」はこれとは違うのでしょうか。

ピロ彦 「DelayObjectFFGlitch」はプロセスは似ていますが、「オブジェクト0xFF」の処理中にNMIが発生した際にバンク2からオブジェクト情報を読み込もうとする現象です。このオブジェクト(0xFF)はアイスマンステージやガッツマンステージなどの特定地点を通過した時に読み込まれ、実体は生成されない代わりに、16フレーム分のカウンターが起動して不可視なオブジェクトとして毎フレーム仕事をします。

 このカウンター起動中にオブジェクト0xFFが再び読み込まれ処理が重なると、同様にバンク2から読み込みをしようとする「DoubleObjectFFGlitch」が発生することもあります。


ロックマンTAS アイスマンステージでの「0xFF」発生ポイント

 ステージによってはこのバンク2からオブジェクト情報を読み込んだ時に5番目のオブジェクトが読み込まれる位置だと、2Pコントローラーの入力に関連するメモリアドレスをオブジェクトIDとして読み込んでしまうので「任意オブジェクト生成」が可能になります。これは2つのコントローラーによって、ある程度任意の座標に生成することも可能です(※)。

※編注:DelayObjectFFGlitch/DoubleObjectFFGlitch……今回のTASで新しく使われたテクニック。効果はDelayObjectGlitchと似ているが、「DelayObjectGlitch」が処理落ちをトリガーにして引き起こすものだったのに対し、こちらは特定のステージの特定の位置をロックマンが通過すると出現する「見えないオブジェクト(0xFF)」の処理をトリガーにしているのが大きな違い

―― DelayObjectFFGlitchとDoubleObjectFFGlitchは具体的にどんな違いがあるのでしょう。

ピロ彦 簡単に言うと、DelayObjectFFGlitchは処理落ちが必要ですが、DoubleObjectFFGlitchは処理落ちがなくても引き起こすことができます。特定の場所で左右にフリフリするだけで出るのがDoubleObjectFFGlitch、特定の場所+処理落ちによって引き起こされるのがDelayObjectFFGlitchですね。

 アイスマンステージでは「DelayObjectFFGlitch」によって「マグネットビームアダプター(0x42)」を取得してから「ディレイステージクリア(0x75)」を生成し、ガッツマンステージでは「DoubleObjectFFGlitch」によって「ディレイステージクリア(0x75)」を取得することで大幅な短縮となりました。


ロックマンTAS ガッツマンステージも「DoubleObjectFFGlitch」を使うことで道中とボスをショートカット

―― どちらのステージもこれで50秒ほど短縮していますよね。他に大幅短縮につながった部分はありますか。

ピロ彦 副次的に、「エレキマンステージ」では最初からマグネットビームが使用可能になったことで約17秒の短縮に、またボスに弱点武器を使用可能になったことでさらに26秒短縮と、合計43秒以上の大幅短縮になりました。

 また「ワイリーステージ2」では、以前は「DelayObjectGlitch」によって「オブジェクト0x5D」を生成し、その際に特定スロットの敵Y座標がオブジェクトIDにコピーされることを利用し「ディレイステージクリア(0x75)」を生成していました。これに対し、今回はダメージ音によって「0xFF」になるメモリアドレスから「DelayObjectGlitch」を使って「オブジェクト0xFF」を生成し、そこからさらに「DelayObjectFFGlitch」「マグネットビームアダプター(0x42)」を取得し、さらに「ディレイステージクリア(0x75)」の生成をするという戦略により、マグネットビームのエネルギー回復にかかるもろもろの時間を短縮しています。


ロックマンTAS 前回はここのブンビーヘリを倒してマグネットビームのエネルギーを回復していたが、今回は「DelayObjectFFGlitch」を使ってステージクリアと同時にマグネットビームアダプターを取得し、一瞬でエネルギーを回復することでタイムを短縮

―― ラスボスのワイリーでも更新点がありましたね。

ピロ彦 以前はラスボス第二形態で、セレクトボタンによるポーズを多用していましたが、切り替えにかかる時間が無敵解除よりも若干長いので、今回はスタートボタンでポーズ解除をする戦略をとっています。

 セレクトボタンで解除した場合は自弾の座標が変わる前にもう一度ポーズが出来ますが、スタートボタンによる解除では1フレーム分進んでしまうのでラグも伴い最適化が大変でしたが、最終入力を早期に終わらせるなど見た目も面白くなっています。


ロックマンTAS ワイリーの倒し方にも細かな進化が

 他にも、縦スクロール画面でのハシゴの登り方の更新や回復アイテムの取得の仕方やボス戦の細かい更新などがあり、ワイリーステージ3以外の全てのステージで以前より1秒以上更新しています。

―― 「DelayObjectFFGlitch」自体は2014年ごろには既に発見されていたと思うのですが、今回、TASとして完成できたのはなぜだったのでしょうか。

ピロ彦 当初はボンバーマンステージでマグネットビームアダプターを取得することが検討されていましたが、ロックマンが素早く取得できるような位置にアイテムを出現させることが難しく、メンバーも次第に忙しくなりプロジェクトは半ば解散状態になっていました。

 しかし最近になってMaru氏が加わり、再び活動が活性化したことで一気にプロジェクトが進み、既に更新した部分が再更新で作り直しになっても、モチベーションが下がることもなく最後まで完成させることができました。

―― 既にかなり極まっていると思うのですが、まだ更新の余地はあると思いますか?

ピロ彦 ボンバーマンステージのディレイステージクリアはもう少し最適化の余地があるかもしれませんが、さまざまな要因が重なって難しくなっています。ガッツマンステージはマグネットビームの使い方によって、ニコニコ動画に投稿したものより24フレーム更新され、今は09分46秒33が最速記録となっています。


任意コード実行TASはついに「27秒」という未知の領域に

 なお、今回紹介したのは「全ステージクリアTAS」の方ですが、最初のアイスマンステージからいきなりエンディングを召喚する「任意コード実行TAS」も同時に更新され(こちらは5年半ぶり)、同じくピロ彦さんにより動画が投稿されています。こちらは32秒1127秒04と5秒以上の更新に。




 もはやハイレベル化しすぎて、テクニック解説についていくだけでも精いっぱいという状況になりつつあるロックマンTASですが、動画を見るだけでも、使われている各種テクニックのすさまじさは十分に伝わってきます。TASならではの奥深さ・面白さが凝縮された動画として、これまでTASを追ってきた人はもちろん、そうでなかった人にもぜひ見てもらいたい一作です。


参考記事リンク by ピロ彦さん

今回のTASに利用された主な解析結果
http://yuko2ch.net/rockman/mm1tasmap.html

ロックマン1のディレイエンディングTASについて
https://ch.nicovideo.jp/TASVideos/blomaga/ar529967

ロックマン1の新技:DoubleObjectFFGlitchについて
https://ch.nicovideo.jp/TASVideos/blomaga/ar535617


※画像はピロ彦さんの動画より




Copyright © ITmedia, Inc. All Rights Reserved.

昨日の総合アクセスTOP10
先週の総合アクセスTOP10
  1. 親が「絶対たぬき」「賭けてもいい」と言い張る動物を、保護して育ててみた結果…… 驚愕の正体が230万表示「こんなん噴くわ!」
  2. フワちゃん、収録中に見えてはいけない“部位”が映る まさかの露出に「拡大しちゃったじゃん」「またか」の声
  3. 「これは悲劇」 ヤマザキ“春のパンまつり”シールを集めていたはずなのに…… 途中で気づいたまさかの現実
  4. 「ふざけんな」 宿泊施設に「キャンセル料金を払わなくする方法」が物議 宿泊施設「大目に見てきたが厳格化する」
  5. 田代まさしの息子・タツヤ、母の逝去を報告 「あんなに悲しむ父親の姿を見たのは初めて」
  6. 「遺体の写真晒すのはさすがに」「不愉快」 坂間叶夢さんの葬儀に際して“不適切”写真を投稿で物議
  7. 大友康平、伊集院静さんの“お別れ会”で「“平服でお越しください”とあったので……」 服装が浮きまくる事態に
  8. 妊娠中に捨てられていた大型犬を保護 救われた尊い命に安堵と憤りの声「絶対に許せません」「親子ともに助かって良かった」
  9. 極寒トイレが100均アイテムで“裸足で歩ける暖かさ”に 今すぐマネできるDIYに「これは盲点」「簡単に掃除が出来る」
  10. 「奥さん目をしっかり見て挨拶してる」「品を感じる」 大谷翔平&真美子さんのオフ写真集、球団関係者が公開
先月の総合アクセスTOP10
  1. 釣れたキジハタを1年飼ってみると…… 飼い主も驚きの姿に「もはや、魚じゃない」「もう家族やね」と反響
  2. パーカーをガバッとまくり上げて…… 女性インフルエンサー、台湾でボディーライン晒す 上半身露出で物議 「羞恥心どこに置いてきたん?」
  3. “TikTokはエロの宝庫だ” 女性インフルエンサー、水着姿晒した雑誌表紙に苦言 「なんですか? これ?」
  4. 1歳妹を溺愛する18歳兄、しかし妹のひと言に表情が一変「ちがうなぁ!?」 ママも笑っちゃうオチに「かわいいし天才笑」「何度も見ちゃう」
  5. 8歳兄が0歳赤ちゃんを寝かしつけ→2年後の現在は…… 尊く涙が出そうな光景に「可愛すぎる兄妹」「本当に優しい」
  6. 1人遊びに夢中な0歳赤ちゃん、ママの視線に気付いた瞬間…… 100点満点のリアクションにキュン「かわいすぎて鼻血出そう!」
  7. 67歳マダムの「ユニクロ・緑のヒートテック重ね着術」に「色の合わせ方が神すぎる」と称賛 センス抜群の着こなしが参考になる
  8. “双子モデル”りんか&あんな、成長した姿に驚きの声 近影に「こんなにおっきくなって」「ちょっと見ないうちに」
  9. 犬が同じ場所で2年間、トイレをし続けた結果…… 笑っちゃうほど様変わりした光景が379万表示「そこだけボッ!ってw」
  10. 新幹線で「高級ウイスキー」を注文→“予想外のサイズ”に仰天 「むしろすげえ」「家に飾りたい」