『ドラゴンクエスト4』で8回逃げると「会心の一撃」になるのはバグか仕様の裏技か。真相が当時のプログラマーの証言で明らかに

 ファミリーコンピュータ向けソフト『ドラゴンクエストIV 導かれし者たち』(以下、ドラゴンクエスト4)では、ボス戦で「にげる」を8回繰り返すと、以後、会心の一撃が連発するという裏技がある。この裏技に関して、本作のプログラマーである内藤寛氏と山名学氏がYouTubeで証言をしている。

『ドラゴンクエスト4』で8回逃げると「会心の一撃」になるのはバグか仕様の裏技か。真相が当時のプログラマーの証言で明らかに_001
(画像はドラゴンクエストⅣ 導かれし者たち | ドラゴンクエスト誕生30周年記念ポータルサイト | SQUARE ENIXより)

 1990年に発売された『ドラゴンクエスト4』は、キャラクターごとに分かれた章立ての形式、AIによる戦闘システムなどを導入し、ドラマティックな名作として語り継がれている。2001年にはPlayStation向けにリメイクされ、それをベースにニンテンドーDSやスマートフォンにも移植された。こうしたリメイクにより、オリジナルをプレイしたことがない人でも時代を超えて魅了し続けている作品だ。

 このオリジナル版『ドラゴンクエスト4』では、ボス戦で「にげる」を8回繰り返すと、以後、会心の一撃が連発する裏技が存在する。最終決戦のデスピサロ戦などで重宝するので、利用したプレイヤーも多いだろう。プレイヤーの救済措置として、あまりにも出来すぎた裏技なので、開発者が意図した仕様なのか、意図しなかったバグなのか疑問に思った人もいたはず。
 
 この裏技について詳細を明かしたのは、『ドラゴンクエスト4』のプログラマーである内藤寛氏のYouTubeチャンネル「内藤かんチャン」に投稿された動画「DQ4にげ8バグについて、あの人を直撃!」だ。

 ここで内藤寛氏は視聴者からの質問に答える形で、戦闘部分のプログラムを担当した山名学氏にこの裏技について電話で直撃。結論から言うと意図していなかった「バグ」であり、当時のメモリー容量の問題もあり、「にげる」をカウントする専用のカウンターを持っていなかったことが原因とのこと。

『ドラゴンクエスト4』で8回逃げると「会心の一撃」になるのはバグか仕様の裏技か。真相が当時のプログラマーの証言で明らかに_002
(画像はYouTube「DQ4にげ8バグについて、あの人を直撃!」より)
『ドラゴンクエスト4』で8回逃げると「会心の一撃」になるのはバグか仕様の裏技か。真相が当時のプログラマーの証言で明らかに_003
(画像はYouTube「DQ4にげ8バグについて、あの人を直撃!」より)
『ドラゴンクエスト4』で8回逃げると「会心の一撃」になるのはバグか仕様の裏技か。真相が当時のプログラマーの証言で明らかに_004
(画像はYouTube「DQ4にげ8バグについて、あの人を直撃!」より)

 『ドラゴンクエスト4』では「にげる」は通常、4回までしかできない。戦闘では必ず4回目で逃げられる仕様になっていた。しかしボス戦では逃げることができないため、4回逃げても戦闘が継続するという開発者が想定していなかった自体に突入する。
 コンピューターは2進数が使われているため、10進数の「4」は3桁の「100」、「8」は「1000」となる。このため「にげる」を8回行うと、カウントが1000になるわけだ。

 しかしメモリー容量の問題もあり、本作は専用カウンターを持っていないので、2進数が3桁や4桁になってしまうと隣のフラグまで侵食。「にげる」のカウンターの隣の隣のフラグは、たまたまパルプンテにおける会心の一撃が連発するフラグを担当していた。そのため本作で8回逃げると2進数が1000となり、会心の一撃フラグが「0」から「1」になる。このため戦闘で会心の一撃が連発することになってしまったわけである。

 このほか、YouTubeチャンネル「内藤かんチャン」では、『ドラゴンクエスト3』の有名な「ランシールバグ」や、『ドラゴンクエスト3』のタイトルロゴについての裏話も披露している。プログラマー視点からのゲーム開発者の裏側という、貴重なエピソードが聞けるので、視聴してみてはいかがだろうか。


ライター
『ドラゴンクエスト4』で8回逃げると「会心の一撃」になるのはバグか仕様の裏技か。真相が当時のプログラマーの証言で明らかに_005
福山幸司
85年生まれ。大阪芸術大学映像学科で映画史を学ぶ。幼少期に『ドラゴンクエストV』に衝撃を受けて、ストーリーメディアとしてのゲームに興味を持つ。その後アドベンチャーゲームに熱中し、『この世の果てで恋を唄う少女YU-NO』がオールタイムベスト。最近ではアドベンチャーゲームの歴史を掘り下げること、映画論とビデオゲームを繋ぐことが使命なのでは、と思い始めてる今日この頃。
Twitter:@fukuyaman
  • こういう話好き。ボス戦で逃げられないって決めたなら、回数数えなくてもよさそうなもんだけど、そう簡単な話じゃないのかな。あと16回逃げたら何が起きるのか少し気になるな。2021/05/26
  • 今のメモリリッチな環境ではビット単位の変数制御とかほぼ絶滅してんじゃねえかなあ。2021/05/25
  • あとで読むドラクエ4逃げる8回2021/05/25
  • あとで読む2021/05/25
  • ビットゲームビット演算2021/05/23
  • ゲーム歴史ドラクエバグこれはすごい「参照パラメーターが別要素と共有されててバグる」というと、DS『魔装機神』の「ファルク改造バグ」を思い出す。ある味方機と中ボスの改造段階が共有されてて、イベント戦で超攻撃が飛んできて詰む。大問題になった2021/05/23
  • ゲームゲームではここだけ特別にこうなっているというのが結構あって、他のところがそれを考慮していないので変なことが起こるというのはありがちなバグである。2021/05/22
  • 本来ビット演算で隣のフラグに影響しないようにするものだと思うけど、それをせずに単にインクリメントしたのか…ビット演算したらメモリの節約にはならないからかな2021/05/22
  • 2021/05/22
  • 2021/05/20
  • あとで読む2021/05/20
  • 2021/05/20
  • *youtube*gameこの話は前々から語っていたらしいのに、YouTubeで語っていたから記事になったのだろうか2021/05/20
  • パルプンテ、ビット食っていそうだし、他の要素を削ってでもやりたかったということかしら2021/05/20
  • 2021/05/19
  • ゲーム2021/05/19
  • ゲームセキュリティ2021/05/19
  • これも「脆弱性」なんだろ?見つけたらまずスクエニに通報しなきゃいけないよな?それを怠った発見者やメディアは批判しなきゃな?(嘲笑2021/05/19
  • 歴史ゲームフラグをバイト単位じゃなくてビット単位で使ってまでメモリーを節約。2021/05/19
  • 2021/05/19
  • 2021/05/19
  • ゲームoldies2021/05/19
  • 0から3までカウントするのにきっかり2ビットしか使わないんだな。今では真理値にも1バイト=8ビット使っちゃうから、えらい時代になったな。2021/05/19
  • 2021/05/19
  • バッファオーバーフローしてるのおもしろい2021/05/19
  • 2021/05/19
  • もういいから2021/05/19
  • “メモリー容量の問題もあり、2進数が3桁や4桁になってしまうと隣のフラグまで侵食。「にげる」のカウンターの隣の隣のフラグは、たまたまパルプンテにおける会心の一撃が連発するフラグを担当していた”2021/05/19
  • 2021/05/19
  • ゲームネタ2021/05/19

    新着記事

    新着記事

    ピックアップ

    連載・特集一覧

    カテゴリ

    その他

    若ゲのいたり

    カテゴリーピックアップ