前回は「ホバー」の仕組みと戦闘時の背景呼び出しについて幾つか推論を述べていきましたが、その後実際に解析して判明した事がありますので、今回はそれについて少し記述していきます。
まず背景のグラフィックですが、これはそのユニットのいる地形パネルを参照して先攻側、後攻側にそれぞれ対応するものを読み込んでいます。そしてそれぞれのユニットの存在している領域(「空中」であるとか「地上」であるとか「地中」であるとか)をチェックして対応する背景グラフィックのセットを書き込むという仕組みになっています。例えばこれが川の地形パネルの場合は「水中であれば川の中の背景のグラフィックに、そうでない場合はそれぞれの存在領域に対応したグラフィック(この場合は全て「空」の背景グラフィック)に、更に夕方や夜の場合は昼間の空から夕方の空や夜空に変更して書き込む」という仕組みです。そして「ホバー」は水の地形パネル上にいても「陸上」の領域に存在する事になっているのです。
つまりホバーを導入する場合はこれを「水中であればそれぞれの水中グラフィックに、陸上(=ホバー)の場合は代わりにそれぞれ(昼・夕・夜)の水上グラフィックに、それ以外の場合は空のグラフィックに設定し、更に夕方や夜の場合は昼間の空から夕方の空や夜空に変更して書き込む」という仕組みにすればよいのです。しかし水系の地形には「深海」というものが存在し、水中のグラフィックが昼・夕・夜で共通した1つのIDしかないため、これもホバーに対応するには更に「深海かつ水中であれば水中グラフィックに、陸上(=ホバー)の場合は代わりにそれぞれ(昼・夕・夜)の水上グラフィックに、それ以外の場合は空のグラフィックに、更に夕方や夜の場合は昼間の空から夕方の空や夜空に変更して書き込む」という専用の処理を組み込む必要がありそうです。実際に深海が存在するマップは「日輪は我にあり」と「ノイエDC」の2マップだけで、かつこのマップはいずれも昼間の設定なので昼間の分だけ処理すればいいという考え方もありますが、後々になって自作シナリオなどを追加する際に深海の地形がある夕方や夜のマップを作るとなると不具合で頭を抱えることになりますので、やはりここはきちんと対応しておかないといけないのでしょうね。まあ開き直って水中の背景グラフィックで間に合わせるという手もありますが…。
さて、これに付随して背景のグラフィック呼び出しやスクロールの仕組みも解析してみたのですが、これに関しては背景に使う各スプライトの速度やスクロールの方向をそれぞれ別々に読み込んで処理している事が判明しました。水上は草原と同じように空と雲をバックにして草原そのものの部分を水にすればいいと思いますので、新たに用意すべきは水面の部分の画像のみ、空や雲の部分の画像やスクロールの速度や方向はそのまま流用できそうです。しかし究極的に言えば戦闘アニメーションをスキップしてしまえばこれらの作業は全て徒労に終わるのでこれがゲームとしての面白さに繋がるかと言えばそうではないのがこの手の処理に関する毎度のジレンマなのですが、やはり拘りを持って作業はしたいところですね。
コメント
コメントを投稿