FC版DQ2の進入不能バグを検証してみた

(※注意)
 この記事は、実機検証とそれに基づく仮説のみで成り立っています。
 メモリの中を見る、チートを使う、などといった実機外の検証は管轄外(?)となりますので、そういうのは詳しい方にお任せします。
 また、PCにゲーム画面を取り込むことすらできない素人なので、画面写真もありません。
 代わりに絵文字で再現しているところがありますが、PCだと表示が若干崩れます。
 以上、ご承知おきください。

前置き

 この記事は、ファミコン版ドラゴンクエスト2において、「ドラゴンクエスト大辞典を作ろうぜ!!第三版 Wiki*」内の記事【精霊のほこら】に記載されている下記現象について検証を行い、結果と仮説を報告する記事です。

FC版では、一度このほこらから出ると、どこかに再上陸しない限り再び入ることができなくなる。
守りを手に入れる前にうっかり出てしまうと、なかなか面倒な事態に陥ってしまう。

「ドラゴンクエスト大辞典を作ろうぜ!!第三版 Wiki*」内【精霊のほこら】(2024-02-11 (日) 03:21:44版)より

 精霊のほこらとは、5つの紋章を集めて訪れると、ラストダンジョンの仕掛けを解くのに必要なアイテムがもらえるほこらです。
 本記事では、紋章やそのアイテムについては一切本筋に無関係のため、触れません。
 あくまで、この記述内の「再び入ることができなくなる」に関する現象についてお話しします。

どんな現象?

 精霊のほこらは、海のど真ん中に1マスだけある島に存在し、船で乗り付けて進入します。
 こんなイメージですね↓

 🟦🟦🟦🟦🟦🟦🟦🟦🟦
 🟦🟦🟦🟦🟦🟦🟦🟦🟦
 🟦🟦🟦🟦🪦🟦🟦🟦🟦
 🟦🟦🟦🟦🚣‍♂️🟦🟦🟦🟦
 🟦🟦🟦🟦🟦🟦🟦🟦🟦
 🟦🟦🟦🟦🟦🟦🟦🟦🟦
 🟦🟦🟦🟦🟦🟦🟦🟦🟦

 つまり、上陸=即進入ということになります。
 しかし、これがほこらから出た直後はそうならず、上陸してもほこらに進入できなくなると言うのです。

 この記事を読んだ時の私は、この現象のことは知らなかったのですが、子供の頃にこのゲームで起きたとある現象(後述します)のことを思い出し、それと併せて検証してみることにしました。

本当にこの現象は起きるのか?

 早速FC本体とDQ2のソフトを取り出し、実機検証を行いました。
 (さすがに1からプレーする気にはならなかったので、復活の呪文は生成プログラムを活用させていただきました)
 画面写真も動画もないので結論を先に言いますが、以下の結果となりました。

・ほこらに再進入できなくなる現象は再現した。
・しかし、「どこかに再上陸しない限り再び入ることができなくなる」は誤り。

 ほこらに再進入できなくなる現象自体は確かに起こるのですが、解除方法はこれより遥かに緩く、船に乗って1歩分漕ぎ出せば(正確には往復の2歩漕がないとほこらに戻れませんが)、ほこらに再進入出来ます。
 よって、わざわざどこかの大陸や島に上陸する必要はありませんでした。

 取り敢えず、これで再現方法も解除方法も確立できましたが、私が検証したかったのは、その更に先にあります。

この現象は精霊のほこら以外でも起こる!

 表題の通りですが、実はこの現象、精霊のほこらじゃなくても、船から直接乗り込めるすべての場所で発生することが、今回の調査で発覚しました。
 何故それを検証したのかと言いますと、前置きの項で書きました「子供の頃にこのゲームで起きたとある現象」が関係しています。
 その現象は、ムーンブルク南西のほこらで起こります。
 というより、ほぼ精霊のほこらと同じ現象です。
 該当場所の地形はこんな感じ↓

 🟦🟦🟦🟦🟦🟦🟦🟦🟦
 🟩🟩🟩🟦🟦🟦🟦🟨🟨
 🟩🟩🟩🟩🟦🟨🟨🟨🟨
 🟩🟩🟩🪦🚣‍♂️🪦🟨🟨🟨
 🟩🟩🟩🟩🟦🟨🟨🟨🟨
 🌳🌳🟩🟩🟦🟦🟨🟨🟨
 🌳🌳🌳🌳🌳🟦🟦🟨🟨

 本来ここを通るのは船のない時期ですので、東のほこらに入り、内部を通って西に出て行きます(もちろん逆も可能)。
 船入手後はわざわざ来ることもない場所なのですが、当時の自分は好奇心旺盛だったのか何なのか、ここに船を持ってきたんですね。
 んで、本来ならほこらの内部を通過して東西に抜けるのですが、間に船を入れて、「外から抜けてやるぜウェーイ」と外部から船を通って東西に抜けるという遊びをしてたんですね。アホの子かな?

 すると、まさに先述の精霊のほこらのような現象が起きたのです。
 東側のほこらから出た状態で←キーを押しっぱにすれば、本来だと船に乗り、西側に上陸してそのまま西側のほこらに進入するはずです。
 ですが、何と王子たちは西側のほこらをすり抜け、ほこらの更に西側に進んで行ってしまいました。
 そのまま引き返せばちゃんとほこらに進入出来るので、当時の私はそこまで気に留めず、この現象をただの面白現象と認識して終わりました。

 ですが、今回「ドラゴンクエスト大辞典を作ろうぜ!!第三版 Wiki*」の記事を読んだことでこの現象を思い出し、同時に、この2つの現象はもしかして同じ現象なのでは…と思い立ち、今回の検証に至るのでした。
 同時に、この現象はほこらだけでなく、そもそも全ての進入ポイントに入れなくなる現象なのでは?…とも考えたのです。
 (※注記:この記事における「進入ポイント」とは、乗ると町やダンジョンなどの内部に移動するポイントを指します。単に歩けるマスのことではありません)

 そしてDQ2内に登場する「船から直接入れる進入ポイント」を(恐らく)全て検証してみた結果、予想通り、以下のすべての進入ポイントで現象の再現が確認できました。

・ローラの門(北・南)
・沼地の洞窟(北・南)
・海底の洞窟
・ザハンの町(※こちらは後で詳しく話します)
・ザハン西のほこら

 つまりこの現象は、ほこらに限らず、町だろうが洞窟だろうが起こるという結果となりました。

何故この現象が起きるのか?

 さて、今までこれを単に「現象」と呼んできましたが…まず間違いなくこれはバグだと思いますので、以降は「進入不能バグ」と呼ぶこととします。
 では、なぜこの現象が起きるのか…を考えてみます。
 と言っても最初の注意でも書いた通り、メモリを覗いたりチートを使っての検証は門外漢ですので、全て仮説となりますことを改めてご了承ください。

 兎にも角にも、進入ポイントに乗った時に「内部に入れる時」と「内部に入れない時」が混在している以上、どう考えてもこれはフラグによる分岐が行われているとしか思えません。
 今回、仮にこれを「進入可能フラグ」と呼び、これが立っていれば進入可能、折れていれば進入不能だとします。

・進入可能フラグが立っている時🚩
 🏃💨<町のマス踏んだよ
 🏘️ <町に入るよー
・進入可能フラグが折れている時❌
 🏃💨<町のマス踏んだよ
 🏘️ <知らんがな

 …という仕組みだとすれば、そのフラグおよび分岐処理には、必ず意味があるはずですよね。
 そして今回のバグは、フィールドに出た直後は折れており、本来は歩けば立つはずのフラグが、船に乗る時だけ立てるのを忘れたために起きたバグのように見えます。

 🕴️<町の外に出たよ
  ❌<まだ折れてまーす
 ↓
 🏃<一歩歩いたよ
  🚩<立てまーす

 🕴️<町の外に出たよ
  ❌<まだ折れてまーす
 ↓
 🚣‍♂️<船に乗ったよ
  ❌<あっあっ… ←ここがダメ‼️
 ↓
 🏃<やっぱもっかい町に上陸したよ
  ❌<フラグ立ってないから入れないよ💦

 逆に言えば本来の仕様だと、フィールドに出た瞬間は何らかの理由で再進入できないよう制御しており、一歩歩けば再進入を可能にしている…と推測されます。
 では何故、フィールドに出た直後は再進入を不可にする必要があったのか?
 そもそも再進入不可なんて状況は、本来はどんな時に起きるのか?

 これについては、すぐに一つの仮説が立ちました。
 それは、このゲームの城や町の形状にあります。
 これら以外(ほこらなど)は進入ポイントが1マスだけなのですが、城や町は左右に2マス進入ポイントが配置されています。
 そして次回作で昼夜調整をやったプレイヤーならすぐにピンと来ると思いますが、ドラクエではフィールドに出た後、一度他のマップチップを踏まない限り、この2マスを往復しても城や町に再進入しない仕様となっています。
 再度城や町に入りたい場合は、必ず一度この2マスから離れる必要があるのです。
 何故と言われても、それがドラクエシリーズの仕様だから…としか言いようがありませんが。
 (事実、FF1とかだと、町を出てすぐ隣の町チップを踏めば、そのまま再進入出来ますよね)

 そして進入可能フラグは、この仕様を実現するために設けられていると推察されます。
 つまり、ただ歩けばフラグが立つのではなく、歩いた先が進入ポイントだった場合はフラグを立てない…という仕組みなのではないでしょうか?
 (そしてそれ自体は正式な仕様である)
 そして1歩他のマスへ踏み出せばようやくフラグが立ち、再度城や町に進入可能となるわけです。

 まとめますと、仮説は以下の通りとなります。

・城や町を出た直後は、隣の進入ポイントを踏んでも再進入しないようにしたい。
・そのために進入可能フラグを実装し、一度他のマスを踏むまでフラグを立てないようにした。
・しかし、船に乗る瞬間はそのフラグを立て忘れているため、進入不能バグが発生した。

仮説を検証すべく、我々はザハンに向かった

 そしてこの仮説を検証するのにおあつらえ向きなスポットが、1箇所だけ存在します。
 それが先ほどのリストアップした「船から直接入れる進入ポイント」のうちの1箇所、ザハンの町です。

 🟦🟦🟦🟦🟦🟦🟦🟦🟦
 🟦🟦🟦🟦🟦🟦🟦🟦🟦
 🟦🟦🟦🟦🟦🌳🌳🟦🟦
 🟦🟦🟦🚣‍♂️🏘️🏘️🌳🌳🟦
 🟦🟦🟦🟦🟦🟩🟩🟦🟦
 🟦🪦🟩🟦🟦🟦🟦🟦🟦
 🟦🟦🟦🟦🟦🟦🟦🟦🟦

 他のスポットは進入ポイントが1マスしかありませんが、ここだけは2マスあるためです。
 そして先ほどの仮説を検証するために、以下の検証を試みました。

・ザハンを出た後、地面を踏まないように町チップを往復
・そのまま船に乗る
船を漕がずにザハン(左側)に再上陸
・仮説が正しければ、ザハンに進入しないはず
・そのまま右側の町チップを踏んでもスルーされるはず
・その後更に地面を踏めば、ようやくザハンに入れるようになるはず

 そして検証の結果、見事に全ての予想が的中。
 また、「船を漕がずにザハンに再上陸」の所を「船を漕いでからザハンに再上陸」に変えると、上陸と同時にザハンに進入できることも確認しました。

 とは言え、あくまでこれは、「検証を基にし、立てた仮説が正しければこうなるはずだ」という更なる仮説が立証されたに過ぎません。
 当初の仮説(進入可能フラグの存在やそれの本来の意図など)の立証は、実際にメモリを見るなり開発者に訊くなりしないと出来ないため、本記事の検証はここまでとなります。

 あ、ちなみにDQ3では直ってるぽいです(スーで検証済)。

まとめ

確定したこと
・フィールドに出てから、進入ポイント以外の地面を踏まずに船に乗り、船を漕がずにすぐ進入ポイントに乗っても、再進入できない。
・進入ポイント以外の地面を踏むか、船を一歩分漕げば、再進入可能になる(船に乗っただけでは再進入可能にならない)。

上記を基にした仮説
・進入ポイントで内部に入れるかは、進入可能フラグで判定している。
・フィールドに出た瞬間はフラグが折れており、進入ポイント以外の地面を踏むか、船を一歩分漕げば、フラグが立つ。
・これは、城や町を出てすぐに隣の進入ポイントを踏んでも、再進入しないようにするための仕組みである。
・しかし、船に乗り込む瞬間だけフラグを立て忘れているため、進入不能バグが発生する。

 先述の通り、結局のところ上記の仮説は、今の自分に立証する術はありません。
 そしてこのバグ自体は何一つ有用なものではなく、その解除方法も一歩分船を漕ぐだけという低カロリーなものなので、トリビアとしての価値しかなく、それにしても地味と言う他ありません。
 (冒頭で引用したWikiにある解除方法を訂正できたのが、唯一の収穫でしょうか?)
 まぁでも、レトロゲームとは言え国民的RPGですので、もっとエンタメ性のあるバグとか現象は掘り尽くされているでしょうし、こんな地味な現象(しかも己のスキル不足で仮説留まり)くらいしか私に掘れるものはありません。
 精霊のほこらでこれが起こること自体は知りませんでしたが、ムーンブルク南西のほこらの件を子供の頃に見つけており、今回の検証を行う上で非常に有利に働いたのは、なかなに面白い因果を感じました。
 世の中何が役に立つか分からんもんですね。

 一先ず自分にできる検証はここまでですので、もしこれ以上深掘りするスキルを持ち、こんなクッソ地味な現象に興味を持つ物好きな方がおりましたら、是非その結果を共有していただけると、「へぇ〜」くらいは言いたいと思います、ハイ。

 こんなどうでもいい駄文にお付き合いいただき、ありがとうございました。
 普段は全く別のジャンルを追ってる身ですので、こんな記事は2度と書かないと思いますが…。
 それではまたの機会がございましたら。けーぐ。

この記事が気に入ったらサポートをしてみませんか?