K3の住民

最近はレア社のゲームについては書いていませんが、一応レア社のゲームが一番好きな人です。『雪圀』で"圀"は"国"とほぼ同義ですが、国ではありませんって当たり前か(笑)。

【N64ゼルダ】何故「Extended Hookshot(EHS)」は起こるのか?

2018/02/01 内容を大幅に変更。

皆さん、こんにちは。雪圀です。
今回は「ポケモン考察」では無く「N64ゼルダ」において存在するバグ技
「Extended Hookshot(以下EHS)」について解説したいと思います。


さて、EHSの存在についてはこちらの方で紹介したかと思います。しかし、原理と
してどうしても納得が出来ず、原理を解明できていないみたいだったので自分なりの
理論を立てていこうと思います。

新たな概念「Hook's Last Place(HLP)」

先ず、このEHSにおいて、僕は新しい概念を持ち込みたいと思います。実際に存在
する概念かもしれません。
マリオ64に存在するHOLPと似ているので「Hook's Last Place(以下HLP)」とでも
呼びましょう(勝手に呼んでるだけなので正式名称等がある場合はコメントでお願い
します)。
このHLPは「フックの最終地点」を表すものです。これにより引っ掛けるアクターに
フックショットのフックが引っ掛かった場合「リンクをその地点まで移動させる」
ようになります。逆にこれが無ければ「リンクをその地点まで移動させる」ことは
不可能です。
HLPはあることを理由に常にある座標からのスタートになります(以後、これを初期
地点と呼ぶ)。初期地点からのスタートの条件は

・フックが最終地点まで到達している
・フックと鎖が描画されている

以上の2つです。

フックと鎖が描画されているかつフックが最終地点まで到達している間は
フックショットの出始めは初期地点、つまりリンクの現時点の座標であり、本来
ならばリンクの座標以外の場所でフックショットが出ることはあり得ないはず
なのです
しかし、フックショットがどこでも出せるように、フックと鎖を描画させない方法を
ムジュラ3Dの研究者は発見しました。それが「First Person Glitch(以下FPG)」
だったのです。

HLPが最終地点に到達するとどうなるのか

HLPが最終地点に到達すると以下の処理が発生します。

・もし引っ掛けるテクスチャ、アクターにフックが引っ掛かった場合、リンクを
 その地点まで移動させる
・それ以外は何もしない

この点がマリオ64のHOLPとは決定的に違う点です(マリオ64ではHOLPの更新が
終わってもそのままである)。

EHSの発生条件

FPGを発生させることで、フックの最終地点に到達したままになり、最終地点から
フックショットを出し続けることが出来ることが分かったと思います。
ここからが本題です。EHSはどのようにして発生しているのでしょうか?

f:id:ryoryoau24:20180120144554p:plain

緑がリンク、オレンジが引っ掛けるアクター、灰色が壁とします。ここでFPGを発生
させ、フックと鎖部分が描画されていない状態で壁に向かってフックショットを
撃ちます。

f:id:ryoryoau24:20180120145221p:plain

するとHLPはピンク色の位置に行きます。フックと鎖部分が描画されていないので、
HLPは初期地点には行きません。だから、壁に向かってフックショットを撃ち続ける
と、HLPは最終的にこの位置になります。

f:id:ryoryoau24:20180120150146p:plain

それでは、この状態でフックと鎖を描画させましょう。注目を外すと同時に
フックショットを撃つと、フックと鎖を描画させたまま撃てるようになります。
そして、引っ掛けるアクターに向かってフックショットを撃ちます。すると、
『一瞬だけ』フックショットが描画され、「引っ掛けるアクター」に引っ掛かり
リンクをHLPの位置まで移動させます(このとき、『一瞬だけ』描画されるだけ
なのでHLPの座標は初期地点にならない)。

f:id:ryoryoau24:20180120150856p:plain

このように、EHSを利用すれば壁を越えてHLPの地点までリンクを移動させること
が出来るというわけです。

結論

以上から、EHSは

フックの最終地点を利用したバグ

であることが分かったのでは無いかと思います。
更に言えば、EHSは「フックと鎖の描画をさせてなければ」起こるわけですから、
別のN64ゼルダでもEHSは発生させられるということです(因みに時オカでEHSが
出来る方法も発見されています)。


以上です。
今回はこれくらいにしときます。