「FF5」と「FF6」のTAS記録が大幅更新 「サブフレームリセット」「任意コード実行」の合わせ技でゲーム大崩壊


 スクウェア(現スクウェア・エニックス)のスーパーファミコン用ソフト「FINAL FANTASY V(FF5)」と「FINAL FANTASY VI(FF6)」のTAS(ツールアシストスピードラン、ツール使用による高速クリア)記録が大幅に更新されました。特に、今までTASでも3時間以上掛かっていた「FF5」は、なんと10分台でのクリアという超大幅更新です。

【画像】「サブフレームリセット」により増殖したバッツ

 なぜ今になって更新ラッシュが始まったのか。その理由は、「任意コード実行」と、「ロマンシング・サガ2」でも猛威を奮った「サブフレームリセット」という2つの技の組み合わせによるものでした。なんて恐ろしい技術だ……!

●任意コード実行とは

 任意コード実行は、ゲーム中のバグやプログラムミスを利用して、ゲームに任意のプログラムコードを実行させてしまうというもの。例としては、スーパーファミコンの「スーパーマリオワールド」で任意コード実行してプログラムを書き換え、ファミコンの「スーパーマリオブラザーズ」にしてしまうというとんでもないものもありました(動画は削除済み)。

 今回のTASでは、任意コード実行で「エンディングを呼び出す」ことでクリアを目指します。

●サブフレームリセットとは

 サブフレームリセットは、「1マイクロ秒単位」でタイミングを調整してリセットすること。ゲームではよく60分の1秒に当たる「1フレーム」という単位が使用されますが、「1マイクロ秒」は100万分の1秒という極めて細かい単位です。

 今回はどちらもこの「サブフレームリセット」をデータのセーブ中に行うことで、セーブデータを改ざんしながら進めていきます。これは最近になり使われだしたもので、2018年4月には「おやつ」さんが「ロマンシング・サガ2」を4分台でクリアするのに使用しました。

 今回は「FF5」「FF6」とも、この2つの技を組み合わせることで更新を実現しています。

●FF5の陥落

 まずは「FF5」。今回記録を更新したのは、以前からさまざまなTASの研究をしている「ピロ彦」さん。ゲーム進行を大幅に短縮できるようなバグがなくこれまでTASでもクリアに3時間以上掛かっていましたが、「サブフレームリセット」によってとうとう陥落。10分42秒29でエンディングに到達してしまいました。

 動画内では右側にメモリ情報が常時表示され、丁寧な解説もされているのですが、ゲーム開始直後から「サブフレームリセット」によるワープの連続で何が起きているのか全く分かりません。しまいには気がついたらバッツが2人に増殖していたり、船に乗ったと思ったら倍速で走り出したりと、何から何までめちゃくちゃです。

 そしてワープを繰り返した果てにたどり着いた「北の山」で落ちている兜(本来はイベントで勝手に回収されて消えてしまうもの)に触れた瞬間、なんとエンディングが始まりました。クリアです! おめでとうございます! なんでやねん!

 どうやらこの“本来は触れられない兜”に、「サブフレームリセット」でイベントフラグをいじって触れたことで「任意コード実行」ができるようになりエンディングが呼び出せたということのようです。「FF5」には今回の兜のように、通常のプレイでは触れないイベントオブジェクトがいくつかあり、チートなどで触れてしまうと多くの場合はフリーズするとのこと。そんなイベント用のオブジェクトが任意コード実行の入り口となったそうです。

 なお、今回は無理やりエンディングを呼び出した影響で、BGMや効果音が途中までメチャクチャなことになっています。

●また「エディ」さんがFF6壊した!

 続いて「FF6」。今回のTAS動画を作成したのは、例によって「エディ」さん。知ってた。記録は17分2秒78。前回自身で出した記録23分44秒32から大幅更新となったのですが、こちらも「ピロ彦」さんの協力があったそうです。「ピロ彦」さんの知識の広さすごい。

 「FF5」と違い最初は普通に進んでいくのですが、「ジュン」の家を出た後のセーブポイントにはいったところで「サブフレームリセット」を開始。序盤のイベントを無視して「ナルシェ」から脱出すると南に進み、ここで再度「サブフレームリセット」でデータを改ざん。気が付けば、終盤にならないと入れない「ゾゾ山」にワープしていました。

 ここで宝箱から「きんのかみかざり」を手に入れたら敵とエンカウントし、5分間放置。右手と左手の装備を高速で入れ替える謎の儀式後に通常攻撃をしたと思ったら突然戦闘が終了し、エンディングが始まりました。クリアです! おめでとうございます! なんでやねん!!!!

 こちらは宝箱から手に入れた「きんのかみかざり」を、バグを利用して武器として持ち、特定のフレームまで時間が経過したところで攻撃すると「任意コード実行」ができる状態になる、ということだそうです。しかし、こちらも丁寧な解説があるにもかかわらず、何をしているんだかほぼ分からないままエンディングに突入してしまいます。

 そして、「エディ」さんの動画を普段から見ている人にとってはおなじみですが、今回もエンディングはキャラが色違いのティナ(名前は「糸糸糸糸糸糸」)ばかりのバグったものになっています。

 今までゲーム進行を大幅に崩されることのなかった「FF5」、そして“52回全滅バグ”を超える記録は出ないだろうと思われていた「FF6」。そのどちらも「サブフレームリセット」によって大幅に更新されてしまいました。今後もまたこの技術によって、さまざまなゲームのTAS記録が更新されていくのかもしれません。

丁寧な解説付き(しかし何が起きているのか全く分からない)


(出典 news.nicovideo.jp)


<このニュースへのネットの反応>

またやりやがったよ・・・(歓喜)


よくしらんが普通にプレイしろよ、ツール使ってどうのとかマニアックすぎる


たぶんこれが一番早いと思います


サブフレームリセットってあれだな、WINDOWSのコピー作業を途中で止めて必要な破損ファイルを作るような感じだな。すまん、言ってて意味わかんないなこれ。


よぉし・・・ 次は 1ナノ秒単位だ・・・ (病気)


実機で可能(ただし人間ができるとは言ってない)


RTAだったら素直に称賛してた。


RTAで取り入れられるかはともかく人力でもある程度はサブフレームリセットが可能なゲームはあるんだよなぁ


普通のデータ処理は1~10のデータを1として保存するからこの技使えないんだけど、この時期の一部のソフトは1~10のデータを1から順番に保存する方式だから1~5まで保存したところでリセットして新1~5と旧5~10のデータを作るってやり方がサブフレームリセット


なるほどな。うん。なにをゆってるんだおまえわ


TAS動画を作ってる人のプレイ(編集はしてるにせよ)はもちろんすごいんだけども、思考回路が本当にすごいと思うんだよね。フレーム単位の調整とかプログラムのミスを有効利用したりとか


何が彼らをそこまでさせるのだろう・・・


狂人同士がお互いを高めあっている・・・


果たして、こんなんでクリアして楽しいのかなって疑問に思う。もはやゲームじゃなくただの作業というか何と言うか、ゲームなんだからゲームとして楽しめよって思う。


既にゲームをプレイしていると言うようり、セーブデータ改造とエンディング呼び出しだけが目的化してるな


TASをゲームプレイが目的と思ってる人はちょっと観点が違うかな、どちらかというとプログラマーの人がいかに短くて効率良く美しいコードを書きたいかに似てる。クリアは結果であって過程を詰めていくのに快感を感じる人向け。


OYT兄貴頼むで


私は、「ラスボス倒してクリア。エンディングはクリアのご褒美」って認識だから、エンディングを見る=クリアって考えには違和感があるな。


エンディングを呼び起こすってこれやったら何でもありだな。追い風参考みたいな記録だと思うけど、ふっかつのじゅもんを生成するみたいな楽しさはある


ゲームをやってるのではなく、機械や車をバラしてる感覚らしいね




この記事へのコメント