0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

先日公開した、ドラゴンクエスト2のふっかつのじゅもん仕組み解説記事について、

船入手のフラグが間違っているのではないか?というご指摘を受けたので、それを確認してみました。

結論

記事の内容は正しくなかったようなので、修正しました。

検証の結果わかったことは、

  • 船の入手イベントはフラグが 0 → 1 → 3 と推移し、通常プレイでは 2 にならない
  • フラグ 2 はフラグ 3 と同じ状況
フラグ (カッコ内は2進数) 状況
0 (00) 何もしていない
1 (01) 女の子を助けた
2 (10) 船をもらった
3 (11) 船をもらった

フラグ 2 と 3 が同じ状況というのは違和感があります。もしかしたら、発見できなかった違いなどがあるのかもしれません。

ご指摘前の私の解釈(正しくない)

ルプガナの街における、船の入手イベントについて、

  • 船入手イベントのフラグは 00, 01, 10, 11 の 2 bit で表現される。すなわち、10進数でいうと 0 ~ 3 の 4 状態がある
  • それぞれは次のように対応している
フラグ (カッコ内は2進数) 状況
0 (00) 何もしていない
1 (01) 女の子を助けた
2 (10) 船をもらった
3 (11) ---
  • フラグが 3 のときは不正な状態であり、仮にそのじゅもんを作成できたとしても、「じゅもんがちがいます」と表示される

本当に上記のフラグが正しいのか、実際に確認してみました。

検証方法

Pythonプログラムを使い、じゅもんの生成・解析を行います。
ドラクエ2 ステータス→じゅもん
ドラクエ2 じゅもん→ステータス

キャラのステータスは以下の通り。

不正な呪文です
ローレシア なまえ  ゆうてい
ローレシア どうぐ  ['ロトのつるぎ(E)', 'ロトのよろい(E)', 'ぎんのかぎ', 'きんのかぎ', 'かぜのマント(E)']
ローレシア 経験値  1000000
サマルトリア王子が  仲間になっている
サマルトリアなまえ  クッキー
サマルトリアどうぐ  []
サマルトリア経験値  1000000
ムーンブルク王女が  仲間になっている
ムーンブルクなまえ  マリア 
ムーンブルクどうぐ  []
ムーンブルク経験値  1000000
ゴールド       65535
復活場所       ムーンペタ
月のかけらを     使っていない
テパの村の水門を   開けていない
みずのはごろもを   織ってもらっていない
船のフラグ      何もしていない ← 今回の検証内容
サマル王子探索フラグ 見つけた
命の紋章       なし
水の紋章       なし
月の紋章       なし
星の紋章       なし
太陽の紋章      なし
パターン       0

ドラクエの25周年記念に Wii ソフトとして販売された移植版のDQ2で検証しています。ファミコン版と同等の内容のはずです。

結果

フラグ 0 でスタート

ルプガナ初訪問時、フラグは0です。

フラグ0.jpg

  • 女の子がグレムリンに襲われている
  • 船は未入手
[使用呪文]
ぱゆれ  ろねけ  きみめと
にとよ  しちく  ごるめら
くらぶ  まやに  ぽとぬち
て

グレムリンを倒した。フラグは 1 に。

グレムリンに襲われている女の子を助けることで、フラグが一つ進みました。
下の画像は、一度ゲームをやめ、再びルプガナの街に戻ってきた状態です。

フラグ1.jpg

  • 女の子と、そのおじいさんのセリフが変わる
  • 船は未入手
[この状態で聞ける呪文]
ぱゆれ  ろねけ  きみめと
にとよ  しちく  ごるめら
くらぶ  まやに  ぽとぬち
て

船を入手した。フラグは 3 に。

女の子を助けたお礼に、おじいさんから船をもらえます。

フラグ3.jpg

  • 女の子とおじいさんのセリフは、フラグ 1 のときと同じ
  • ルーラをすると、船も一緒についてくる状態
[この状態で聞ける呪文]
ぱゆれ  ろねけ  きみめと
にとよ  しちく  ごるめら
くらぶ  まやに  ぽとぬち
て

フラグ 2 がない?

以上から、フラグ 2 を経由していないことが分かります。
フラグ 1 → 3 に移る過程で、2bit目(2進数の右から2ケタ目)しか変化していないので、次のような仮説が立てられそうです。

【仮説】
フラグの 1 bit目は、女の子を助けたかどうか
フラグの 2 bit目は、船を入手したかどうか
をそれぞれ表す

つまり、「女の子を助けたかどうか」と「船を入手したかどうか」が別のフラグで管理されているという説です。

この仮説が正しければ、フラグが 2 (10) のときは、「女の子はまだ助けていない」かつ「船は入手済み」という、通常プレイではありえない状態になるはずです。
すなわち、フラグが 2 となる呪文を入力すると、不正な状態とみなされ、「じゅもんがちがいます」と表示されることが予想されます。

フラグ 2 で試してみる

呪文作成プログラムで、フラグを 2 とした呪文を作りました。

[使用呪文]
めこせ  せべれ  らぺいじ
ずにら  したか  ぎゆへむ
あまげ  なのこ  じかくあ
い

入力してみます。

フラグ2.jpg

通りました。

フラグ2復活.jpg

状況を確認すると、

フラグ2女の子.jpg

  • グレムリンは既に倒されている
  • 船は入手済み

これはフラグが3のときと同じ状態です。
すなわち、女の子を助けた後の状態でしたので、仮説は正しくなかったようです。

まとめ

  • 船の入手イベントはフラグが 0 → 1 → 3 と推移し、通常プレイでは 2 にならない
  • フラグ 2 はフラグ 3 と同じ状況

もしお詳しい方がいれば、コメントいただけると幸いです。

クレジット

このページで利用している株式会社スクウェア・エニックスを代表とする共同著作者が権利を所有する画像の転載・配布は禁止いたします。
© 1987 ARMOR PROJECT/BIRD STUDIO/SPIKE CHUNSOFT/SQUARE ENIX All Rights Reserved.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?