スキップしてメイン コンテンツに移動

最新の投稿

ファイアーエムブレム暗黒竜と光の剣 サンダーソード使用による戦闘アニメーションの検証

 ファミコン版のファイアーエムブレム第一作「暗黒竜と光の剣」では、開発期間の都合なのか、それとも容量の都合なのか、コマンド・盗賊・将軍はサンダーソードが使用できないように設定されています。  このうちコマンドと盗賊は武器レベルが規定値の「8」になっていればサンダーソードを使用できますが、実際には自軍に参戦するジュリアン、リカード、チェイニーはいずれも武器レベルが2に設定されているうえに武器レベル自体の成長率も0%のため、たった一つしか入手できないマニュアルを使用しても武器レベルが7で止まるようにされています。また、将軍はプログラム上でクラス指定によりサンダーソードを使用できないようにプロテクト設定がされています。  折角の機会なので、今回はこれを解除して各クラスで無理矢理サンダーソードを使用した場合に何が起こるのか検証してみました。まず結論から申し上げますと、コマンドと将軍は通常の戦闘アニメーションと同じように敵に向かって接近して剣を振るうだけですが、盗賊は一瞬だけサンダーの攻撃エフェクトとSEが再生された後にフリーズしてしまいます。この点から考えるに、盗賊に関しては途中までサンダーソード用の戦闘アニメーションを作成していたという事が伺え、逆にコマンドと将軍はそれすらされていない事になります。  なお、当時のディレクターである加賀昭三氏の証言では制作に三年を要したとされていますが、実際にはインテリジェントシステムズからNOA(ニンテンドーオブアメリカ)へ出向期間中に3年近くかけてシステムや世界観を構想したものの、具体的な開発期間は僅か二週間程度(任天堂からの急な新作開発依頼でファミコンウォーズのソースコードをベースに制作を開始し、プログラムの勉強を兼ねて7人ほどのアルバイトや見習いのスタッフがほぼ不眠不休の徹夜作業で完成させてマスターアップしたが、当時の諸々の大作RPGと発売日が被ってしまったためにリリースが何度も延期され続けた)という証言もある事から、それが事実であれば容量ではなく開発期間が足りなかった結果(同じ容量の「外伝」は戦闘アニメーションの各動作のコマ数やバリエーションがかなり多くなっているため「暗黒竜と光の剣」でもそれは不可能ではなかった筈)なのだと思われます。

第2次スーパーロボット大戦G イベントコード調査続報その1

 今回は久々に第2次Gのイベントコードを解析してみました。前回は不明だったマップ上イベントのコードがいくつか追加されています。調査中のコードに関しては詳細が判明次第内容を公開する予定です。


0x0003 ウェイト。 03 xx yy

    指定時間だけ操作受付禁止。xx yyは待ち時間。


0x0004 指定アドレスにジャンプ。 04 xx yy

    xx yyはROM(RAM)内のアドレス。

    経過ターンによるイベント制御の際はEDと組み合わせて「ED zz 04 xx yy」となる。


0x0020    ???    20    xx

    調査中。


0x0049 BGMの開始。 49 xx

    xxはBGM番号。F6との違いは不明。

    基本的にはF6が使われている事が多い。


0x0080 コントローラー操作を受け付け開始。 80

    コントローラーによるボタン操作や十字キー操作などを受け付けるようにする。


0x0081 イベントページの終わり。 81

    イベントページの実行を全て終了して次のフェイズに移行。


0x0084 パイロット参入。 84 xx yy

    xxはパイロットID。yyはレベル。


0x0085 機体入手。 85 xx

    xxは機体ID。


0x0086 パイロット離脱。 86 xx

    xxはパイロットID。


0x0087 機体離脱。 87 xx

    xxは機体ID。


0x0088 強制乗り換え 88 xx yy

    xxはパイロットID、yyは機体ID。


0x0089 自軍にユニット(パイロット搭乗済みの機体)が参入。 89 xx yy zz

    xxはパイロットのID、yyはパイロットのレベル、zzは機体のID。


0x008A フラグONならば指定アドレスにジャンプ。 F2 XX YY 8A xx yy


    xx yyはROM内のアドレス。「F2 XX YY」と組み合わせて使用。


0x008B フラグOFFならば指定アドレスにジャンプ。 F2 ww xx 8B yy zz

                                                                                        または9B 8B xx yy

    xx yyはROM内のアドレス。「F2 XX YY」と組み合わせて使用。

    択一イベントの場合は「9B」と組み合わせ。

    選択肢の二番目を選ぶとxx yyにジャンプ。


0x008C 指定ターンになったら指定アドレスにジャンプ。 XX 8C YY ZZ

    EDと組み合わせて使用。xxは指定ターン。yy zzは指定アドレスの座標。


0X0091 ユニット強制配置。 91 xx yy zz …FF FF

    xx yyはマップ上のX座標及びY座標。

    zzはパイロットIDで、そのパイロットが乗った機体が指定したXY座標に配置される。

    必要な人数分だけ入力後、「FF FF」で命令終了。


0x0092 会話イベント開始。 92 xx yy zz

     xxはパイロットID。yy zzはメッセージID。


0X0094 ??? 94

    調査中。


0x0095 カーソルの座標指定。 95 xx yy

    xx yyはマップ上のX座標及びY座標。

    指定したマップ上の座標にカーソルをクローズアップ。


0x0097 敵側パイロットの会話。 97 xx yy zz

    指定した敵パイロットにカーソルを合わせて会話イベントを開始。

    xxはパイロットID、yy zzはメッセージID。


0x0098 マップ上のその場にて会話イベント開始。 98 xx yy zz

    xxはパイロットID。yy zzはメッセージID。

    カーソルが表示されている位置で会話イベントを開始する。


0x009A メッセージ呼び出し。 9A xx yy

    顔アイコンのないメッセージを表示する。

    xx yyはメッセージID。


0x009B 択一イベント開始。 9B 8B xx yy

    基本的に「8B xx yy」と一緒に使用。

    選択肢の二番目を選ぶとxx yyにジャンプ。


0x009E ワールドMAPを呼び出してポインタを付ける。 9E ww xx yy zz

    wwはワールドMAPのID、xxは地名ID、yy zzはMAP上の座標。


0x009F 指定座標にポインタを動かす。 9F xx yy zz

     xxは地名ID、yy zzは目標座標。


0X00A0 出撃機体数、及び出撃座標指定。 A0 aa xx yy xx yy …FF FF

    そのマップで出撃できる機体数を指定し、出撃順にマップ上に配置する。

    aaはその命令で出撃できる機体数、xx yyは出撃した機体が配置される場所。

    aaの数だけxx yyを入力し、規定数の分を入力したらFF FFで終了。

    

0x00A4 表示ウィンドウを消す。 A4

    表示されているメッセージウィンドウを消去してマップのみを表示する。


 0x00C8 指定機体の改造引き継ぎ。 C8 xx yy

    指定した機体同士の武器、及び機体改造状態を引き継ぐ。

    xxは引き継ぎ元の機体ID、yyは引き継ぎ先の機体ID。


0x00C9 指定パイロットを出撃禁止にする。 C9 xx

      xxはパイロットID。

    CAで解除するまでそのパイロットは出撃準備画面に表示されなくなる。

    ついでに搭乗中の機体も乗り換えやパラメーター確認の対象外になる。


0x00CA 指定パイロットの出撃禁止を解除する。 CA xx

    xxはパイロットID。


0x00CE 次のシナリオの指定。 CE xx

    xxはシナリオのID。


0x00E1 指定パイロットが経験値を取得。 E1 xx yy zz

    xxはパイロットID、yy zzは取得する経験値。


0x00ED ターンチェック開始。 ED  xx yy

    規定のターンになるまでxx yyの座標にジャンプ。

    この後に「zz 8C xx yy」と続いていき、zzのターンになったらxx yyの座標にジャンプ。

    最終イベントへのジャンプ命令は「zz 04 xx yy 」となり、

    このzzターンを超過した後は最初のED xx yyの座標にジャンプするようになる。


0x00F0 指定フラグをONにする。 F0 xx yy

    xx yyはフラグ番号


0x00F1 指定フラグをOFFにする。 F1 xx yy

    xx yyはフラグ番号。


0x00F2 指定フラグを参照する。 F2 xx yy

    8A、8Bと組み合わせて「F2 xx yy 8A XX YY」や「F2 xx yy 8B XX YY」と記述し、

    分岐条件チェック(条件を満たす、または満たさないとXX YYにジャンプ)として使用。

    xx yyはフラグ番号。


0x00F4 資金を入手。 F4 xx yy

    資金を増やすイベント。

    xx yyは入手する資金の額。


0x00F6 BGMの開始。 F6 xx

     xxはBGM番号。49との違いは不明。

    BGMのIDに+80hでBGM終了まで操作受付不能処理が可能?

    基本的にはF6が使われている事が多い。

コメント

人気の投稿

ファイアーエムブレム野史 第1話オープニングイベント

キャプテン翼4 レベル補正変更パッチを公開しました

第4次スーパーロボット大戦 改造コスト&改造数値分岐パッチを公開しました