ブレス2の様々な「謎」について・・・提起編
初版作成 2020.5.6
最終更新 2020.9.9(トップページ未反映)

 まず、このページは攻略記事ではありません。
 ブレス2にはまだ未解明、解明不十分な「謎」・「仕様」があります。ここでは私が思う未解明な謎、話題に上がってくることが多いものの良く知られていない仕様?をまとめたメモっぽい覚え書きを記しておきます。
 こちらは「提起編」。解きたい謎を提起したページです。謎が解決、および何か情報が手に入ったら「解決編」に記載・追記していく予定です。新しい謎が浮かんだ、提案されたらこちらに追記されることもあるかも。
 え?自分で調査しないのかって? 時間ないんですよ・・・orz

 調査していただける方を募集しています! できる限り詳しく聞きたいので、調査方法・過程などのメモを残してくださると大変助かります。

注意!!
 以下の記事は、SFC版ブレス2の仕様調査という前提の元に記載しています。GBA版でどれだけ相違があるかは不明です。
 主に内部データを含む非公開仕様を調査するための覚え書きとなっており、その性格上、文中では改造および解析ツール・エミュレーター・チートコードに関する記述、およびこれらのツールを使用する前提の記述がものすごく多くなっています。これらについて良い感情を持っていない方、苦手意識がある方はこれ以降の文を読むのをやめることをお勧めします。
 

参考資料・引用元:このページでは以下の資料を参考・引用しています。
 Breath of Fire 2 Handbook written by Ben Siron(英語)
  URL:https://gamefaqs.gamespot.com/snes/563530-breath-of-fire-ii/faqs/5436
  ・・・Ben Siron氏による海外版ブレス2の攻略テキスト。どうやって調査したのかと思うほどの内部データも含め、非常に充実した情報量が魅力。テキストデータながら300KBを優に超えるボリュームで書かれています。
  最新版は2001年作。Webの海には同じ内容のテキストが複数散らばっていますが、とりあえずグーグルで一番上に出てきたこのページを参考URLとして掲載。このURLの親ページを「海外フォーラム」と表記します。
  海外の方が作ったテキストのため当然英語ですが、深い知識を得たいなら一度はグーグル翻訳を駆使しつつ読むべき攻略書。なお、有志によってテキスト内の誤記・不足記事などの修正が加えられているバージョンも現在進行形で作成中のようです。
  当ページでは以下の記事内で「ハンドブック」と表記しています。

 その他:「スーファミチート Wiki」他各種サイトからいくつかのチートコードを知識として仕入れています。
 

なんでこんなメモを作ったのか?
 2020年4月になってNintendo Switchでも条件によってはプレイ可能となったブレス2。当ページを含め、いくつか攻略ページもあり、普通に進めるだけなら十分快適に進められる環境にあります。英語が読める方なら「ハンドブック」もあり、深い知識が得られることでしょう。
 ただ、ブレス2にはそれでもまだ知られていない、良く分かっていない仕様がかなりあります。しかし古いゲームでもあり、それほどメジャータイトルでもなく、これら謎仕様を調査する人が少ないのが現状。ここでまとめることによって、できればその調査が少しでも進んだら俺得だなぁ、という意図で作りました。つまり他人任せ(爆)。
 

何が知りたい?
 主に以下の項目です。
・乱数による影響を受ける様々な仕様について。
 ・・・特にこれがメイン。色々あります。

・共同体住人の調査。(こちらは解決しました)
 ・・・調べたいと思っているのは2名。ベレッタとマーチンです。ベレッタはラインアップ更新の行なわれ方(どうやって更新を表現している?)、マーチンは当ページの調査が足りない?と思われる効果っぽいものを海外サイトで発見したため。

(以下、2021.1.3追加)

・ド・ブンバ・ラ獲得のためのナマンダ寺院ミニゲームの難易度
 ・・・ミニゲームのリズムゲームでボタンを押すタイミングはどこまでずれてもOKなのか、など、判定基準について。乱数が絡まない項目。

・調合システムについて補足調査
 ・・・海外の解析者によって大部分のことが分かったものの、まだ「失敗率」・「ボーナス調合の仕組み・確率」が調べきれていない。ここを調査できるか。乱数固定・逆アセンブルを駆使すれば何とかなる? 乱数が絡む項目。

・アイテム「闇鍋」の効果
 ・・・内容は単純。いくつの可能性があって、どれくらいの比率で発動するのか。そして、いつ発動魔法が決定されるのか。
 

調査前に・・・ 現在分かっていること
 TAS(Tool Assisted Speedrun:1フレーム単位の操作や追記[細かいやり直し]など、エミュレータの様々な機能を用いて、あるゲームにおいて、実機で全てのシーンで理論値最高の動きができた時の記録を追求するプレイ)動画において登場する「乱数調整」と称される動きから、以下のことが分かります。
・ランダムエンカウントは1〜数フレーム待って歩けば回避可能。ただ全て回避できるかというとそうでもないらしい?
・戦闘時、行動開始フレームをずらせば必殺・回避も調整自在。

 一方、公式エミュレータとも言える、巻き戻し機能が付いたSwitch版のプレイヤーから、以下の現象が報告されています。
・敵ドロップ所持アイテムは、戦闘開始時には決まっている。戦闘が始まってしまえば、何回巻き戻してもドロップ内容は同じ。

 また、ハンドブックには様々な内部データも調査・掲載されており、敵ごとの細かいドロップ率なども分かります。
 さらに、SFC版ブレス2のチートコード(改造ツール・エミュレータ使用プレイ時、特定のメモリ内容[この記事内では以下「アドレス」と表記]を特定の数値に書き換えることで望む結果を得るコード)がいくつかのサイトで挙げられています。主に敵・味方のHP操作やアイテム操作などですが、共同体住人もいじれるコードもあるようです。
 

「乱数」について
 これから後で提起する「私が調べたい事柄」の多くに「乱数」が絡んでいます。では、ブレス2の乱数はどうやって生成されているか?
 これは、ハンドブックの一番最後に「乱数ジェネレータ」という記述があり、(これをどう調査したのかは分かりませんが)この通りであれば、以下のアルゴリズムで乱数を発生させていると推測されています。乱数発生時間は最低でも60分の1秒ごと(おそらくは乱数を使用していない場面での乱数の空消化時の話で、乱数が使われる場面ではもっと早く発生しているはず・・・ 乱数を使う各所のプログラム処理に60分の1秒単位の待ち時間を作っている場合は別)とのことで、乱数周期(乱数の数列が1周:最初と同じ数列並びが出現するまでの一定の固まり)は41824個になります。
(「/」はその行の日本語訳のようなもの。他言語に訳してプログラム化するときの参考に・・・ そもそもC言語から見て日本語訳が間違ってたら指摘希望。)

WORD seed = 0xbbd1;
/WORD属性(符号なし短長整数型:0〜65535の整数を取る)の乱数種初期値seedに、初期値として48081(0xbbd1は16進数表記)を設定
(※ゲーム表記では16進数が上位2文字と下位2文字が逆に書かれることが良くあるので、その場合の表記はd1bb=そのまま10進数に直すと53691・・・メモリビューアーで見たらこっちの数値が出てくるかも?)

BYTE rand( )
/ここから乱数生成アルゴリズム
{
WORD a = seed * 5;
/乱数種を5倍し、2進数16ビットより上を切り捨てた (=65535以下になるまで、必要な回数だけ65536を減じる)数値をWORD属性のaに代入
seed=48081×5=240405→65536を3回引いて43797

a = (a << 8) + (a >> 8);
/aの2進数上位8ビットと下位8ビットを入れ替えてaを書き換える
 (=aを256倍してから65535以下になるまで、必要な回数だけ65536を減じ、さらにaを256で割って小数点以下を切り捨てた値を足す)
43797÷256=整数で171(=新たなaの2進数下位8ビット)
さらに43797×256=11212032、11206656(65536×171)を引いて5376
新たなa=5376+171=5547

seed = (((seed + a) & 0xff)<<8) + (a & 0xff);
/「乱数種seedにaを足した値から、2進数16ビットより上を切り捨てた値」の2進数下位8ビットを256倍し、aの2進数下位8ビットを足したものを次の乱数種
seedとする。aの2進数下位8ビットは1行上で算出済
新たなseed=31744(48081+5547=53628:2進数下位8ビットは124で、256倍=31744)+171=31915(16進数で7CAB:逆書きでAB7C=43900)

return a & 0xff;
/aの2進数下位8ビットを乱数結果として返す
返り値=171
}

このアルゴリズムを
1回回すと1回目のa=43797、2回目のa=5547、新たなseed=31915、返り値=171
2回回すと1回目のa=28503、2回目のa=22383、新たなseed=6767、返り値=111
3回回すと1回目のa=33835、2回目のa=11140、新たなseed=18039、返り値=132
・・・他言語で処理スクリプトを作り、5万回まで回した結果の全リストはこちら(CSV形式テキスト:1993KB 表計算ソフト必須、激重注意!)。計算結果が41825回目から1回目に戻りループしているのが分かる。

 ハンドブックの乱数ジェネレータが正しいことを前提にし、ここまでで得られた数値表を使って、乱数が格納されているメモリ内容を探ることができれば使用調査の大きな手助けになり得ます。このジェネレータが間違っていたら役に立たないけど・・・ それでも乱数が回っていると目される場面で不規則に目まぐるしく数値が変わっているアドレスがあれば、そこが乱数または乱数の種と推測できそう。
 ただ、この調査にはTAS技能が必要となりそうです。ブレス2起動直後の1フレーム目(起動から60分の1秒後)からメモリの海をチェックすると分かる可能性があります。もちろん実機(改造ツール環境)で起動即メモリ閲覧は非常に難しいので、エミュレータを使うことになると想定されます。しかも、乱数の計算結果や乱数の種がメモリに格納されているとは限らない(ただ、計算式の一部としてでも、変数としてでも、何かの形で乱数を使っているのであれば、その「数値」がどこかに現れるはずではある。よって格納されていないとは考えづらいところ)。茨の道となりそうですが、調査できた時のリターンは大きい。
  ブレス2が起動即乱数消化するゲームだった場合:1フレーム目で8ビット値が171(または111?)、かつ2フレーム目で111(132?)のアドレスを探す。数フレーム進めて乱数表通りならそこが乱数アドレス。あるいは、乱数の種が格納されているアドレスが分かるかもしれない。計算式が違っていたとしても、数フレーム回して数値がバラバラに変化するアドレスがあればそこが乱数発生ポイントの可能性濃厚。
  ある特定のタイミングから消化が始まるゲームだった場合:その消化開始タイミングを探るところからスタート。あとは同上。

(2020.9.9追記)逆アセンブルの結果、このアルゴリズムは、初期値が間違っているようだということと、最終行の計算式が間違っていることが判明。再計算必須と相成った。再計算も完了したので解決済とする。
 ・・・正確なアルゴリズムを10万回まで回した結果の全リストはこちら(カンマ区切りCSV形式テキスト:4697KB OpenOffice Calc書類:6805KB 表計算ソフト必須、超激重注意! 中身は16進数表記箇所を計算式でやっているかベタ書きしているかの違いだけで、ほぼ同一)。計算結果が57973回目から1回目に戻りループしているのが分かる。
 上記リストから乱数結果だけ抜き出したテキストファイルはこちらからどうぞ(447KB)
 

何を、どうやって調べたい?・・・「調べたい事柄」の提起
 大きく、乱数が絡む項目・乱数が絡まない項目の2つに分かれます。

(乱数が絡む提起項目)
 乱数アドレスを見つけたらそのポイントを見ながらゲームを動かすことで、以下の事柄の調査ができると思います。

・ブレス2はエンカウント率が高いと評されることが多いが、具体的なエンカ率はいくつ? どのタイミングで判定している? 詳しい仕様は?
 ・・・ハンドブックでは「戦闘終了後やマップ切り替えのタイミングで一定の値を得て1歩ごとに減算、0以下になったらエンカ(エンカ率次第:低エンカ時20+(0〜255)で1歩ごと−5、中エンカ時32+(0〜255)で1歩ごと−7、高エンカ時60+(0〜255)で1歩ごと−15)」としているようだが、ハンドブック自身で反例を見つけており曖昧、というより疑問符的な書き方をしている仕様。実際、TAS動画から、完全な歩数エンカではないのはほぼ確定している(無限の塔内部を、数フレーム待ちつつ歩いてエンカなしで進んでいるため。歩数エンカならそんな「待ち」を入れる必要はない)。ただし経験則的にも推測計算式的にも、最初の3歩はエンカなし保証は間違いない。
 高エンカ、低エンカ時、それぞれ乱数値<xならエンカウント? または1歩歩くごとにエンカウント係数がxだけマイナスされ、0以下でエンカ? のxが判明できるはず・・・ エンカなしのチートコード=調べるべきであろうアドレスはあるので、そこを見ればxおよびエンカ仕様はかなり分かりやすいか?
 確率が分かったら、「どのタイミングで判定しているか?」の調査。これはランドのスピンダッシュ停止時のエンカ判定にもかかってくる(回り始め、ぶつかった直後、回り終わりのいずれか?)。

(2021.1.3追記)海外のフォーラムで解析している人を発見。かなり詳しく出ていたので後回しor打ち切りの予定。解釈してどこかに記事にまとめる方針。

・敵編成パターンの決定機構
 ・・・画面に入りきらないなどの理由で、特定エリアに出現する敵の中から完全ランダムに編成されるのではなく、いくつかのパターンがあるはず。大生物の島を例に挙げれば、「グミ・ガンヘッド・ハエ・グミオウ1・2・3体」のようになっていて、大生物とグミオウのセットは出現しない。では、これらがどんなパターンで決定されているか調べられないものだろうか。
 候補:エンカする乱数を引いたら、1つ次の乱数値を使ってパターン決定? パターン表がメモリのどこかに眠っていないだろうか。眠っているとしたらROMの中だろうか? パターン表の自作は、乱数パターンが分かればとにかく時間をかければローラー作戦で可能(合体ステンのすり替えが有効:ランダムエンカ乱数に引っ張られずに敵編成を変更できるため)。

(2021.1.3追記)海外のフォーラムで解析している人を発見。かなり詳しく出ていたので後回しの予定。解釈してどこかに記事にまとめる方針。ただ乱数がどれくらい絡んでいるか、までは書かれていなかったような・・・

・各敵のアイテム所持決定フラグ決定方法のようなもの
 ・・・現状では、戦闘開始時にはすでにアイテムドロップ結果が決まっていることが既知。そして各敵の所持アイテム・ドロップ率(ドロップ率は各敵で256分の1〜4分の1まで指定されており、0〜255の乱数から選ばれた乱数が設定値以下でドロップ獲得、かつ4で割れる値を取ったときにレアアイテムが引ける)・抽選方法(各敵ごとに所持判定、かつアイテム持ちの敵の中で最後に倒した敵のものがドロップアイテムとして反映)はハンドブックにまとまっていて既知とされる。
 あとはドロップ抽選に必要な乱数がどう決定・格納されているか分かれば勝ち・・・ なはず。以下は現時点での個人的な推測。

 ドロップ内容は戦闘開始時に決定している、かつ各敵ごとにドロップ判定がある、を満たす処理としては、
・各敵ごとに戦闘開始時にドロップ値を決定しておく。ドロップ値がドロップ率以下なら何か持っている、4で割り切れればレア品。
・実際に敵を倒した順に判定を拾ってくる。複数アイテムがドロップする判定の場合は、一番最後に倒した敵のものだけもらえる。
・逃げた敵については、倒していないので判定対象に入らない。倒せば判定対象に入る。

 ・・・が一番自然? 開始時に決まっているのはドロップ結果ではなく、各敵のドロップ所持品ではないか? と推測している。内部格納処理的な話では、アイテムデータそのものが入っていて倒したらそのまま獲得できるのか(敵ごとに「持ってない」or「獲得できるアイテム」の2択で格納される)、獲得乱数が入っていて該当敵を倒したときにデータベースを元にチェックし、ドロップOKなら獲得できるのか(敵ごとに毎戦闘0〜255のランダム数値が格納される)、が不明かつ仕様の急所ポイント。
(2020.5.8追記)敵のドロップアイテムは戦闘開始時に決まっていることが確定。上記推測通りだった。所持方法は「アイテム番号そのもの」と分かった。ここから先はまだ分からない。

・逃げない敵1体編成なら結果は変わりようがないので戦闘開始時決定と同義。
・敵2体編成なら、両者が違うアイテムをドロップしない限り倒す順番に関わらず内容は一緒。
 違うアイテムがドロップする場合、倒す順番によってゲット品が変わる。全体攻撃による一掃の場合はウインドウの右下に出る敵から左向きに優先判定?
・↑に絡み、レアアイテムは文字通り確率が低く(ハンドブック通りなら、ラグナライダー[N.Rider]のノートゥング[NoTwinRP]で1/32×1/4=1/128:ドロップ値7以下でドロップゲット、0か4でノートゥング)、同時にコモンアイテム(例:マルスの盾[MedusaSH]:3/128)も2体目から引くというドロップ運が乱数テーブル的に存在しない、または意図的に存在させていない。

 ・・・といった処理がされているのではないかなぁ、となんとなく解釈している。ラグナライダーの例で言えば、ラグナライダー2体が出てきて、マルスの盾とノートゥングをそれぞれが持っている時に限り、倒す順番でドロップ内容が違う、という推測。
 ここで例をビッグハンドに変えると、ビッグハンドの場合は全体1/128:パワーフードとマンモの毛皮がそれぞれ1/256の確率になるので、2体編成かつ65536分の2(ドロップ乱数0・1または1・0を引く)を引かないと起きない事象となる。
 本格的に調査するならレアアイテムではなく、もっと確率が高い普遍的なアイテムを狙うと、この辺りが少しはっきりするのかも? でも、リストを見る限り、ドロップ率が高そうな敵はボス=1体ばかり、雑魚ではあってもせいぜい32分の1程度で、出現数がまとまらない敵も多くて厳しい・・・ 女王の体内でしぼうとペプシンを狙うなどでワンチャン?
 で、ハンドブックの乱数アルゴリズムから、マンモの毛皮の場合は、41824通りの乱数パターンの中から「0・1」または「1・0」の連続した数字が出てくる箇所があるか、という話なのだけど、結果CSV表から探す限りは乱数が0・1または1・0と続く箇所はない。つまり普通に考えればどちらかしか落ちない。
 もっと言えば、敵出現パターンの乱数から2体編成を引き、その後のドロップ判定を突破しないとならない。無限の塔内部の他の敵編成も入ってくるから、それを掻き分ける突破運も必要。抽選中に他の処理が入る要素がない場合、実質3連続で良い乱数を取らなきゃならない。そんな乱数が存在している気がしないなぁ・・・
 ただランダムエンカの場合、敵素早さに数ポイントのプラス補正(ボス戦では敵に補正なし)がされるとのことなので、その分乱数は回る。その分が抽選の乱数飛ばしにもかかってくれば可能性あり?

(2020.5.8追記)現在は「各敵がどういう機構で所持ドロップアイテムを持つに至るか」の調査に移行。

・物理攻撃の必殺率
 ・・・肌感覚として、調子によって必殺率は大きく変わること、パラレル陣形にすると必殺率が上がることは感じている。では実際はどうなのか? 各個人に固有の率、それに加え調子による変動、陣形[パラレルとそれ以外]による変動具合を調べたい。
 攻撃時に必殺になるか、敵の攻撃を回避できるか、など戦闘関連の行動はほぼ全て、ターン開始をずらすことで調整できることはTAS動画で既知。ではその乱数をいつ取ってきているのか? の話。
 実運用的にはそのキャラが敵味方で1番手で行動する場合は、実質の決定タイミングは「ターン開始直後=最後のキャラの行動入力決定時」でいい。しかし2番以降に行動する場合は前のキャラの行動がのちの行動に影響してくる(先に誰かを倒したことで行動人数がずれる、単体魔法・全体魔法のどちらを使ったかで乱数消費数が違う、など)ので、どのタイミングで攻撃乱数を拾っているかの調査は、ここを注意しないと間違えそう。何となくの予想だが、各キャラの行動(実際に動きだす)タイミングで必要数の乱数を取ってきてるような気がする。行動決定時に各人の乱数全てを獲得して、ターン経過を再現映像のように表示させるプログラムは、実際作るとかなり面倒だし可能性はかなり薄そう。推測が正しいとしたら、前の行動者の行動アクション(エフェクト)の時間の長さが乱数消化にも影響することを意味する。

 その上で、以下のような手順で調査する。調査1ができないと先に進めないのでとにかくそこからスタート。
※調子パラメータ自体は通常4段階(まずまず・ふつう・ええかんじ・バリバリだぜ)で、ハンドブックによると内部的には0〜255を取る。64ごとに1段階UP。それ以外に「呪い」ステ異常の結果陥る最下位(だめみたい)が存在する。ハンドブックによるとビッアを使用すると調子は225(255ではない)になるとのこと。
 この調子パラメータは、パーティー4人分のチートコードが既に分かっているので変更可能。

1(重要):調子をまずまず(内部数値0)にし、陣形ウォークアバウトで先頭・1番行動で攻撃。必殺が出る乱数と乱数を取ってくるタイミングを調査。必殺率調査だけならコマンド決定タイミングを1フレームずつずらして2000回くらい(理想は乱数1周分)攻撃すれば推測はできると思うけど、乱数値さえ分かってしまえば乱数値そのものが必殺率となる。おそらくは乱数値=x以下[以上]なら必殺、となるはずなのでそれを調査。
2:調子まずまずで内部数値を63にし、同条件で調査。確率に違いはある?
3:残りの3調子を同じキャラと陣形で調査。どのくらい確率が上がるか?
4:調子0にし、陣形スクランブル・キープライフで先頭・1番行動で攻撃。ウォークアバウトとの必殺率の差は?
5:調子0にし、陣形パラレルで先頭・1番行動で攻撃。ウォークアバウトとの必殺率の差は?
6(4と1が同じという結果ならおそらく3と同じ結果が得られるから飛ばす):調子を上げ、陣形スクランブル・キープライフで先頭・1番行動で攻撃。ウォークアバウトとの必殺率の差は?
7:調子を上げ、陣形パラレルで先頭・1番行動で攻撃。ウォークアバウトとの必殺率の差は?
8:調子まずまず(内部数値0)、陣形ウォークアバウトで2〜4番配置・1番行動で攻撃。調査1との差を確認。
9:呪いのステ異常を付加し、、陣形ウォークアバウトで先頭・1番行動で攻撃。必殺は出る?
10:キャラを調査1と違うキャラにし、調子まずまず(内部数値0)、陣形ウォークアバウトで先頭・1番行動で攻撃。調査1との差を確認。
11:キャラを調査1と同じキャラにし、調子まずまず(内部数値0)、陣形ウォークアバウトで先頭・2番行動で攻撃。1番行動キャラは自分を殴る。調査1と同じく乱数を取ってくるタイミングを調査。

 ・・・似た項目で「反撃率」の調査も可能かもしれない。さらに、可能であれば「反撃必殺」(必殺を先に出したターン、そのキャラの反撃は全て必殺になる)現象の原因も調査できればベスト。

(2021.1.3追記)海外のフォーラムで解析している人を発見。かなり詳しく出ていたので後回しor打ち切りの予定。解釈してどこかに記事にまとめる方針。

・魔法攻撃の必殺率
 ・・・魔法攻撃にも、物理攻撃と同様「必殺」[well-casting]が存在する。発動するとダメージ1.5倍になり、魔法と背景の組み合わせ次第で背景が変化したりする。氷河のかけらなど一部の上位の道具魔法は絶対に必殺魔法になり、かき氷など下位の道具魔法は絶対に必殺魔法にならない。
 この確率は物理の必殺率よりも低そうだということしか何となくイメージできないでいる。ハンドブックによると、魔法必殺率は賢さ・根性・調子によって最大50%、さらにその他ボーナスで変動する、ということが書いてあった。また、どくろの腕輪装備で魔法必殺率が50%に固定される、とも記載があった。こんな使い方があるアイテムだった・・・ のか?
 この確率も陣形で変化するのか? 陣形で変化したら50%を上回れるのか(その他ボーナスに加算?)? 3パラメータの変動による確率の変化はどれくらいか?

・スターブリンガー獲得確率
 ・・・盗人の墓・床イベントがいつ決まるかも含め調査するもの。
 通常戦闘の中に特別なプログラム分岐を仕込むよりは戦闘後に処理した方がスマート(魔女の塔入り口など、他にも戦闘終了をフラグとしたイベントは存在するため)なはずだから、戦闘終了後のどこかで決定している気はする。ではどのタイミングの乱数が決めているのか? 実運用的には戦闘勝利し結果メッセージを全て送る、または逃げるコマンドを選択した(そして逃げ切り成功した)瞬間でいいだろうが、実際にはどこで決まる? さらに各々のイベントの確率は?
 付け加えれば、スターブリンガーは複数本拾えるのか?

(2020.5.18追記)とりあえず、床イベント決定タイミングは戦闘終了直後〜暗転終了前までと分かった。具体的な確定ポイント調査、およびイベント確率分布調査はまだできていない。

(乱数が絡まない提起項目)
 乱数が絡まない調査項目としては、以下のものが提起されます。改造ツール・エミュレータによるメモリ解析やチートコード入力が調査の前提。

・敵のステータスを格納しているアドレスの調査
 ・・・ある敵1番目の現HP格納アドレスは、チートコードとして存在する「敵HP0」から流用できる? 敵パラメータ群のアドレスは固まっていた方が効率的なはずなので、所持ドロップアイテムアドレスを調査するならここをアタリとして探すのがいいか。主に調べたいのはステータス変化のフラグが立っているポイント、素早さ補正のかかり方(通常モンスターは出現時、素早さに何ポイントか補正がかかっている。素のステータスに足しているのか、素のステータスに加えて補正値が格納されているのか。なお、ボスにこの補正はかからない[ハーピー3姉妹は敵内の行動順が固定でないと不都合があるため])、ドロップアイテムの扱い。
 なお、戦闘後にドロップするアイテム自体はそれ専用の格納アドレスがあるらしく、確実に指定アイテムを1個ドロップするチートコードが存在する。獲得経験値合計格納アドレスもあるので、おそらくはドロップアイテムも変更発生時に格納される扱いか(ドロップアイテム初期値は0で、0以外になるときにアイテム番号で上書き)。

・共同体の調査・・・全て解決済み!
 ・・・使用している家、および入居住民のアドレスはチートコードとして挙がっている。ただ住民名までは挙がってない。
(本命調査:ベレッタの商品群変更処理の仕方)
 ベレッタの進化タイミングは、ハンドブックによると3回(名人の笛を獲得しハイランド城から帰ってくる、ファマ村でランドの母がさらわれる=ランドの家にやってきたエバの使いを倒す、ガードアイを倒しエブライを破壊する)提示されている。ここを過ぎることで商品群が進化することを、ゲーム内のメモリ変更でどう表現している? ベレッタ1・ベレッタ2・ベレッタ3・ベレッタ4という住人がいる? あるいはどこかに違うフラグがある?

(2020.5.8追記)ベレッタはデータ上も1人しか存在しないことが分かった。「いつ、どんな形でフラグが変わるか」の調査に移行。

(2020.5.20追記)品揃えランクを管理する「進行点」のようなシステムが存在することが分かった。実はその他の住人も巻き込んだシステムの存在が発覚したことになる。最終調査「いつ、いくつ進行点が進む」の調査に移行。
(2020.6.5追記)ポイントが解明された。解決済。

(付帯調査:マーチンの役割)
 ・・・これは単純に今まで調査不足だった? という話題。
 音楽の国の女王をダイエットさせる前に加入させ、先に3000Z払ってからダイエットさせれば5000Zをもらえる、という記述が海外サイトにあった。参考URLは以下の通り。これは本当だろうか?
 参考URL:http://edbof2.tripod.com/tenants.html のMartinの項目

(2020.5.12追記)微妙に文章解釈をミスっていたようだ。「ダイエット成功までに加入させないと何も起こしてくれない(5000Zもらえない)」ということらしい。

(2020.5.18追記)この解釈もミスだったようだ・・・ かなり単純なイベントで、解決にかなり近づいた。最終調査「ストーリー進度がどこまで許されるかの調査」に移行。
(2020.6.5追記)ベレッタのシステムの解明と並行し調査完了。解決済。

・仲間のドラゴンズティアの色における特能制限・感情の深まり方・・・解決済み!
 ・・・GBA版ではティアの色によって特能使用に制限がかかるものがいくつかあった(バルハラー・ドメガ・リフレスト・リバルラの4種)。しかし海外サイト(参考URL参照)を見ていて、実はこれはSFC版にもあるのではないか? という疑惑が浮かんでいる。
 GBA版では経験値が2倍になり、SFC版ではなし得なかったレベルのスピード育成ができたが、その反動で戦闘回数が足りずに特能制限が発動しやすかった。SFC版でも実は見えにくいだけで特能制限は存在していたのでは? というお話。
 ティアの色、もといパーティー各人の感情値はチートコードが存在するのでいじれる。0〜255を取る。パーティーに加えて戦闘を重ねることで色が良くなっていく=感情値が上がっていくのはSFC・GBA版共通の仕様。実際に1戦闘当たりどのくらい加算されるのか? が調査対象。
 参考URL:https://kwhazit.ucoz.net/trans/BoF2/drgntear.html

(2020.5.8追記)そこそこ調査が進み、「特能制限はSFC版からあった」と確定。さらに感情値は「ある特定の敵を倒す」と深まることが判明。続けて最終調査「どの敵を倒すとティアの色が進むか」の調査に移行。
(2020.6.5追記)全モンスターの調査完了。解決済。
 

その他
 厳密にはゲームの仕様の話ではないですが、個人的に知識として仕入れたい項目。

(Herb 9.0 Glitchというバグ技について)
 ブレス2には俗に「Herb 9.0 Glitch」と呼ばれるバグが存在します。詳しくは参考動画1と2を参照してください。簡単に言うと下取りコマンドを使用したバグで、高額下取りを行なうことができてゼニーがほぼ無限に手に入る、防具が複製できる、特定の道具を装備品扱いとして装備できアイテムとして無限使用も可能、といったゲームバランス崩壊待ったなしのバグ技です。
 私の中でこのバグについて理解が進んだら、解説記事を書くかもしれません。いつになるか分かったものじゃないけど・・・ しかも解説記事を作ったところで参考動画の解説丸写しになる可能性がかなり高い・・・
 そんな事情で、この事象についての解説記事は今のところ用意していません。このページでの紹介にとどめておきます。

 参考動画1:SFC版 ブレスオブファイアUany%RTA Good Ending 6:34:40 (日本語)
  URL:https://www.nicovideo.jp/watch/sm34158647
  ・・・みっち〜氏によるブレス2の攻略RTA。この動画から始まり全10動画の予定とのこと(2020年5月末現在で未完)。URLは1本目の動画。
  1本目でHerb 9.0 Glitchを使用。2本目まで、およびブロマガで投稿者による解説あり。

 参考動画2:Breath of Fire 2 - Herb 9.0 Glitch - How to get Infinite AE Heal Item, Money and Bugged Weapons(英語)
  URL:https://www.youtube.com/watch?v=9H5dkc-0tMk&t=22s
  ・・・andyw3321氏によるブレス2のバグ技、通称「Herb 9.0 Glitch」の解説。ただし全編英語のためリスニング力必須。正直、私には良く分かりませんでした・・・orz
  Word文書48ページにも及ぶ添付文書へのリンクもあるのですが、こちらも英文のためまだ目を通しておりません。

(デバッグモードについて)
 ブレス1:デバッグデータ開放技について のページで少しだけ触れた話題。Genie Codeを使用する必要があるため改造ツール・エミュレータが必須であり、普段のプレイではほぼ間違いなく見ることはないと思われます。
 色々なことができるようですが、今のところこれも紹介にとどめておきます。何ができるか詳しく分かれば解決編ページに記載されるかも。
 参考URL:https://tcrf.net/Breath_of_Fire_II


ブレス表紙へ戻る