【岩バグ】

Last-modified: 2023-03-18 (土) 19:31:23

DQ3(FC版)

変なタイミングで下手にリセットしたり停電の結果で起こることもあるが、【海賊の家】では普通に操作するだけでも起こりうる重大なバグ。
岩を海賊の家の屋根の下に入れた後一旦屋根の中に切り替え、その状態で外に出てさらに屋根の中に押すと、以降町の中でのキャラ操作が不能になってしまうというもの。
この状態で町に入って操作すると、背景はスクロールせず町にいるNPCだけが障害物をすり抜けて一方向に流れていくという現象が起き、操作が一切不能になる。また、方向転換で隊列2番目以降のPCの表示位置が変わる瞬間に発生した場合、そのPCも斜め方向や2倍速で画面中を飛び回る。
この現象はリセットや電源OFFをしても直らず、再開後にキャラを少し動かすとやはり同様の現象が起きて操作不能になるという重大かつ致命的なバグを引き起こす。しかもそのカセットにある全ての冒険の書でそれが起こるのだ。
 

発生条件

バグの原因(後述のフラグ異常)が発生した時点ですぐに不具合が発動するわけではないので、気付くのが遅れる可能性もある。
具体的には、ランダム移動する【NPC】が動いた瞬間に不具合が発生する。
NPCがいる町や城であっても、画面外や【屋根】の向こうにいて該当のNPCが見えない場合には発生しない。
ランダム移動しないNPCであれば、出会っても不具合は起こらない。
フィールド上の【幽霊船】は一見ランダム移動しているように見えるが、不具合は発生しない(むろん幽霊船内に入れば普通のNPCがいるのでバグが発動するが)。
このためフィールド上の移動に制限は無く、多くのダンジョン内においても不具合は起きにくい。
町や城でも夜間はランダムに動き回る【住民】が少ないので、場所によっては比較的不具合が出にくいこともある。

修復方法

「NPCがイベント移動する」もしくは「岩を【押す】」という、大まかに2種類の修復方法が発見されている。
いずれにせよ冒険の書を再開したときは城の中なので、出入口が近い【ダーマ】以外だった場合は、バグが発動する前にルーラかキメラの翼ですぐに城を脱出する必要がある。
もしもルーラやキメラの翼が使えない状態で、かつダーマ以外でセーブした冒険の書ばかりだった場合は、最初の方法しか使えないので、いずれかの冒険の書を消すことになるだろう。

NPCが強制移動するイベントを発生させる

最も確実な方法は、【ぼうけんのしょをつくる】で新たにゲームを始めることである。
そうすれば【主人公の母親(DQ3)】が勝手に移動するイベントが発生するので、主人公を操作可能になるところまで進めればよい。これが上手くいけば、すべて正常な状態に戻る。
冒険の書を3つフルに使っていた場合は最低1つを犠牲にすることになってしまうので留意したい。
 
ただ、厳密にはイベントでNPCが強制移動するような状況であれば母以外のイベントでも解除されるようであるため、これを利用する手もある。
ただし無条件で解除できるオープニングイベントとは違って、イベントが起きる前にバグが発動して操作できなくなることを避ける必要がある。
操作できなくなる現象についてはランダム移動するNPCがいる場所に限られることから、NPCがいないか、いても動かないダンジョン内では普通に操作できる場合が多い。
このため例えば【シャンパーニの塔】【カンダタこぶん】や、【ゾーマの城】【ゾーマ】のように、ダンジョン内でNPCが移動するようなイベントを発生させることでも解除できる。
 
さらに言えば、ランダム移動するNPCがいるような場所であっても、NPCが実際にランダム移動する瞬間までのわずかな時間は操作できる様子。
このため、多少リアル運が絡むかもしれないが、タイミングが合えば【エジンベア城の門番】を移動させることでも解除できる。
同じことはサマンオサ城(攻略後)の【門番】でも可能で、城下町で動き回るNPCがいない夜間に限り、城までたどり着ける。
もっとも夜にNPCが少ないのは他所も同様なので、【アッサラーム】【ぱふぱふ】という手もある。

岩を押す

また、普通に岩を押すことでも解除できる。岩のある場所は町や城の中であるため多くの場合はその場所までたどり着く前にバグが発動してしまうが、海賊の家の場合は昼間であればランダム移動するNPCがいないのでこのバグが起こらず、岩を押すことが可能。
と言うか、ランダム移動するNPCであっても屋根の向こうにいて画面に表示されない場合は大丈夫なので、実際には夜でも可能である。
なおレーベでは夜のみランダム移動のNPCがいなくなるので、夜になれば岩を押せる。
 

バグの詳細

2021年7月8日、【内藤寛】によりバグの全容が明らかとなった。
岩を押している最中のフラグ(岩を押している時にNPCの移動速度を1/2にするためのもの)が、屋根で見えない岩を押した際に解除されない事によりフラグが立ちっぱなしになり、このフラグがオンの時にバグは発生する。
フラグが解除されない理由は、解除されるべきタイミング (岩を押し終えた瞬間) で岩が画面に表示されていないため。画面に表示されていないオブジェクト (スプライト) に関する処理は省略されるようになっているので、フラグの解除処理が行われずそのままになってしまう。そして、岩が表示されている状態で押し終えることができれば正常な状態に戻すことができる。
またこのフラグはオープニング時の母の動きにより解除されるため、新規ゲームで修復されるとのこと(この際、母の一歩目の移動速度が1/2になっている)。やはり伝説の勇者を産んだ母親は只者ではない…。
 
プログラム上では1/60秒という大変短い時間の為、通常のプレーでは気づきにくいが、キャラを動かすとき、NPCが動いていると処理が終わるまで処理を保留している。
この時、岩フラグがオンだと、このNPC移動フラグがオフにならず、操作不能になる。
そして直前のキー入力の情報を元に画面がスクロールするのだが、背景のスクロールは別プログラムの為すぐ止まり、NPCだけが永久にスクロールする という現象が起こる。
 
ちなみに、この岩フラグはリセットしても保持されるため、岩を押してる途中でリセットするだけで簡単にバグが起こってしまう事が判明した。
つまり最序盤のレーベですらこのバグを起こすこともできるが、上記の通り、そのレーベでバグを解除できる。
 
なおバックアップバッテリ交換後に初めてプレーする際にも、母の一歩目がゆっくり移動することを確認できる。
つまり出荷時設定で岩フラグが有効になっているらしく、母の移動によりフラグが設定されるというのは本来の仕様であると考えられる。