ゼルダ界では今、『バリアスキップ』の実現で大騒ぎとなっています!【GC版ゼルダの伝説 風のタクト】

この記事を全て読むには『5分半程度』要します。(約2700文字)

今回のおはなし!

2002年に発売されたゲームキューブ用ゲーム『GC版ゼルダの伝説 風のタクト(GC版風タク)』

7月に入るまではこのゲームの世界記録は4時間前後だったらしいのですが、現在はそれより2時間以上早い『2時間00分30秒』というのが世界記録となっています。

世界記録が2時間も縮んだ理由……、それは、長年不可能だった『バリアスキップ』という技が実現され、RTAでその技が実用できるようになったからです!

今回は、ゼルダ界を盛り上がらせているバリアスキップが一体なんなのかを見ていきます。

スポンサーリンク

バリアスキップとは?

風タクではガノン城(ラストダンジョン)までの道中に大きなバリアが張ってあり、この場所まで早くこれたとしても、バリアのせいでガノン城へ行くことができません。

ストーリーを進めることによってバリアが解除され、ガノン城へ行けるようになります。

で、今回実現されたバリアスキップというのは、その名の通りこのバリアをスキップする技で、GC版風タクでは動的メモリを枯渇させてバリアを出現させないようにすることでスキップします。

このバリアスキップによって、ストーリーを無視してガノン城へ行けるようになったので、結果、2時間以上世界記録が早くなったのです!

どうしてこんな方法を思いつくのか……、私には想像できません。

ちなみに、GC版風タクのリメイク版『風タクHD』では、リンクの移動速度を上げることによってこのバリアをスキップするようなのですが、GC版ではこれができないので、『動的メモリを枯渇させる方法』で解決したとのことです。

バリアスキップの原理とは?

先ほど「動的メモリを枯渇させることで~~~」みたいな話をしましたが、「さっぱり意味が分からん!」という方が多かったと思います。

なので今回は、以下のバリアスキップの動画と絵を使ってこの原理(イメージ)を説明してみます!
※自身で解釈したものなので、間違えていたら教えていただけると助かります。

前提: 動的メモリとは

ゲームキューブにはメモリという作業机が存在します。ゲームをプレイしている時、この作業机の上には、ゲーム内のアイテムやオブジェクト等の情報が乗っています。

この作業机はサイズが決められているので、一度にゲーム内全ての情報を乗せることができません。よって、以下のような方法で各情報のスペースを確保します。

・何度も使われる基本情報 ⇒ 事前にスペースを確保しておく。
・一時的に使われる情報(アイテム等) ⇒ 必要に応じて必要な分だけスペースを確保する。

後者のほうが『動的メモリ確保』と呼ばれていて、後者のスペースを『動的メモリ』と呼んでいます。例えば、ゲーム内でアイテムBを出現させた場合、アイテムBが作業机の上に乗るイメージです。

動的メモリのスペースを使う場合は、ゲーム内のプログラムで情報を追加する処理と削除する処理の両方を組み込まなければなりません。

『〇〇の時アイテムBを動的メモリへ追加』『〇〇の時アイテムBを動的メモリから削除』、こんな感じの処理を組み込む必要があるのです。

もし、追加処理だけ組み込んで削除処理が組み込まれていなかった場合、初期化処理等が走らない限り、動的メモリに情報が残りっぱなしになってしまいます。

自分がゲームの製作者だったとしましょう。
ゲーム内で想定している情報に対しては削除処理を組み込むことができますが、想定外の方法で追加された情報に対しては削除処理を組み込むことができませんよね。

つまり、想定外の方法で動的メモリがいっぱいになるぐらい情報を追加すれば……? なんとなく話が繋がってきましたでしょうか。

バリアスキップの紹介動画を見てみましょう!

先で説明した動的メモリの話をもとに、バリアスキップの動画を見てみます。

① バリア前にあるハイラル城に入ります。この時はまだバリアが存在している状態です。

② ハイラル城に入った後ひたすら矢を放ち続けます。この時、ゲームキューブの動的メモリはたくさんの『矢』で埋め尽くされます。プログラムとしては想定外の情報追加です。

③ 十分に矢を放った後ハイラル城から出ると……、動的メモリ内に矢が残っている状態なので、本来動的メモリに乗るはずだったバリアのスペースが確保できません。結果、バリアが出現しなくなります。

以上がバリアスキップの原理(イメージ)となります。おお、分かりやすい!(?)

ちなみに、動的メモリの話自体はGC版風タク特有の話ではなく、別のゲームでもこんな感じでメモリが使われていることが多いです。

なので、もしかしたら、別のゲームのRTAでも同じような方法でタイム短縮できるかもしれません。

終わりに

先に紹介した動画では弓矢を使っていましたが、動的メモリを枯渇させることさえできればバリアスキップは可能なので、現在は初期案とは別の方法がいくつか考案されています。

現在一番タイム短縮ができると言われているのは弓矢を使わない方法です。

Barrier Skip without Bow "Setup" (Semi-consistent)

風タクでは神の塔というダンジョンに弓矢があるのですが、神の塔に入るためには3つのダンジョンをクリアしなければなりません。しかし、上記の方法であれば弓矢を拾わずにバリアスキップできるので、この3つのダンジョンをスキップできるのです。

ここ数日でここまで新しくなるなんて……、ホントすごいですよね。

なお、今回は触れませんでしたが、バリアスキップが発見されるまでの歴史はかなり面白いものなので、ぜひ『GC版『ゼルダの伝説 風のタクト』タイムアタック研究で大きな一歩。17年にわたり不可能だった“バリアスキップ”が「メモリの魔法」によって達成される』も読んでみてください!

バリアスキップの実現によって世界記録がどこまで縮むのか……、今後が楽しみです!