マジックアクション製作中11 色違いのキャラクタ
同じモデルを使用する色違いキャラクタを使用できるようにしました。
色を変更したキャラクタと、元の色のキャラクタを同時に存在させます。カラーテーブルを複数用意し、描画の瞬間に切り替えることで複数色展開されます。
ピンクのほかに、とりあえず緑と黒を用意しました。
色違いの敵キャラクタは手抜きの代名詞ですが、開発の手間だけではなく実行時の負荷を下げる効果がいくつかあります。
1つ目はゲームの容量(ファイルサイズ)です。マジックアクションはブラウザで遊ぶゲームですので、実行する段階になってサーバからデータをダウンロードします。あまり容量を増やしすぎると起動に時間がかかってしまいます。
この辺は低速な光ディスクから起動するゲーム機でも似たような事情があります。また、半導体ROMで提供されるゲームにとっては容量が製造単価に直結します。
2つ目はメモリ使用量です。例えば、上図のリトルうさぎの3Dモデルは制御情報も含めて180個の頂点と125面のメッシュで構成されています。小さなドット絵で表現するよりも多くのメモリを使用します。
全く別のモデルを用意するとモデルの数だけメモリ使用量が増えますが、色違いのキャラクタであれば増えるのはカラーテーブルの分だけです。
ここで気をつけなければならないのは、上記のメリットは「そのように開発した場合」だけに得られるということです。
色違いのキャラクタの分だけモデルデータファイルを作ってしまっては全く意味がありません。
また、メモリに展開したデータも色違い分のキャラクタは同じモデルデータ領域を参照させなければならず、かつモデル1体の色を変更しても他のモデルに影響が無いような仕組みで構築する必要があります。
![キャラクタデータ関連図](https://stat.ameba.jp/user_images/ed/1b/10069495828.png?caw=800)
色違いのキャラクタの採用はゲームが安っぽく見えるほか、どのキャラクタがどんな特徴を持っているのかユーザが覚えにくいという欠点があります。
これを回避するために、単純に強さが違う場合は強い敵ほど強そうな配色を考えます。だからと言ってゲーム終盤に奇抜な色の敵ばかり出てくるようなことのないように気をつけます。
攻撃手段等が異なる場合は、その攻撃とイメージの合う配色を考えます。例えば、冷気やホラーっぽい攻撃するような敵は寒色系でまとめます。と言ってもマジックアクションでは属性攻撃を扱う予定はありません。
![配色の例](https://stat.ameba.jp/user_images/05/df/10069495830.png?caw=800)
![色違いのキャラクタ](https://stat.ameba.jp/user_images/be/32/10069460603.png?caw=800)
ピンクのほかに、とりあえず緑と黒を用意しました。
色違いの敵キャラクタは手抜きの代名詞ですが、開発の手間だけではなく実行時の負荷を下げる効果がいくつかあります。
1つ目はゲームの容量(ファイルサイズ)です。マジックアクションはブラウザで遊ぶゲームですので、実行する段階になってサーバからデータをダウンロードします。あまり容量を増やしすぎると起動に時間がかかってしまいます。
この辺は低速な光ディスクから起動するゲーム機でも似たような事情があります。また、半導体ROMで提供されるゲームにとっては容量が製造単価に直結します。
2つ目はメモリ使用量です。例えば、上図のリトルうさぎの3Dモデルは制御情報も含めて180個の頂点と125面のメッシュで構成されています。小さなドット絵で表現するよりも多くのメモリを使用します。
全く別のモデルを用意するとモデルの数だけメモリ使用量が増えますが、色違いのキャラクタであれば増えるのはカラーテーブルの分だけです。
ここで気をつけなければならないのは、上記のメリットは「そのように開発した場合」だけに得られるということです。
色違いのキャラクタの分だけモデルデータファイルを作ってしまっては全く意味がありません。
また、メモリに展開したデータも色違い分のキャラクタは同じモデルデータ領域を参照させなければならず、かつモデル1体の色を変更しても他のモデルに影響が無いような仕組みで構築する必要があります。
![キャラクタデータ関連図](https://stat.ameba.jp/user_images/ed/1b/10069495828.png?caw=800)
色違いのキャラクタの採用はゲームが安っぽく見えるほか、どのキャラクタがどんな特徴を持っているのかユーザが覚えにくいという欠点があります。
これを回避するために、単純に強さが違う場合は強い敵ほど強そうな配色を考えます。だからと言ってゲーム終盤に奇抜な色の敵ばかり出てくるようなことのないように気をつけます。
攻撃手段等が異なる場合は、その攻撃とイメージの合う配色を考えます。例えば、冷気やホラーっぽい攻撃するような敵は寒色系でまとめます。と言ってもマジックアクションでは属性攻撃を扱う予定はありません。
![配色の例](https://stat.ameba.jp/user_images/05/df/10069495830.png?caw=800)