ニュース
» 2018年05月15日 22時50分 公開

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

3時間以上掛かっていた「FF5」もついに。

[コンタケねとらぼ]
ツイートボタン

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

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


FF5TAS


FF6TAS

任意コード実行とは

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

 今回の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 ff6 tas エディ ピロ彦 サブフレームリセット 任意コード実行 丁寧な解説付き(しかし何が起きているのか全く分からない)


ff5 ff6 tas エディ ピロ彦 サブフレームリセット 任意コード実行 増殖したバッツ。なぜ

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


ff5 ff6 tas エディ ピロ彦 サブフレームリセット 任意コード実行 本来は触れられないはずの兜に触れました


ff5 ff6 tas エディ ピロ彦 サブフレームリセット 任意コード実行 突然のエンディング。「無」が最初にあった…じゃないんだよ

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

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

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

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


ff5 ff6 tas エディ ピロ彦 サブフレームリセット 任意コード実行 暗躍する「ピロ彦」さん

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


ff5 ff6 tas エディ ピロ彦 サブフレームリセット 任意コード実行 この位置で「サブフレームリセット」を開始


ff5 ff6 tas エディ ピロ彦 サブフレームリセット 任意コード実行 ゾゾ→ゾゾ山とワープ

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


ff5 ff6 tas エディ ピロ彦 サブフレームリセット 任意コード実行 熊とエンカウントして5分放置


ff5 ff6 tas エディ ピロ彦 サブフレームリセット 任意コード実行 見た目は「アルテマウェポン」な「きんのかみかざり」で攻撃


ff5 ff6 tas エディ ピロ彦 サブフレームリセット 任意コード実行 突然戦闘が終了


ff5 ff6 tas エディ ピロ彦 サブフレームリセット 任意コード実行 えぇ……

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

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


ff5 ff6 tas エディ ピロ彦 サブフレームリセット 任意コード実行 「エディ」さんの動画ではおなじみの光景




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

Copyright © ITmedia, Inc. All Rights Reserved.