ff_analyzer - ファイナルファンタジーIV〜VI データ解析プログラム

目次

はじめに

本プログラム(ff_analyzer)は、スーパーファミコン(以下SFC)版『ファイナルファンタジー(IV〜VI)』のROMイメージファイル(またはプレイステーション(以下PS)版のCD-ROM)から、モンスター・アイテム・魔法などのデータを解析して、解析結果をテキストファイルに出力するプログラムです。

また、おまけとして、ゲーム内部の文字コードを元にしてバイナリデータをテキストデータに変換するプログラム(ff_decoder)も用意しました。これを使うことで、キャラクタのせりふ集なども簡単に作ることができるでしょう。

なお、解析結果の中には非常に信頼性の低い情報や明らかに間違っている情報も含まれています。ご注意ください。

アーカイブ

アーカイブに含まれているファイルは以下のとおりです。なお、2種類のアーカイブを用意していますが、どちらも内容は同一です。

解析結果出力ファイル(*.txt)

ff_analyzerが解析した結果を出力したテキストファイルです。文字コードはShift_JIS(改行コード: CR + LF)となっています。個々のファイルの内容についての説明は、『出力ファイルについての説明』を参照してください。

また、『ファイナルファンタジーIV イージータイプ』のデータを解析した結果も、"ff4et*.txt"という名前で格納してあります。

ソースファイル(*.c; *.h; Makefile)

ff_analyzer・ff_decoderのソースファイル一式です。文字コードはShift_JIS(改行コード: CR + LF)となっています。

実行ファイル(*.exe)

ff_analyzer・ff_decoderのWin32環境での実行ファイルです。

ドキュメントファイル(ff_analyzer.html)

このファイルです。文字コードはISO-2022-JP(改行コード: LF)となっています。

スタイルシートファイル(style.css)

ff_analyzer.htmlに適用しているスタイルシートです。

実行方法

注意

最初に断っておきますが、ff_analyzerは特に実行する必要はありません。ff_analyzerが出力するファイル群は、すでにアーカイブ内に含まれています。そして、現時点のff_analyzerでは、出力するファイルの内容はオプション指定などに関係なく一定であり、アーカイブ内に含まれているファイルと同一内容のものが出力されるだけです。

ff_decoderで出力するファイルのサイズは、少なくとも変換元ファイルのサイズの2倍以上の大きさになります。PS版のCD-ROMには巨大なファイルがいくつかありますが、これらの巨大なファイルはたいてい動画や音声であって、メッセージデータはおそらく入っていません。巨大なファイルに対してデコードを行うのは避けた方がよいでしょう。

ROMイメージファイルの形式は、基本的にはROMカートリッジの内容を「ベタに」ファイルに書き出したものにしてください(一応、ROMイメージファイルの先頭部分に何らかのヘッダが存在していても問題はないはずです)。なお、Interleave形式には対応していません。Normal形式にのみ対応しています。

書式

ff4analyzer [-fp] [src-pathname] [dst-pathname]
ff5analyzer [-fp] [src-pathname] [dst-pathname]
ff6analyzer [-fp] [src-pathname] [dst-pathname]

"-f"オプションは、「SFC版モード(デフォルト)」を、"-p"オプションは「PS版モード」を意味しています。第1引数(src-path)には、SFC版モードの場合はROMイメージファイル名を、PS版モードの場合はCD-ROMのルートパスを指定してください(例えば、Windows環境でCD-ROMドライブがD:であれば、"d:"としてください)。第2引数(dst-path)には生成されるファイルの出力先のパスを指定してください。第2引数が指定されていない場合はカレントディレクトリにファイルを出力します。

なお、ff4analyzerのSFC版モードでは、『ファイナルファンタジーIV イージータイプ』にも対応しています。

ff4decoder [-smfp] src-filename dst-filename
ff5decoder [-sm] src-filename dst-filename
ff6decoder [-sm] src-filename dst-filename

引数には変換元ファイル名と出力ファイル名を指定してください。"-s"オプションは、「シングルバイト/システム文字列モード(デフォルト)」を、"-m"オプションは「マルチバイト/メッセージ文字列モード」を意味しています。要は、会話メッセージをデコードしたい場合は"-m"オプションを、それ以外の文字列をデコードしたい場合は無指定(あるいは"-s"オプション)にしてください。

ff4decoderには、ff_analyzerと同じく"-f"オプションと"-p"オプションがあり、それぞれ「SFC版モード(デフォルト)」と「PS版モード」を意味しています。

出力ファイルについての説明

ff_analyzerが出力するファイルについての簡単な説明です。

ファイナルファンタジーIV

凡例

各種属性のシンボル一覧(IV)
シンボル 説明
「炎属性」を示します。
「冷気属性」を示します。
「雷属性」を示します。
「闇の属性」を示します。
「聖なる属性」を示します。
「飛び道具攻撃」を示します。
属性攻撃を吸収することを示します。
耐性や弱点の効果を増幅することを示します。

「吸」のフラグは、同時に「炎」「氷」「雷」「闇」「聖」の属性が有効であった場合、それらの属性を吸収する効果を持っています(「飛」の属性については吸収されません)。「強」のフラグは、「属性耐性」の項目において「炎」「氷」「雷」「闇」「聖」「飛」の属性が有効であった場合、それらの属性に対してのダメージが大きく減ります。逆に「弱点」の項目では、それらの属性に対してのダメージが非常に大きくなります。

各種異常ステータスのシンボル一覧(IV)
シンボル 説明
「毒」を示します。
「暗闇」を示します。
「沈黙」を示します。
「豚」を示します。
「小人」を示します。
「蛙」を示します。
「石化」を示します。
「戦闘不能」を示します。
「徐々に石化」を示します。
「狂戦士」を示します。
「混乱」を示します。
「眠り」を示します。
「麻痺」を示します。
「レビテト」を示します。
「呪い」を示します。
「死の宣告」を示します。
「ストップ」を示します。
「瀕死」を示します。
「分身」を示します。
「バリア状態」を示します。
「リフレク」を示します。

「バ(バリア状態)」とは、物理攻撃を無効化するバリアを張っている状態です。

パーティキャラクタのシンボル一覧(IV)
シンボル 説明
CD セシル(暗黒騎士)を示します。
Ca カインを示します。
RC リディア(子供)を示します。
Te テラを示します。
Gi ギルバートを示します。
Ro ローザを示します。
Ya ヤンを示します。
Pa パロムを示します。
Po ポロムを示します。
CP セシル(パラディン)を示します。
Ci シドを示します。
RA リディア(成人)を示します。
Ed エッジを示します。
Fu フースーヤを示します。
Go ゴルベーザを示します。

説明

ff4monparam.txtff4etmonparam.txt / モンスターの数値系データ

モンスターの各種パラメータのリストです。「攻撃回」「防御回」「魔防回」は、それぞれ「攻撃回数」「防御回数」「魔法防御回数」を示します。「魔防力」「魔回率」は、それぞれ「魔法防御力」「魔法回避率」を示します。「魔攻回」は「魔法攻撃回数」を示します。

「レベル」「魔力」「素速さ」という項目は、私の憶測によって決めたものです。「レベル」「素速さ」については、「なんとなくそれらしい値である」といった程度の根拠しかありません。

(2002年3月26日追記)ワンダースワン版ファイナルファンタジーIVの攻略本『ファイナルファンタジーIV マスターズガイド』を見た限りでは、上記の「レベル」「魔力」「素速さ」の推測は正しかったと言えそうです。それにしてもこの本の内容、妙にff_analyzerの解析結果とかぶっているような……。

「レベル」の項目は、「ぬすむ」の成功率に関係しています。「魔力」は、モンスターが使用する魔法の効果に関連する数値です。IVにおいて、黒魔法の効果には「知性」が、白魔法の効果には「精神」がそれぞれ影響しますが、モンスターの場合は「魔力」のパラメータを「知性」「精神」の両方に使用しているようです。

MP」はモンスターのマジックポイントを意味していて、「最大ヒットポイント÷16」の式で求められます。ただし、モンスターは魔法を使ってもマジックポイントを消費しませんし、マジックポイントが不足していても魔法を使うことができるので、この値にあまり意味はありません。せいぜい、アスピルで奪えるマジックポイントの限界量としての意味合い程度しかありません。

「魔法攻撃回数」は「魔力」の値がわかれば算出できるのですが、一応載せておきます。ちなみに、計算式は「1 + 魔力÷4(端数切り捨て)」となっています。なお、「魔法攻撃力」「魔法命中率」は、魔法ごとに固有の値が設定されています。詳しくは『魔法の数値系データ(ff4magparam.txtff4etmagparam.txt)』を参照してください。

ff4monelem.txtff4etmonelem.txt / モンスターの属性系データ

モンスターの属性データのリストです。

「弱点」の項目で「吸(吸収)」のフラグが立つことはないようです。また、「強(効果増幅)」と「吸(吸収)」との両方のフラグが同時に立つこともないようです。

ff4monstate.txtff4etmonstate.txt / モンスターの状態変化系データ

モンスターの状態変化データのリストです。

「状態変化攻撃」という項目は、モンスターの通常攻撃を受けた際に引き起こされる状態変化です。「ボス」のフラグが立っている場合は、状態変化系魔法に対して耐性がつくようです。

ff4monflag.txtff4etmonflag.txt / モンスターのフラグ系データ

モンスターの各種フラグ・モンスタータイプのリストです。

ff4monitem.txtff4etmonitem.txt / モンスターの所持アイテムデータ

モンスターから入手できるアイテムのリストです。

「アイテム1」が最も落としやすいお宝で、「アイテム4」が最も落としにくいお宝です。また、「アイテム1」は「ぬすむ」でも入手できるアイテムです。

「確率」という項目は、モンスターがお宝を残す確率(パターン)を示しています。値が"0"の場合はお宝を残さないようです。反対に、値が"3"の場合は必ずお宝を残します。値が"1"の場合は15/256、値が"2"の場合は75/256の確率でお宝を残します。

確率"2"が設定されているのはバブイルの塔に出現する「てっきへい(No.145)」だけで、このモンスターのお宝は「テント」と「コテージ」です。準備が不十分な状態でバブイルの塔に入ってしまった際の救済措置として、「てっきへい」がテントやコテージを落としやすく設定してあるのではないかと思われます。

4種類のお宝のそれぞれが選択される確率は、以下のとおりです。

4種類のアイテムが選択される確率
アイテム 確率
No.1 128/256
No.2 80/256
No.3 44/256
No.4 4/256
ff4monact.txtff4etmonact.txt / モンスターの行動パターンデータ

モンスターの行動パターンデータのリストです。

モンスターの行動パターンは、「条件」と「(その条件が成立した際の)行動」の2つの要素からなっていて、各モンスターにはこの「条件 & 行動」のデータが1個以上用意されています。そして、複数の「条件」の中から適合するものを選択して、それに対応する「行動」に従って行動パターンが決定されます。なお、適合する「条件」が複数ある場合にどの条件が優先されるのかについては、今のところ判明していません。

行動パターンデータをよく見ると、データの設定を誤ったのではないかと思われるような箇所がいくつかあります。例えば、スカルドラゴンとサウルスゾンビーは、混乱に対して耐性がないにもかかわらず、混乱時の行動パターンが定義されていません。その結果、「混乱させたのに通常時と変わらない攻撃をする」という現象が起こります。

また、バロンの町でのモンクそう(ヤン)との戦闘では、ヤンは「たたかう→けり→たたかう→けり」のローテーションで攻撃してきますが、この「たたかう」の目標が「暗黒騎士のセシル」に設定されています。しかしながら、この戦闘の時点ではすでにセシルは暗黒騎士からパラディンになっていて、「暗黒騎士のセシル」は存在しません。そのため、本来とるべき行動である「(暗黒騎士のセシルに対して)たたかう」が発動せず、結果的に「(何もしない)→けり→(何もしない)→けり」というローテーションになっています。

ff4monmes.txtff4etmonmes.txt / モンスターのメッセージデータ

戦闘中に表示される、モンスターのメッセージのリストです。

ff4monparty.txtff4etmonparty.txt / モンスターのパーティ編成データ

モンスターのパーティ編成のリストです。

「強制」のフラグは、プレイヤー側でコマンド入力などが不可能なイベントバトルであることを表します。「消G2」「消G3」のフラグは、それぞれグループ2・グループ3のモンスターが戦闘開始時に出現していない状態になることを表します。「卵G1」「卵G2」のフラグは、それぞれグループ1・グループ2のモンスターが戦闘開始時にミステレグに入った状態で出現することを表します。

ff4monenc.txtff4etmonenc.txt / モンスター遭遇テーブルデータ

モンスター遭遇テーブルのリストです。

フィールドやダンジョンで出現するモンスターパーティは、場所ごとに最大8種類が設定されています。ここではその8種類のモンスターパーティのリストをモンスター遭遇テーブルと称します。そして、モンスター出現の際にはモンスター遭遇テーブルの中からモンスターパーティがランダムで選択されます。

8種類のモンスターパーティのそれぞれが選択される確率は、以下のとおりです。

8種類のモンスターパーティが選択される確率
パーティ 確率
No.1 43/256
No.2 43/256
No.3 43/256
No.4 43/256
No.5 32/256
No.6 32/256
No.7 16/256
No.8 4/256

なお、アラームを使ったときに出現するモンスターパーティは、No.8になります。

ff4monmap.txtff4etmonmap.txt / モンスター遭遇マップデータ

モンスターの遭遇テーブルとマップとの対応を示した表です。

地上世界のマップは内部的に8×8の64区画に分かれていて、それぞれにモンスター遭遇テーブルが対応づけられています。同様に、地底世界は4×4の16区画に、月世界は2×2の4区画に分かれていて、やはりそれぞれにモンスター遭遇テーブルが対応づけられています。

なお、ダンジョンの各フロアとモンスター遭遇テーブルとの対応についてはまだ判明していません。

ff4chrparam.txtff4etchrparam.txt / キャラクタの初期パラメータデータ

キャラクタの初期パラメータのリストです。

CH効果」は「クリティカルヒット効果値」を示します。クリティカルヒット時の1回あたりのダメージに関係した値のようです。「CH率」は「クリティカルヒット率」を示します。おそらくはクリティカルヒットが出るかどうかに関係した値のようですが、詳しいことはまだわかっていません。なお、装備している武器によって、これらクリティカル関連の値にも影響があるようです。このあたりの推測には間違いが含まれている可能性が大いにあります

内部的にはゴルベーザにも味方キャラクタとしてのデータが存在します。ラストバトルでの「フースーヤとゴルベーザがともにゼムスと戦う」というイベントのためだと思われます。

ff4chrlvup.txtff4etchrlvup.txt / キャラクタの成長データ

キャラクタの成長データのリストです。

各キャラクタの名前の直後にある表は、レベル71以降の能力値増減パターンを表します。ヒットポイント・マジックポイントの項目にはそれぞれ3つずつ数字がありますが、左の数字がそのレベルにおける標準的な値を、カッコ内の2つの数字はそのレベルでとりうる最小・最大の値を表します。

ヒットポイント・マジックポイントの増加量の値域は、「基本増加量 〜 基本増加量×9/8(端数切り捨て)」となっているようです。

ff4itemparam.txtff4etitemparam.txt / アイテムの数値系データ

アイテムの各種パラメータのリストです。「魔防力」「魔回率」は、それぞれ「魔法防御力」「魔法回避率」を示します。

戦闘アイテムを使用した際の処理は、内部的には魔法と同じ扱いになっているようです。よって、戦闘アイテムのデータは『魔法の数値系データ(ff4magparam.txtff4etmagparam.txt)』と同じような構造になっています。

「アサシンダガー(No.049)」「ハンドアクス(No.056)」は、ゲーム本編では使用されていないボツアイテムのようです。他にも使用されていないデータはいくつかありますが、ボツアイテムというよりは単なるダミー領域といった方が近そうです。

ff4itemelem.txtff4etitemelem.txt / アイテムの属性系データ

アイテムの攻撃/防御属性のリストです。

「クリスタル(No.200)」の攻撃属性が「闇」となっていますが、これは「ゼロムスがクリスタルの力で真の姿に変身する」部分の処理を、内部的には「セシルから闇属性の魔法を受けた際のカウンター攻撃」として扱っているからです。

ff4itemstate.txtff4etitemstate.txt / アイテムの状態変化系データ

アイテムの状態変化データのリストです。

非常に信頼性の低いデータが存在します。通常アイテムの状態変化データにいくつか欠落があります。例えば「スケープドール(No.191)」の状態変化に「分(分身)」が抜けています。このあたりに関しては、整合性のある解釈が見つかっていません。

ステータス異常を回復するアイテムでは、「状態変化」の項目に「(そのアイテムでは)回復しないステータス」が格納されているようです。これはアイテムだけではなく、ステータス回復魔法においても同様です。

ff4itemflag.txtff4etitemflag.txt / アイテムのフラグ系データ

アイテムの各種フラグ・装備可能キャラクタ・有効モンスタータイプのリストです。

「磁力」のフラグは、そのアイテムが磁力の影響を受けることを表します。「投げ」のフラグは、そのアイテムを投げられることを表します。「後列」のフラグは、後列から攻撃しても威力が低下しないことを表します。「両手」のフラグは、そのアイテムは両手持ちでないと装備できないことを表します。「反射」のフラグは、そのアイテムを使用した際の効果をリフレクで反射できることを表します。

ff4itemeffect.txtff4etitemeffect.txt / アイテムの効果データ

アイテムを使用した際に発動する効果のリストです。

画面には表示されませんが、「つえ(No.015)」「いやしのつえ(No.016)」「ミスリルのつえ(No.017)」を使用した際の効果には、それぞれ「ポイゾナ」「ヒール」「バスナ」といった名前が付いています。

ff4magparam.txtff4etmagparam.txt / 魔法の数値系データ

魔法・特殊攻撃の各種パラメータのリストです。

「効果値」というのは、攻撃魔法の場合はその魔法の基本的な攻撃力を、回復魔法ならば基本的な回復力を表す値です。多くの場合、「効果値」を4倍(もしくは8倍)した値が「魔法攻撃力」となります。

「比率」は、「じばく(No.078)」「きりのブレス(No.086)」「とうかレーザー(No.122)」のようなヒットポイントに比例してダメージが決まるような「比率ダメージ攻撃」のダメージを算出するための値です。

「ヘイスト(No.008)」の効果値"253"は、おそらく"-3"を意味しているのだと思われます。

ff4magelem.txtff4etmagelem.txt / 魔法の属性系データ

魔法・特殊攻撃の属性データのリストです。

IVのメテオは聖属性である、というのは気付きにくい点かもしれません。

ff4magstate.txtff4etmagstate.txt / 魔法の状態変化系データ

魔法・特殊攻撃の状態変化データのリストです。

非常に信頼性の低いデータが存在します。例えば「ぶんしん(No.071)」の状態変化に「分(分身)」が抜けています。『アイテムの状態変化系データ(ff4itemstate.txtff4etitemstate.txt)』と同様に、整合性のある解釈が見つかっていません。

ff4magflag.txtff4etmagflag.txt / 魔法のフラグ系データ

魔法・特殊攻撃のフラグ系データのリストです。

「ボス」のフラグは、その魔法がボス敵に対して有効であるかどうかを表します。なお、「○がついていればボス敵に有効」というよりは、「×がついていればボス敵には無効」という解釈の方が正しいでしょう。

「1回(魔法攻撃回数が1回固定)」のフラグは、魔法使用者のパラメータに関係なく魔法攻撃回数が1回に制限されることを示します。主に、確率によって効くか効かないか左右されるタイプの魔法が1回固定に設定されています。これらの魔法は、レベルが上がっても(魔法攻撃回数が上がっても)成功確率は変化しないわけです。

「反射」のフラグは、その魔法をリフレクで反射できることを表します。

ff4itemparambug.txtff4etitemparambug.txt

IVには、普通は投げられないアイテムでも盗んだ直後ならば投げられる(ことがある)、というバグがあります。このリストは、投げられないアイテムを投げた際の攻撃力を出力したものです。なお、明らかに盗むことが不可能なアイテムや、盗んでも投げられないアイテムもリストには含まれています。この解析結果は実際に確認したわけではありません

ファイナルファンタジーV

凡例

各種属性のシンボル一覧(V)
シンボル 説明
「炎属性」を示します。
「冷気属性」を示します。
「雷属性」を示します。
「毒属性」を示します。
「聖なる属性」を示します。
「地属性」を示します。
「風属性」を示します。
「水属性」を示します。
各種異常ステータスのシンボル一覧(V)
シンボル 説明
「暗闇」を示します。
「ゾンビー」を示します。
「毒」を示します。
「レビテト」を示します。
「小人」を示します。
「蛙」を示します。
「石化」を示します。
「戦闘不能」を示します。
「分身」を示します。
「沈黙」を示します。
「バーサク」を示します。
「混乱」を示します。
「麻痺」を示します。
「眠り」を示します。
「徐々に老化」を示します。
「リジェネ」を示します。
「無敵状態」を示します。
「スロウ」を示します。
「ヘイスト」を示します。
「ストップ」を示します。
「シェル」を示します。
「プロテス」を示します。
「リフレク」を示します。
「瀕死」を示します。
「スリップ」を示します。
「死の宣告」を示します。

「無(無敵状態)」とは、すべての攻撃を無効化する状態です。

説明

ff5monparam.txt / モンスターの数値系データ

モンスターの各種パラメータのリストです。「」は「素速さ」を示します。「」「」「」は、それぞれ「攻撃力」「防御力」「回避率」を示します。「魔攻」「魔防」「魔回」は、それぞれ「魔法攻撃力」「魔法防御力」「魔法回避率」を示します。

「倍率」というパラメータは、モンスターの攻撃でのダメージ値などを算出する際に使用されます。Vにおいて、ダメージ値の算出式はおおざっぱに言うと「攻撃力×倍率」といった感じになります。そして、味方キャラクタの場合、この式の「倍率」は「キャラクターレベル」によって変動しますが、モンスターの場合は「モンスターレベル」は関係なく、この「倍率」のパラメータが使用されているようです。

「おおボス(No.254)」「ネオゴブリン(No.341)」は、ゲーム本編には登場しないボツモンスターのようです。「おおボス」の方は、開発スタッフがお遊びで入れた隠しモンスターのような気がします。ファイナルファンタジーVIIにおける「テスト0(ガードハウンド)」のようなものでしょうか。

名前の欄が空白になっているモンスターがいくつか存在しています。No.304〜No.307は、ムーアの大森林に出現する「封印を守るもの」です。No.363〜No.366は、ラストバトルのネオエクスデスの4パーツ分です。No.367は、ネクロフォビアとの戦闘の際に出現するギルガメッシュです。

No.255とNo.271については、実際のモンスターとの対応が不明です。No.255の方はダミーのような気がします。また、No.271ですが、サンドウォームとの戦闘において「全体化魔法をかけた」ことを感知するために使われているダミーモンスターではないかと推測しています。

ff5monelem.txt / モンスターの属性系データ

モンスターの属性データのリストです。

「吸収属性」「弱点属性」に同じ属性が重複している場合、まず弱点の効果によってダメージが倍増した後、吸収の効果が適用されるようです。結果的には、吸収した際の回復値が倍増することになります。

ff5monstate.txt / モンスターの状態変化系データ

モンスターの状態変化データのリストです。

「初期状態変化」の項目は、戦闘開始時に最初から適用される状態変化・補助魔法を表します。

「初期状態変化」の項目における「死(戦闘不能)」のフラグは、「初期状態変化が解除されない」という効果を持っています。空を飛んでいるモンスターが、ディスペルをかけられても「地面に落ちない」のは、このフラグの効果によります。

空を飛んでいるにもかかわらず「死(戦闘不能)」のフラグが立っていないモンスターには、例えば「すいしょうりゅう(No.213)」がいます。実際に「すいしょうりゅう」にディスペルをかけると、ライブラで「浮いている」というメッセージが表示されなくなり、タイタン(だいちのいかり)でダメージを与えられるようになります。「すいしょうりゅう」は戦闘開始時からリジェネもかかっていますが、これをディスペルで解除できるように設定したためにこのような現象が起こるのでしょう。

ff5monflag.txt / モンスターのフラグ系データ

モンスターの各種フラグ・モンスタータイプのリストです。

「種族(モンスタータイプ)」の項目には「ボス」というモンスタータイプがあります。ボス系モンスターは、一撃死攻撃や比率ダメージに対する耐性があり、また、攻撃補助魔法の効果持続時間が短くなるなどの特性があります。

同じく、「砂漠」というモンスタータイプがありますが、「人間系」「ドラゴン系」といったタイプと同様に、「砂漠系」とでもいうようなタイプが存在するようです。そして「アクアブレス」はこの砂漠系モンスターに大ダメージを与える攻撃の一つです。

ff5monitem.txt / モンスターの所持アイテムデータ

モンスターから入手できるアイテムのリストです。

ff5monfree.txt / モンスターの「はなつ」行動データ

モンスターを「はなつ」際の攻撃方法のリストです。

もともと捕獲できないモンスターについても、それらしいデータが入っている場合もあるようです。例えば、「ラムウ(No.039)」は「いなづま」で、「てつきょじん(No.199)」は「ロケットパンチ」で攻撃するように設定されています。

ff5monctrl.txt / モンスターの「あやつる」行動データ

モンスターを「あやつる」際の攻撃方法のリストです。

ff5montech.txt / モンスターの「とくいわざ」データ

モンスターの「とくいわざ」データのリストです。

「攻撃上昇」のフラグは、「攻撃力が1.5倍になる」という効果を持っています。「防御無視」のフラグは、「防御力無視・回避不能」の効果を持っています。

ff5monmisc.txt / モンスターのその他のデータ

モンスターの通常攻撃の武器のリストです。

大多数のモンスターは、通常攻撃の際のエフェクトは「素手による殴り」です。しかし、「通常攻撃の武器」の項目に武器の名前があるモンスターは、通常攻撃のエフェクトがその武器で通常攻撃をした際のものになります。なお、武器の特殊効果や性能がダメージに反映することはないようです。あくまでエフェクトにしか影響はありません。

ff5monact.txt / モンスターの行動パターンデータ

モンスターの行動パターンデータのリストです。まだ未完成です

モンスターの行動パターンがどう決まるかについては、基本的にIVと変わりません(内部のデータ並びなどは大きく異なりますが)。「条件 & 行動」のデータが用意されていて、適合する「条件」に対応した「行動」をとります。

3種類の行動が", "をはさんで並んでいる表記は、その3種類の行動のうちどれかがランダムで選択されることを意味しています。1〜3番目のうち、どの行動が何パーセントの確率で選択されるかについては、現在まだ判明していません。

ff5monmes.txt / モンスターのメッセージデータ

戦闘中に表示される、モンスターのメッセージのリストです。

ff5monparty.txt / モンスターのパーティ編成データ

モンスターのパーティ編成のリストです。「逃易」は「逃げやすさ」を示します。

まったくの憶測ですが、戦闘から逃走する際の処理は以下のようになっていて、戦闘中に一定時間おきに以下の処理を行っているのではないかと考えています。

  1. L+Rが押されているか判定する。
  2. L+Rが押されている場合、逃走に成功するか判定を行うために、0〜99(?)の範囲の乱数値を生成する。
  3. 乱数値が「逃げやすさ」未満であれば、逃走に成功する。

「初期出現状態」の項目は、戦闘開始時にそれぞれのモンスターが出現しているかどうかを表します。「モンスター1〜8」にモンスターが存在しているにもかかわらず、「初期出現状態」のフラグが立っていない場合は、そのモンスターは戦闘開始時には出現しないことを表します。

ff5monenc.txt / モンスター遭遇テーブルデータ

モンスター遭遇テーブルのリストです。

フィールドやダンジョンで出現するモンスターパーティは、場所ごとに最大4種類が設定されています。ここではその4種類のモンスターパーティのリストをモンスター遭遇テーブルと称します。そして、モンスター出現の際にはモンスター遭遇テーブルの中からモンスターパーティがランダムで選択されます。

4種類のモンスターパーティのそれぞれが選択される確率は、以下のとおりです。

4種類のモンスターパーティが選択される確率
パーティ 確率
No.1 90/256
No.2 90/256
No.3 60/256
No.4 16/256
ff5monmap.txt / モンスター遭遇マップデータ

モンスターの遭遇テーブルとマップとの対応を示した表です。

第1世界〜第3世界のすべてのマップは内部的に8×8の64区画に分かれていて、それぞれにモンスター遭遇テーブルが対応づけられます。そして、この8×8のテーブルが4種類の地形(平原・森・砂漠(沼)・海)の分だけ用意されています。

なお、ダンジョンの各フロアとモンスター遭遇テーブルとの対応についてはまだ判明していません。

ff5chrlvup.txt / キャラクタの成長データ

キャラクタの成長データのリストです。

最大ヒットポイントの計算式は「基本ヒットポイント×(体力 + 32)÷32」、最大マジックポイントの計算式は「基本マジックポイント×(魔力 + 32)÷32」となるようです。

ff5chrjob.txt / ジョブの各種データ

ジョブの各種データのリストです。

ff5chrcmdparam.txt / コマンドアビリティの数値系データ

コマンドアビリティの各種パラメータのリストです。「待時間」は「(コマンド選択後の)効果発動までの待機時間」を示します。

コマンドアビリティを使用した際の処理は、内部的には魔法と同じ扱いになっているようです。よって、コマンドアビリティのデータは『魔法の数値系データ(ff5magparam.txt)』と同じような構造になっています。

各アビリティにはパラメータ修正値が設定されていて、アビリティをつけるとキャラクタのパラメータが変動します。複数のアビリティをつけた場合は、各パラメータについて最も高い修正値のみが採用されます(重複することはありません)。

ff5chrcmdstate.txt / コマンドアビリティの状態変化系データ

コマンドアビリティの状態変化データのリストです。

ff5chrcmdflag.txt / コマンドアビリティのフラグ系データ

コマンドアビリティのフラグ系データのリストです。

ff5chrabt.txt / 特性アビリティのパラメータデータ

特性アビリティのパラメータ修正値のリストです。

各アビリティにはパラメータ修正値が設定されていて、アビリティをつけるとキャラクタのパラメータが変動します。複数のアビリティをつけた場合は、各パラメータについて最も高い修正値のみが採用されます(重複することはありません)。

ff5itemparam.txt / アイテムの数値系データ

アイテムの各種パラメータのリストです。「魔防力」「魔回率」は、それぞれ「魔法防御力」「魔法回避率」を示します。「CH率」は「クリティカルヒット率」を示します。

非常に信頼性の低いデータが存在します。武器の「命中率」と「クリティカルヒット率」ですが、このあたりのデータに関しては一貫性のある解釈が見つからなかったため、非常に場当たり的な処理でこれらの値を出力しています。また、これらの値がそのまま確率として使用されているかどうかは、まだわかっていません。

IVと同様に、戦闘アイテムを使用した際の処理は、内部的には魔法と同じ扱いになっているようです。よって、戦闘アイテムのデータは『魔法の数値系データ(ff5magparam.txt)』と同じような構造になっています。

「ミスリルのつえ(No.057)」「サーベル(No.084)」「ちぬられたたて(No.206)」は、ゲーム本編では使用されていないボツアイテムのようです。「サーベル」には武器として正常なデータが設定されていないらしく、実際に装備して攻撃してもダメージは与えられないようです。

ff5itemelem.txt / アイテムの属性系データ

アイテムの攻撃/防御属性と、パワーアップ属性のリストです。

「半減属性」を持った防具を複数装備すると、半減効果が重複します。「パワーアップ属性」を持っているアイテムを装備していると、その属性の魔法攻撃の効果が強化されます。

ff5itemstate.txt / アイテムの状態変化系データ

アイテムの状態変化への耐性・最初から適用される状態変化のリストです。

モンスターの状態変化系データ(ff5monstate.txt)』と同様に、「初期状態変化」の項目における「死(戦闘不能)」のフラグは、「初期状態変化・初期補助魔法・特殊状態が解除されない」という効果を持っています。

ff5itemflag.txt / アイテムのフラグ系データ

アイテムの各種フラグ・有効モンスタータイプのリストです。

「投げ」のフラグは、そのアイテムを投げられることを表します。「魔剣」のフラグは、魔法剣をかけられることを表します。「反射」のフラグは、そのアイテムを使用した際の効果をリフレクで反射できることを表します。

ff5itemeffect.txt / アイテムの効果データ

アイテムの使用効果・追加効果のリストです。

「破壊」のフラグは、使用した際にそのアイテムが壊れることを表します。「追加」のフラグは、通常攻撃の後に追加効果が発動することを表します。「変化」のフラグは、通常攻撃に代わって追加効果が発動することを表します。「発動率」は追加効果の発動率を表します。

明らかに間違っている箇所が存在します。「追加効果」の項目は全般的に不正確です。整合性のある解釈が見つかっていません。

「使用効果」の項目に「アイテムまほう09」という効果が並んでいますが、これは「何も起こらない」という効果の魔法(?)のようです。

ff5magparam.txt / 魔法の数値系データ

魔法(一部の特殊攻撃含む)の各種パラメータのリストです。

「命中率」が128(= 第7ビットがON)となっている場合、(攻撃対象が状態変化耐性を持っていないかぎり)魔法が必ず命中(効果を発揮する)ことを示しています。「持続(持続時間)」は、攻撃補助魔法の効果が持続する時間を示しています。

非常に信頼性の低いデータが存在します。Vの魔法データの解析では一貫性のある解釈が見つからなかったため、非常に場当たり的な処理で値を出力しています。

ff5magelem.txt / 魔法の属性系データ

魔法(一部の特殊攻撃含む)の属性データのリストです。

ff5magstate.txt / 魔法の状態変化系データ

魔法(一部の特殊攻撃含む)の状態変化データのリストです。

ff5magflag.txt / 魔法のフラグ系データ

魔法(一部の特殊攻撃含む)のフラグ系データのリストです。「反射」のフラグは、その魔法をリフレクで反射できることを表します。

明らかに間違っている箇所が存在します。「つるぎのまい」など、「おどり」関連の特殊攻撃のデータは不正確です。

ff5spparam.txt / 特殊攻撃の数値系データ

特殊攻撃(動物攻撃・調合・地形攻撃)の各種パラメータのリストです。

ff5spelem.txt / 特殊攻撃の属性系データ

特殊攻撃(動物攻撃・調合・地形攻撃)の属性データのリストです。

ff5spstate.txt / 特殊攻撃の状態変化系データ

特殊攻撃(動物攻撃・調合・地形攻撃)の状態変化データのリストです。

ff5treasure.txt / 宝箱の各種データ

回収率に影響する宝箱(全252個)のリストです。

ff5itemparambug.txt
ff5itemelembug.txt
ff5itemstatebug.txt

いわゆる「アイテム変化技」を使うと、装備できないアイテムを装備している状態になることがあります。このリストはそれらのアイテムの「防具としての性能」を出力したものです。この解析結果は実際に確認したわけではありません

ファイナルファンタジーVI

凡例

各種属性のシンボル一覧(VI)
シンボル 説明
「炎属性」を示します。
「氷属性」を示します。
「雷属性」を示します。
「毒属性」を示します。
「風属性」を示します。
「聖なる属性」を示します。
「地属性」を示します。
「水属性」を示します。
各種異常ステータスのシンボル一覧(VI)
シンボル 説明
「暗闇」を示します。
「ゾンビー」を示します。
「毒」を示します。
「透明」を示します。
「カッパ」を示します。
「石化」を示します。
「戦闘不能」を示します。
「死の宣告」を示します。
「瀕死」を示します。
「分身」を示します。
「沈黙」を示します。
「バーサク」を示します。
「混乱」を示します。
「スリップ」を示します。
「眠り」を示します。
飛んでいる状態を示します。
「リジェネ」を示します。
「スロウ」を示します。
「ヘイスト」を示します。
「ストップ」を示します。
「シェル」を示します。
「プロテス」を示します。
「リフレク」を示します。
氷づけになった状態を示します。
「リレイズ」がかかった状態を示します。
戦闘から離脱している状態を示します。
「レビテト」を示します。

「飛」と「浮」の違いですが、「浮」の状態は戦闘不能になったりデスペルをかけられたりすると解除されますが、「飛」の状態では解除されません。

パーティキャラクタのシンボル一覧(VI)
シンボル 説明
Ti ティナを示します。
Lo ロックを示します。
Ca カイエンを示します。
Sh シャドウを示します。
Ed エドガーを示します。
Ma マッシュを示します。
Ce セリスを示します。
St ストラゴスを示します。
Re リルムを示します。
Se セッツァーを示します。
Mo モグを示します。
Ga ガウを示します。
Go ゴゴを示します。
Um ウーマロを示します。

説明

ff6monparam.txt / モンスターの数値系データ

モンスターの各種パラメータのリストです。「」は「素速さ」を示します。「」「」「」は、それぞれ「攻撃力」「防御力」「回避率」を示します。「魔攻」「魔防」「魔回」は、それぞれ「魔法攻撃力」「魔法防御力」「魔法回避率」を示します。「Hit%」は「ヒット値」を示します。

「ジャイアント(No.310)」「カイザードラゴン(No.311)」は、ゲーム本編には登場しないボツモンスターのようです。

ff6monelem.txt / モンスターの属性系データ

モンスターの属性データのリストです。

ff6monstate.txt / モンスターの状態変化系データ

モンスターの状態変化データのリストです。

ff6monflag.txt / モンスターのフラグ系データ

モンスターの各種フラグのリストです。

MP死」のフラグは、マジックポイントを0にすることで倒せることを表します。「不死」「人間」のフラグは、それぞれ「アンデッド系モンスター」「人間系モンスター」であることを表します。

ff6monitem.txt / モンスターの所持アイテムデータ

モンスターから入手できるアイテムのリストです。

アンデッドのキングベヒーモス(No.127)が落とすアイテムが「ベヒーモスーツ」となっていますが、実際には、SFC版では「バリアントナイフ」を、PS版では「ソードブレーカー」を落とすことがあります。

まったくの憶測ですが、本来データ上では「ベヒーモスーツ」を落とすように設定されているにもかかわらず、実際のプログラムの動作では(バグによって)データを読み損なっていて、メモリ内の適当なアドレスを参照してしまっているのではないかと思われます。そして、その「適当なアドレス」に格納されている値がSFC版とPS版とで異なるために、キングベヒーモスの残すお宝が両機種間で異なっているのでしょう。

ff6monragna.txt / モンスターのアイテム変化データ

モンスターがラグナロックで変化するアイテムのリストです。

「難度」はアイテム変化が成功する難易度を示しています。難易度の値と成功確率の関係は、以下のとおりです。

難易度と成功確率の関係
難易度 確率
0 256/256
1 192/256
2 128/256
3 64/256
4 32/256
5 16/256
6 8/256
7 0/256

なお、4種類のアイテムが選択される確率は、基本的にはそれぞれ等確率です。

ff6monctrl.txt / モンスターの「あやつる」行動データ

モンスターを「あやつる」際の攻撃方法のリストです。

ff6monsketch.txt / モンスターの「スケッチ」行動データ

モンスターを「スケッチ」した際の攻撃方法のリストです。

ff6monrage.txt / モンスターの「あばれる」行動データ

モンスターごとの「あばれる」際の攻撃方法のリストです。

獣ヶ原に登場しないモンスターや、「とびこむ」しても修得できないモンスターについても、内部的にはデータが用意されているようです。

ff6monmisc.txt / モンスターのその他のデータ

モンスターの特殊攻撃のリストです。

ff6monact.txt / モンスターの行動パターンデータ

モンスターの行動パターンデータのリストです。

モンスターの行動パターンがどう決まるかについては、基本的にVと変わりません。「条件 & 行動」のデータが用意されていて、適合する「条件」に対応した「行動」をとります。

数種類の行動が", "をはさんで並んでいる表記は、その数種類の行動のうちどれかがランダムで選択されることを意味しています。どの行動が何パーセントの確率で選択されるかについては、現在まだ判明していません。

ff6monmes.txt / モンスターのメッセージデータ

戦闘中に表示される、モンスターのメッセージのリストです。戦闘中に起こるイベントの際のメッセージも含まれています。メッセージ中の"/"は改行を示します。

ff6monevent.txt / イベントのメッセージデータ

戦闘中に起こるイベントのリストです。現在のところ、メッセージデータのみ解析しています。メッセージ中の"/"は改行を示します。

ff6monparty.txt / モンスターのパーティ編成データ

モンスターのパーティ編成のリストです。「修得」は「魔法修得値」を示します。

「通常」「背後(バックアタック)」「挟撃(はさみうち)」「両側(サイドアタック)」のフラグは、戦闘開始時にそれぞれのフォーメーションをとる可能性があることを示します。

「初期出現状態」の項目は、戦闘開始時にそれぞれのモンスターが出現しているかどうかを表します。「モンスター1〜6」にモンスターが存在しているにもかかわらず、「初期出現状態」のフラグが立っていない場合は、そのモンスターは戦闘開始時には出現しないことを表します。

ff6monenc.txt / モンスター遭遇テーブルデータ

モンスター遭遇テーブルのリストです。

フィールドやダンジョンで出現するモンスターパーティは、場所ごとに最大4種類が設定されています。ここではその4種類のモンスターパーティのリストをモンスター遭遇テーブルと称します。そして、モンスター出現の際にはモンスター遭遇テーブルの中からモンスターパーティがランダムで選択されます。

4種類のモンスターパーティのそれぞれが選択される確率は、以下のとおりです。

4種類のモンスターパーティが選択される確率
パーティ 確率
No.1 80/256
No.2 80/256
No.3 80/256
No.4 16/256

そして、リストのNo.256以降は、決まった場所に出現する「固定モンスター」用のモンスター遭遇テーブルです。VIでは「固定モンスター」にも2種類のモンスターパーティが設定されていて、そのうちのどちらかがランダムで選択されます。とはいえ、大半のケースでは2種類のどちらにも同じ値が設定されています(= 出現パターンは完全に固定)。

2種類のモンスターパーティのそれぞれが選択される確率は、以下のとおりです。

2種類のモンスターパーティが選択される確率
パーティ 確率
No.1 192/256
No.2 64/256
ff6monmap.txt / モンスター遭遇マップデータ

モンスターの遭遇テーブルとマップとの対応を示した表です。

世界崩壊前・世界崩壊後のそれぞれのマップは内部的に8×8の64区画に分かれていて、それぞれにモンスター遭遇テーブルが対応づけられます。そして、この8×8のテーブルが4種類の地形(荒野・森・砂漠・平原)の分だけ用意されています。

マップ内の番号"255"(FFh)は、その場所が獣ヶ原であることを示しています。

なお、ダンジョンの各フロアとモンスター遭遇テーブルとの対応についてはまだ判明していません。

ff6chrparam.txt / キャラクタの初期パラメータデータ

キャラクタの初期パラメータのリストです。「」は「素速さ」を示します。「」「」「」は、それぞれ「攻撃力」「防御力」「回避率」を示します。「魔防」「魔回」は、それぞれ「魔法防御力」「魔法回避率」を示します。

「最大ヒットポイント」「最大マジックポイント」の項目は、各キャラクタがレベル1の時点での値です。

No.48以降のキャラクタは、ゲーム本編では使用されていません。名前(とジョブの名前(?))だけはあるのですが、パラメータなどのデータは存在しないようです。

LV修正(レベル修正値)」とは、キャラクタがパーティに加入する際の初期レベルに関係する値です。VIでは、キャラクタが最初にパーティに加入する際の初期レベルは「その時点でパーティに加入しているキャラクタの平均レベル + キャラクタ固有の修正値」という式で算出されます。そして、この式の中の「キャラクタ固有の修正値」は、「レベル修正値」によって決まります。

LV影響」とは、キャラクタがパーティに加入することで「平均レベル」の算出に影響があるかどうかを表します。影響がない場合は、平均レベル算出時の「合計レベル」にも「人数」にも含まれません。

なお、このあたりの推測には間違いが含まれている可能性が大いにあります。上記の解釈は、現在判明しているレベル決定の法則にむりやり合致させている感は否めません。このあたりの値を詳しく調査すれば、今までのレベル決定の法則を包括するような、新たな法則が見つかるかもしれません。

ff6chrequip.txt / キャラクタの初期装備データ

キャラクタが初期状態で装備しているアイテムのリストです。

ff6chrlvup.txt / キャラクタの成長データ

キャラクタの成長データのリストです。

レベル1の時点でのヒットポイント/マジックポイントが0となっていますが、実際の値はこの値に初期値(『キャラクタの初期パラメータデータ(ff6chrparam.txt)』参照)を加えたものとなります(さらに魔石のボーナスも加わります)。

ff6itemparam.txt / アイテムの数値系データ

アイテムの各種パラメータのリストです。「攻/防」は、武器の場合は「攻撃力」を、防具の場合は「防御力」をそれぞれ示します。「魔防力」「魔回率」は、それぞれ「魔法防御力」「魔法回避率」を示します。

武器・防具以外のデータにも「攻撃力」や「防御力」などの項目がありますが、これはいわゆる「アイテム装備」技を使って、装備できないアイテムを装備している状態でのパラメータです。この場合の解析結果は実際に確認したわけではありません

ff6itemelem.txt / アイテムの属性系データ

アイテムの攻撃/防御属性のリストです。

ff6itemstate.txt / アイテムの状態変化系データ

アイテムの状態変化への耐性・最初から適用される状態変化のリストです。

ff6itemflag.txt / アイテムのフラグ系データ

アイテムの各種フラグ・装備可能キャラクタのリストです。

「投げ」のフラグは、そのアイテムを投げられることを表します。「後列」のフラグは、後列から攻撃しても威力が低下しないことを表します。「両手」のフラグは、両手持ちが可能であることを表します。「魔封」のフラグは、魔封剣を使用できることを表します。「必殺」のフラグは、必殺剣を使用できることを表します。

ff6itemeffect.txt / アイテムの効果データ

アイテムの使用/追加効果・修得できる魔法のリストです。

「使用」のフラグは、そのアイテムを使用できることを表します。「追加」のフラグは、通常攻撃の後に追加効果が発動することを表します。なお、VIでは使用時も追加時も同じ種類の魔法が発動しますが、使用時の方が効果は強力になります。また、使用して魔法を発動させた場合は、そのアイテムは壊れます。

ff6itemcol.txt / アイテムのコロシアム対応データ

コロシアムでアイテムを賭けた際の対戦モンスター・入手アイテムのリストです。

ff6magparam.txt / 魔法の数値系データ

魔法の各種パラメータのリストです。「Hit%」は「ヒット値」を示します。

ff6magelem.txt / 魔法の属性系データ

魔法の属性データのリストです。

ff6magstate.txt / 魔法の状態変化系データ

魔法の状態変化データのリストです。

「種別」には「変化」「解除」「反転」の3種類があります。種別が「変化」の場合、「状態変化」の項目で設定されている状態に従って、攻撃目標を状態変化させます。同様に「解除」「反転」の場合、「状態変化」の項目に従って、攻撃目標に状態変化の解除・反転を行います。

ff6magflag.txt / 魔法のフラグ系データ

魔法のフラグ系データのリストです。

「魔封」のフラグは、その魔法を魔封剣で吸収できることを表します。「反射」のフラグは、その魔法をリフレクで反射できることを表します。「防無」のフラグ、は防御力/魔法防御力を無視してダメージを与えることを表します。「比率」のフラグは、その魔法が比率ダメージ攻撃であることを表します。「種別」の項目は、その魔法が物理・魔法攻撃のどちらに分類されるのかを表します。

技術資料

以下に示す解析資料は、基本的には、データ領域(と思われる部分)の内容を見て推測により解析したものです。よって、不正確な箇所も多数含まれています。

ファイナルファンタジーIV

全般

SFC版のROMイメージは、オリジナル版とイージータイプ版とで内部構造はほとんど同じになっています。

PS版IVのバイナリデータは、「(SFC版と比較して)4バイトごとに左右が入れ替わっている」ようなバイト並びになっています。例えば、モンスターの名前が格納されている部分は以下のようなバイト並びになっています。モンスターの名前だけでなく、他のすべてのデータがこのようなバイト並びで格納されています。

          (SP) (SP) (SP) (SP) ゴ   ブ   リ   ン    ク   (SP) (SP) (SP) バ   ジ   リ   ス
0x02d800: 0xff 0xff 0xff 0xff 0x2d 0x3a 0xf1 0xf6  0xd1 0xff 0xff 0xff 0x38 0x2f 0xf1 0xd6
          ー   グ   ル   (SP) ダ   イ   ブ   イ    イ   ボ   ー   ル   フ   ロ   ー   タ
0x02d810: 0xc2 0x2b 0xf2 0xff 0x33 0xcb 0x3a 0xcb  0xcb 0x3c 0xc2 0xf2 0xe5 0xf4 0xc2 0xd9

このままでは解析が面倒だったため、解析の際にはバイト並びを以下のように矯正して「正規化」を行いました。

          ゴ   ブ   リ   ン   (SP) (SP) (SP) (SP)  バ   ジ   リ   ス   ク   (SP) (SP) (SP)
0x02d800: 0x2d 0x3a 0xf1 0xf6 0xff 0xff 0xff 0xff  0x38 0x2f 0xf1 0xd6 0xd1 0xff 0xff 0xff
          ダ   イ   ブ   イ   ー   グ   ル   (SP)  フ   ロ   ー   タ   イ   ボ   ー   ル  
0x02d810: 0x33 0xcb 0x3a 0xcb 0xc2 0x2b 0xf2 0xff  0xe5 0xf4 0xc2 0xd9 0xcb 0x3c 0xc2 0xf2

以下の解析資料では、あらかじめ元ファイルに「正規化」を行っているものとしています。

モンスターの各種パラメータ

モンスターの各種データは、SFC版ではアドレス0x072860から、PS版ではファイル"/ff4.bin"のアドレス0x02e860から格納されています。

以降は可変長データが続きます。

「パラメータテーブル」とは、「回数」「値」「確率」の3つの数値をひとまとめにして格納しているテーブルです。モンスターのパラメータの「攻撃回数・攻撃力・命中率」「防御回数・防御力・回避率」「魔法防御回数・魔法防御力・魔法回避率」の実際の数値が格納されています。

パラメータテーブルは、SFC版ではアドレス0x072380から、PS版ではファイル"/ff4.bin"のアドレス0x02e380から格納されています。テーブル1要素につき3バイトのデータがあり、これが256要素分ならんで格納されています。3バイトのデータの内訳は以下のようになっています。

「所持アイテムテーブル」とは、モンスターが落とす4種類のアイテムの番号を格納しているテーブルです。所持アイテムテーブルは、ファイル"/ff4.bin"のアドレス0x02df00から格納されています。テーブル1要素につき4バイトのデータがあり、これが64要素分ならんで格納されています。4バイトのデータの内訳は以下のようになっています。

モンスターのパーティ編成

モンスターのパーティ編成データは、SFC版ではアドレス0x070000から、PS版ではファイル"/ff4.bin"のアドレス0x02c000から格納されています。1編成パターンにつき8バイトのデータがあり、これが512パターン分ならんで格納されています。8バイトのデータの内訳は以下のようになっています。

アイテムの各種パラメータ

アイテムの各種データは、SFC版ではアドレス0x079100から、PS版ではファイル"/ff4.bin"のアドレス0x035100から格納されています。No.0〜No.175までの「装備アイテム」はアイテム1種類につき8バイトのデータが、No.176〜No.221の「戦闘アイテム」はアイテム1種類につき6バイトのデータがあります。No.222〜No.255の「通常アイテム」「シナリオアイテム」については、データ領域はありません。データの内訳は以下のようになっています。

武器
防具
道具

道具の各種データは、魔法・特殊技の各種パラメータとほぼ同じデータ形式になっています。ゲーム内部においても、アイテム使用時の処理と魔法使用時の処理とは同じ扱いになっているようです。

「属性 & 状態変化テーブル」は、SFC版ではアドレス0x07a590から、PS版ではファイル"/ff4.bin"のアドレス0x036590から格納されています。テーブル1要素につき3バイトのデータがあり、これが128要素分ならんで格納されています。3バイトのデータの内訳は以下のようになっています。

魔法・特殊技の各種パラメータ

魔法・特殊技の各種データは、SFC版ではアドレス0x0797a0から、PS版ではファイル"/ff4.bin"のアドレス0x0357a0から格納されています。魔法(特殊技)1種類につき6バイトのデータがあり、これが256種類分ならんで格納されています。6バイトのデータの内訳は以下のようになっています。

ファイナルファンタジーV

モンスターの各種パラメータ

モンスターの各種データは、SFC版ではアドレス0x100000から、PS版ではファイル"/btl/ff5_btl.bin"のアドレス0x004600から格納されています。モンスター1体につき32バイトのデータがあり、これが368体分ならんで格納されています。32バイトのデータの内訳は以下のようになっています。

モンスターのパーティ編成

モンスターのパーティ編成データは、SFC版ではアドレス0x103000から、PS版ではファイル"/btl/ff5_btl.bin"のアドレス0x007600から格納されています。1編成パターンにつき16バイトのデータがあり、これが512パターン分ならんで格納されています。16バイトのデータの内訳は以下のようになっています。

アイテムの各種パラメータ

アイテムの各種データは、SFC版ではアドレス0x110000から、PS版ではファイル"/btl/ff5_btl.bin"のアドレス0x014600から格納されています。No.0〜No.223までの「装備アイテム」はアイテム1種類につき12バイトのデータが、No.224〜No.255の「その他のアイテム」はアイテム1種類につき8バイトのデータがあります。データの内訳は以下のようになっています。

武器
防具
道具

道具の各種データは、魔法・特殊技の各種パラメータとほぼ同じデータ形式になっています。ゲーム内部においても、アイテム使用時の処理と魔法使用時の処理とは同じ扱いになっているようです。

魔法・特殊技の各種パラメータ

魔法・特殊技の各種データは、SFC版ではアドレス0x110b80から、PS版ではファイル"/btl/ff5_btl.bin"のアドレス0x015180から格納されています。魔法(特殊技)1種類につき8バイトのデータがあり、これが256種類分ならんで格納されています。8バイトのデータの内訳は以下のようになっています。

ファイナルファンタジーVI

モンスターの各種パラメータ

モンスターの各種データは、SFC版ではアドレス0x0f0000から、PS版ではファイル"/btl/ff6_btl.bin"の先頭(0x000000)から格納されています。モンスター1体につき32バイトのデータがあり、これが368体分ならんで格納されています。32バイトのデータの内訳は以下のようになっています。

「アイテム変化テーブル」とは、モンスターがラグナロックで変化する4種類のアイテムの番号を格納しているテーブルです。アイテム変化テーブルは、SFC版ではアドレス0x047f40から、PS版ではファイル"/btl/ff6_btl.bin"のアドレス0x0379b4から格納されています。テーブル1要素につき4バイトのデータがあり、これが26要素分ならんで格納されています。

モンスターのパーティ編成

モンスターのパーティ編成データは、SFC版ではアドレス0x0f6200から、PS版ではファイル"/btl/ff6_btl.bin"のアドレス0x015100から格納されています。1編成パターンにつき15バイトのデータがあり、これが512パターン分ならんで格納されています。15バイトのデータの内訳は以下のようになっています。

アイテムの各種パラメータ

アイテムの各種データは、SFC版ではアドレス0x185000から、PS版ではファイル"/btl/ff6_btl.bin"のアドレス0x037a34から格納されています。アイテム1種類につき30バイトのデータがあり、これが256種類分ならんで格納されています。30バイトのデータの内訳は以下のようになっています。

魔法の各種パラメータ

魔法の各種データは、SFC版ではアドレス0x046ac0から、PS版ではファイル"/btl/ff6_btl.bin"のアドレス0x036b54から格納されています。魔法1種類につき14バイトのデータがあり、これが256種類分ならんで格納されています。14バイトのデータの内訳は以下のようになっています。

乱数

乱数についての調査結果は『各種ゲームのプログラム解析』の以下の項目に移動しました。

今後の予定

モンスターの行動パターンの完全な解析(V)

現在、モンスターの行動パターンについて一通り解析し終わりましたが、解析結果に不自然な点が散見されます。完全な解析にはまだまだ時間がかかりそうです。

特殊技データの解析(VI)

モンスターの特殊技に関するデータについては、まだ名前以外は何もわかっていません。データのあるアドレスすら見つかっていない状態です。

技術資料の執筆

現在のところ、解析した情報の一部しか技術資料に反映されていません。解析した情報について詳しく知りたい方は、ソースプログラムを読んでください。

プログラムの機能追加

プレインテキストでの出力だけではなく、HTML・XML・XHTML・CSVなどの形式で出力できるようになればいいなあと思っています。まあ、プログラムソースがあるので、やりたい方は自分でやってください。

プログラムの再設計

開発当初は、公開するつもりのない使い捨てプログラムとして作成したため、設計・実装ともにかなりいいかげんです。時間とやる気があれば、設計段階からやり直したいところです。

おわりに

くれぐれも、解析結果を盲信しないようにしてください。私はこの解析を行うに当たって、「出力した解析結果」と「実際にプレイした際の結果」とを照らし合わせる、といった作業はほとんどやっていません。それどころか、「出力した解析結果」をまじめにチェックしていないこともしばしばです。解析結果とプレイした際の結果との間に矛盾を感じた場合、解析結果にあまり重きをおかないようにしましょう。

また、このプログラムの出力結果をもって、SFC版とPS版との差異を論ずるのは無意味です。解析プログラムの開発にあたって、両者ともに同一の結果が出力されるようにしたからです。もちろん、このことをもって「SFC版とPS版には違いがない」ということを示しているわけではありません。

本プログラム・本ドキュメントの著作権は、遠藤慎悟<s-endo@yk.rim.or.jp>(以下、原作者)にあります。

なお、原作者は本プログラムに関していかなる保証も行いません。同様に、本プログラムの出力結果・本ドキュメントの内容の正当性についてもいかなる保証も行いません。また、本プログラムを利用したことによって生起したいかなる損害に対する責任も負わないものとします。

履歴

最終更新

2003-07-26

更新履歴

2001-05-02

2001-05-04

2001-05-08

2001-05-24

2001-06-08

2001-06-16

2001-07-30

2001-08-06

2001-08-10

2001-08-30

2001-11-11

2001-12-02

2001-12-30

2002-01-26

2002-02-04

2002-03-26

2002-05-04

2002-05-12

2002-06-28

2002-09-08

2002-11-24

2002-12-30

Author: Shingo Endo <s-endo@yk.rim.or.jp>
Last Updated: 2003-07-26
Copyright ©2000-2003 Shingo Endo