ニュース
» 2020年01月17日 08時30分 公開

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

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

[池谷勇人,ねとらぼ]

 エミュレータなどのツールを使い、“理論上最速”クリアを目指す「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

  1. /nl/articles/2208/09/news176.jpg ダレノガレ明美、韓国でお気に入りのホクロを“ゴミ”だと除去されてしまう 「ドS Dr. ありがとう!」
  2. /nl/articles/2208/10/news118.jpg 堂々としすぎ! 浜崎あゆみ、大阪市街を普通にランニング ファンと出くわし「暑さでとんでもない顔してたと思います」
  3. /nl/articles/2208/10/news174.jpg 坂上忍、余命数カ月の“13男”・平塚コウタに「奇跡」 転移した腫瘍消失で喜びあらわ 「先生もビックリしてて」
  4. /nl/articles/2208/09/news033.jpg 大型犬の大好きなぬいぐるみを洗濯→心配そうに見守っていたが…… 再会したときのとびきりの笑顔にグッと来る 【米】
  5. /nl/articles/2208/10/news172.jpg 朝日奈央が結婚、お相手との肩組み2ショット公開 「これから家族として、沢山の景色を一緒に見にいける事がとっても楽しみ」
  6. /nl/articles/1809/19/news114.jpg 人気女優の顔じゃない! 川口春奈、ほぼ瀕死のグロッキー状態に心配の声「完全に目がいってます」
  7. /nl/articles/2208/10/news017.jpg 柴犬姉妹の“あご乗せ”3連チャン! 顔をぎゅうっとくっつけるかわいさに「ずっと見ていたい」「癒やされる」の声
  8. /nl/articles/2208/03/news169.jpg 「『リケジョ』って呼ぶのはやめてください」 高校生4人が性差別の改善を訴える動画制作 ジェンダーに関心を持った理由を聞いた
  9. /nl/articles/2208/09/news026.jpg 子猫の様子がおかしい→動物病院へ行こうと思ったら…… 子猫ならではの結末に「成長している証」「スッキリしたね」
  10. /nl/articles/2208/09/news101.jpg 川口春奈、トガッてた19歳時の“ガニ股イキりショット”を公開し反響 「野生の春奈ちゃん」「牙を剥く若かりし頃のはーちゃん」

先週の総合アクセスTOP10

  1. 競技中とのギャップ! 高梨沙羅、キャミソール私服でみせた大胆“美背中”に反響 「背中ガッポリ」「魅惑の黒トップス」
  2. かわいい妹すぎ! 北川景子、義姉・影木栄貴の結婚で“お姉ちゃん愛”が爆発する 「姉がどこか遠くへ行ってしまう」
  3. 泣いていた赤ちゃんが笑い声に、様子を見に行くと柴犬が…… 優しくあやす姿に「最高の育児パートナー」の声
  4. 「ごめん母さん。塩20キロ届く」LINEで謝罪 → お母さんからの返信が「最高」「まじで好きw」と話題に
  5. 「若い君にはこの絵の作者の考えなんて分からない」→「それ俺の絵」 ギャラリーで知らないおじさんから謎の説教を受けた作者に話を聞いた
  6. 木下優樹菜、元夫・フジモン&娘たちとディズニーシーを満喫 長女の10歳バースデーを祝福
  7. 黒柴の子犬が成長したら…… 頭だけ赤色に変化した驚きのビフォーアフターに「こんなことあるんですね」「レアでかわいい」の声
  8. 子「ごめん、もう仕事できない」→母「はぁい了解っっ」 退職を明るく認めた家族のLINEが優しい
  9. スタバの新作が王蟲っぽくてファンザワつく 「怖すぎる」「キショいから買いたくなった」
  10. カナダ留学中の光浦靖子、おしゃれヘアのソロショットに反響 「お元気そうでなにより」「別人のよう」

先月の総合アクセスTOP10

  1. 安倍元首相、銃で撃たれて意識不明か 事件時のものとみられる映像投稿される
  2. 野口五郎、20歳迎えた娘と誕生日デート 家族同然の西城秀樹さん長女も加わり「楽しい時間でした!」
  3. 「大阪王将」店舗にナメクジやゴキブリが発生? 元従業員の“告発”が衝撃与える 大阪王将「事実関係を調査中」
  4. この画像の中に「さかな」が隠れています 猫に見つからないように必死! 分かるとスッキリする隠し絵クイズに挑戦しよう 【お昼寝編】
  5. ダルビッシュ有&聖子、ドレスアップした夫婦ショットに反響 「ハリウッド俳優やん」「輝いてます」
  6. 「auの信頼度爆上がり」通信障害でも社長の“有能さ”に驚く声多数 一方で「まだ圏外だぞ…」など報告続く
  7. スシロー、“ビール半額”で今度は「ジョッキが小さい」との報告? 運営元「内容量に差異はない」と否定
  8. スシロー「何杯飲んでもビール半額」開始前にPOP掲示 → 注文したら全額請求 投稿者「態度に納得いかなかった」 運営元が謝罪
  9. TKO木下、海外旅行先で総額270万円のスリ被害に エルメスの財布奪われた“瞬間映像”も公開「くっそ〜……」
  10. パパが好きすぎて、畑仕事中も離れない元保護子猫 お外にドキドキしながら背中に乗って応援する姿があいらしい