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

最新の投稿

ファミコン版天地を喰らう 軍師キャラの隊列変更阻止について

 天地を喰らうシリーズは策略を使うにあたって「軍師」に任命された武将がいないと使用不能になるのですが、軍師に任命された武将は戦闘が開始されると隊列の一番後ろに配置され、隊列が6人以上になると直接戦闘に参加できなくなるというシステムになっています。これがいわゆる文官タイプ(武力や兵士数が低く知力が高い傾向の武将)であればまだいいのですが、劉備や馬謖や姜維のように文武両道の武将を軍師に任命する必要がある場合は事情が変わってきます。そこで、軍師に任命した武将がどのような処理で隊列の一番後ろに回されてしまうのか調べてみました。その結果、大まかに言うと「戦闘開始時にまず隊列の人数をチェックし、6人未満である場合は各武将の状態をチェックし、正常であれば隊列の位置そのまま、それ以外の状態の武将は隊列の最後尾に変更する。6人以上の場合は軍師を隊列の最後尾に移動させるが、負傷中の武将がいる場合は更に軍師の後ろに配置する」という処理内容でした。ここで言う武将の状態は「00=負傷中(戦闘不能)、40=軍師、80=正常、C0=正常かつ軍師」の4種類で、この処理内容を変更すれば軍師に任命した武将も隊列の変更がないまま戦闘に参加できそうです。つまり「隊列が6人以上でも6人未満でも武将が正常な状態であれば隊列の位置そのままを維持し、負傷中の武将のみ隊列の最後尾に変更する」とすればよいのではないでしょうか。この仮説を基に改変を行い、成功すればパッチとして公開する予定です。

第2次スーパーロボット大戦G グラフィックオフセット分割を一旦凍結します


 色々と試してみたのですが残念ながら現在の私の知識では完全にオフセットを分割できないので、悔しいですが一旦グラフィックオフセットの増設は諦めて別の方面の解析に移ります。

 第2次Gのグラフィック処理は基本的に攻撃アニメの際は機体グラフィックをBGレイヤーに、武器アニメーションをスプライトレイヤーに書き込む処理をしているのですが、パラメーター画面では逆にスプライトレイヤーに機体グラフィックを書き込む処理を行います。これだけであればそれぞれの処理に合わせて読み込むオフセットを分割できるのですが、問題は戦闘中にBGレイヤーとスプライトレイヤーの両方にリアルタイムで機体グラフィックを表示して入れ替える処理をするアニメがあるという事です。

 例えば上の写真ではビームサーベルのエフェクトはスプライトレイヤーに、機体グラフィックはBGレイヤーに書き込まれています(シャッコーと背景のグラフィックがグチャグチャなのはオフセット切り替えが働いているためです)が、この後に避けるなりダメージを受けるなりして後退するVガンダムのグラフィックが問題で、それが下の写真です。


 後退モーションから元の位置に戻る際に「元の位置に移動するVガンダム」のグラフィックが一旦スプライトレイヤーに描写されるため、今度は後攻側のオフセットを読み込む際には逆に武器アニメ(この場合はビームライフル)の書き込まれるスプライトレイヤーが新規オフセット適用の対象になってしまいます。そのためシャッコーのアニメとは逆の現象が発生するというわけです。
 
 これがBGとスプライトの切り替えのないアニメ同士であればそれぞれに分割したオフセットの内容がきちんと反映されるのですが、現状では途中でレイヤー間のアニメ描写切り替えが発生するものに対して専用処理を用いてオフセットを分割適用する手段が思いつきません。少し冷静に考えをまとめつつ、いつか必ず再チャレンジしたいところです。

コメント

人気の投稿

キャプテン翼4 ファンベルグの「光るシュート」とオルミーガの「吹っ飛ばし補正」について

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