K3の住民

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

【ムジュラ】未来の座標について

皆さん、こんにちは。雪圀です。
今回、ムジュラで発見したことを書いていこうと思います。


先ず皆さんはムジュラの仮面のリンクの座標はどのように動かしているかご存知
でしょうか(もし知ってたら何故今頃知ったんだって話になりますが)。
時のオカリナではスティックを倒すことで直接リンクの座標を移動させています。
しかし、ムジュラの仮面では、その座標移動に一工夫加えていることが判明
しました。

ではその一工夫とは何か?それは、未来の座標です。

未来の座標とは?

本来であれば、リンクを前方向に動かすとき、スティックを前に倒せばそのまま
前方向に動きます。図としてはこのような感じですね。

f:id:ryoryoau24:20180417213819p:plain

基本的にスティックを前に倒したフレームで前方向に動くことは無いので大体こんな
感じだと思います(因みに一応時オカはその仕様であることはポーズバッファで確認
済み)。

一方で、ムジュラの仮面では以下のように動いています。

1F: ニュートラ
2F: 何か座標の動く操作をする
3F: リンクの未来の座標を移動させる
4F: リンクの座標を移動させる

・・・とこのようになっています(歩くとき、歩き出すのは5Fからですが、歩いて
1F目の速度が0だからでは無いかと思われる)。
では、図で考えてみましょう。

f:id:ryoryoau24:20180417220607p:plain

ここから前転をし前方向にリンクの座標を移動させます。先ずは前転をする為の
操作をします。このときはまだ動きません。

その1F後、リンクの未来の座標が移動します。

f:id:ryoryoau24:20180417221524p:plain

そして最後にリンクの座標が移動します。

f:id:ryoryoau24:20180417222142p:plain

以上がムジュラの仮面での座標移動です。ここからは僕個人の考えですが、恐らく
リンクの座標を動かす前にこの座標に行くとどうなるのかプログラム内部で
シミュレートしているのでは無いかと思われます。

この考えに行き着いた経緯について

何故このような考えに至ったのかと言うと、あるフリーズバグが発生したときの
違和感を感じたからです。

このブログを読んでいる方もしくはまとめサイトを見ている方ならご存知かと
思われますがN64ゼルダではルームを3つ同時にロードしようとするとフリーズ
します。元々ルームは2つしかロード出来ない仕様なので当然ですね。

で、この3つルームをロードさせる方法として、ゴロンミサイルでActor Glitchを
起こし、2つルームをロードさせたまま別のルームをロードさせます。
3つ全てのルームがリンクの座標によってロードするルームであるとして、実際に
3つルームをロードさせます。するとフリーズします。
フリーズしたとき、リンク自体の座標はどうなっているのかがポイントです。

僕はゴロンミサイルを使って2つ目のルームから一気に3つ目のルームをロード
させようとしました。すると、リンクはルームをロードする座標に行っていないにも
関わらずフリーズしたではありませんか。普通はルームをロードする座標に行って
からフリーズするはずなのに・・・これはおかしいな、と感じました(実際その座標
に行った後にルームがロードされるのも確認している)。

そして熟考した結果、一旦シミュレートしてからリンクの座標を移動させている
のでは無いかと言う結論に辿り着きました。
これを少し簡単に説明する為に、リンクには今現在の座標と未来の座標が存在すると
説明しました。


以上です。ゴロンミサイルを研究しているときにも思いましたがやはりムジュラは
N64ゼルダの中でも特に奥が深いゲームですね。
今後も何か発見が無いかと期待するばかりです。勿論時オカも何か発見が無いかと
期待していますが。

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