ドラゴンクエスト4 8回逃げると会心の一撃が連発する裏技の真相

Views: 174

ドラゴンクエスト4の有名な裏技
戦闘中に逃げるを8回選んだ後に攻撃すると、必ず会心の一撃になる
というものがある。

このバグはかなり有名で、ドラクエで遊んでいた当時は
ラスボス戦ではまずは逃げる8回実行してから
戦闘開始するのが鉄則でしたね。

この裏技は実はバグなんですが、どのような仕組みでバグっているかが
「内藤かんちゃんねる(※)」で紹介されていました。
面白かったので紹介します。

(※ ドラクエ3のプログラマーをやっていた内藤かんというレジェンドが
やっているYoutubeちゃんねる)

ゲームはプログラムにより動いているのですが、
プログラムってのはゲームを進めていくのに必要な情報
を保持しています。

たとえばHPやMPやレベルといったステータスの情報を
パーティメンバー分保持しています。

戦闘中には戦闘に関する情報を保持しているわけです。
敵のHPやMPや攻撃力、防御力といった情報を持ち寄って、
戦闘時のダメージの計算などに使っているわけです。

で、ドラクエ4では戦闘において逃げるを選んだ場合、
逃げられる場合と回り込まれて逃げられない場合があるのですが
何回回り込まれても、8回目の逃げるを選ぶと必ず逃げられる
という仕様があります。

なので、逃げるを選んだ回数をカウントしています。
このカウント情報を入れている領域(以下、カウンタ)があるのですが
最大7までしかカウント数を入れられないそうです。

専門的な話になりますが、
ビット型の変数で3ビット分の領域を確保しているそうです。
1ビットは1と0のどちらかを入れることができます。

戦闘開始時は3ビットには全て0が入っています。

↓こんな感じ
000

で、戦闘中に1回逃げると、カウントアップされてこうなります
↓こんな感じ
001

2回逃げると桁が上がるので、2進数の10になります。
↓こんな感じ
010

で、逃げるを7回繰り返すと3ビットの領域を全て1で埋める事になります。
↓こんな感じ
111

この状態でさらに逃げるとどうなるかというと、通常の銭湯であれば
8回目の逃げるなので、必ず逃げられます。

ただし、ボス戦は違います。
ボス戦は絶対に逃げられない仕様になっています。

8回逃げると必ず逃げられる仕様と
ボス戦は逃げることができないという矛盾する2種類の仕様が
存在しています。

では、ボス戦で逃げるを8回するとどうなるのかというと
逃げるを選んでも逃げられず、逃げるを選んだ回数を保持する
カウンタが一つカウントされます。

で、下のようになります
 ↓
1000

111に1を足したので繰り上がって、
1000になります。

逃げるカウンタはクリアされてしまいますが、
逃げるカウンタの隣の領域が1に書き替えられてしまいました。

この逃げるカウンタの隣の領域が何なのかというと
「会心の一撃」が必ず出るようになるフラグを格納する領域なんです。
パルプンテを唱えた時に、全攻撃を会心の一撃にするときに
使用する領域だそうで、意図せずに逃げる8回で
値を書き換えることができるとのこと。

この話を聞いた時、小学生の時にお世話になった裏技の
バグの仕組みを知ることができてとても得した気分に
なりました。

2進数の勉強にもなるし、バグが生まれる仕組みも勉強できるし
とても良い話だと思いますね。

バグってソフトウェアの不良なんだけど、裏技として捉えれば
それは面白さにつながることもあるもんで、
ドラクエ4の魅力がそれだけ大きいってことなんですよ。

バグを潰して完全なソフトウェアを作ることを目指すよリモ
より魅力的なソフトウェアを作っていくことを心がけたい。

スポンサーリンク
test
test

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
test