カラーパレット

カラーパレットとは、ディスプレイに表示させる色の組み合わせを定義した情報の事である。
このカラーパレットを用いた画像形式や表示方法をインデックスカラーと呼ぶ。
ドット絵によるゲームの恐らくほとんどにこの表示方法が用いられている。


「使用カラー」という概念の発生まで

                        

恐らく「同じ人間が二人いるのは不自然」という常識的判断からであろうか、
最初期の格闘ゲームでは同キャラで対戦する事は不可能だった
(その代わりにリュウに対する実質的な同キャラであるケンが生まれたわけである)。
しかしアーケードで対人戦が盛んになってくると、自分の持ちキャラで先にプレイされていた場合、
そのキャラが使えない事は不便であったし、同じキャラで直接腕比べがしたいプレイヤーも相当数いたはずで、
同キャラ対戦を不可にした判断とプレイヤーの希望との食い違いは大きくなっていった。

そして『ストリートファイターII'』で同キャラ対戦が完全解禁*1されたのだが、この時、自分の操作キャラを判別するため、
外見の差別化の方法として、リュウとケンのような「グラフィックの変更を伴う差別化」はされず
かつてのマリオルイージのような「パレットだけの変更での差別化」という方法が取られ、
これにより「使用カラー」という概念が生まれた。
カラーの選択はキャラ決定時に押すボタンによって為されたが、その後ほとんど全ての2D格闘ゲームがこれを踏襲。
「1Pカラー」「パンチボタンカラー」「デフォルトカラー」、さらに色数が増えると「弱Pカラー」などの言葉が生まれていった。
家庭用移植版などではこのカラーパレットを自分で製作する機能(通称カラーエディット)が搭載されているものも多く、
プレイヤーの楽しみの1つとなっている。
そのキャラの有名なプレイヤー等が界隈で根付くと、そのプレイヤーの使用カラーのキャラが、
「(プレイヤー名)(キャラ名)」と呼ばれるようになったりする
(例:「ウメハラリュウ」「クソル」「5様シン」等)。
対戦時に於いて既にその使用カラーが先に選ばれていた場合は当然ながら後から乱入した側はそのカラーを選ぶことができない。
要するに早い者勝ちなので、こういった場面に遭遇した時は潔く他のカラーを選びましょう。

ちなみに『ハイパーストリートファイターII』では各モード毎に使用できるカラーが区分されている。
例えば「ノーマルモードとスパIIモードの弱Pカラー」、「ダッシュモードとスパIIモードの中Pカラー」、「ターボモードとスパIIモードの強Pカラー」は、
内部で同一扱いとなっている。
そのため、M・バイソンの「ターボモードとスパIIモードの強Pカラー」は実は両者色が異なっているが、上記の仕様のため同時選択不可となっている。

なお先述の「同一人物が二人いる不自然」については、単なるゲームの都合として「気にするな!」と言う作品が多数だが、
同門、もしくは偶々存在したそっくりさん(『ストI』及び無印『ストII』のリュウとケンの関係もこれ)」
生き別れの兄弟」「見た目や能力まで再現しきった物真似野郎(勝った方が本物扱い)
アンドロイドクローン(科学)、ドッペルゲンガー(魔術)」「タヌキキツネ化けていた」「マルチバース戦争=敵は並行世界の自分
夢や心象世界で、もう一人の自分と闘う。…つまる所、最初から非現実」
等と言った理由を用意している作品もある。

サムライスピリッツ』シリーズでは、パレットは単なる同キャラ対戦時の区別のためという範疇を超えた使われ方がされてきた。
  • ナコルルの2Pカラーを大きくイメージの変わって見える褐色肌にし、後にそれをレラという別人として独立させた
    (ただし2Pナコルルは独立前から「1Pナコルルとは体形が違う」と設定された珍しい存在だった)。
  • 剣質」システムでは同一人物設定のまま異なるキャラ性能を持たせ、その剣質はカラーによって判別可能に。
KOF XIII』では大幅にパレットを細分化する事により、
同じドットを使いながら衣装が変わる「ように見える」という工夫が取り入れられている。
わくわく7』の牧原アリーナのレオタードが基本カラーでは全体青一色の所、
選択したカラーによっては黄色とオレンジに塗り分けられたものに変わるが、それを推し進めたようなもので、
GUILTY GEAR』のミリア=レイジもカラーによって生足やタイツになり、
ユリ・サカザキの衣装がタイツになったりスパッツになったりレオタード+ニーソックスになったりといった具合である。
MUGENではシュリセルワンダーウーマンが似たような事をしている他、無敵医師氏のメイも生足化されたカラーパレットが付属されている。


MUGENにおけるカラーパレット

MUGENでも原則的に同キャラ対戦ではキャラクターカラーで自キャラを区別するという方法が取られており、
他の格ゲー同様、同キャラ対戦時に相手と同じカラーの選択は基本的に自動回避される設定になっている。*2
キャラ選択時のボタンで使用カラーが決定されるのもセオリー通りである。
各カラーはACTファイルで定義され、SFFファイルと共にキャラクターの外見を左右する重要な要素となっている。
+ ACTとは、Adobe Color Tableの略である。
ACTとは、「Adobe Color Table」の略であり、その名の通り、画像編集ソフト大手のアドビ社のフォトショップや、
イラストレーター等で使用されるカラーテーブルファイルである。
しかしヘッダも暗号化(圧縮)も全く無く、単に256色分のカラーコードを1色につき3バイトずつ使って記録しているだけ
(1色につき情報は「レッド、グリーン、ブルーの3原色×256階調」なのでそうなる)、
という単純な構造なためか、フリーウェアを含む多数の画像編集ソフトで扱える。
と言うか、ファイルの構造とカラーコードの事が良く分かっていればバイナリエディタでも編集が可能である。

規定パレット数は256色(255色+透過色)で、このパレットに色が収まっていればFF等のエディタで個別に色の設定が可能である。
SFFファイルで設定する画像には2種類があり、「共通パレット」は設定したACTファイルの影響を受けるが、
「独自パレット」はACTの影響を受けず、どのカラーで選んでも常に同じ色で表示されるため、自由に色を付ける事ができる。
またポートレイトは常に独自パレットが適用されるため、ボタンによるカラーの変更には対応していないので注意が必要である。
透過色は1色のみ設定する事ができ、本家であるアドビのフォトショップなどでは右下に位置するのが基本だが、
MUGEN関連のツールでは一番左上に位置付けられる事が多い。
+ 小話
MUGENのパレットの定義はこの256色の組み合わせによって行われるが、これより前のCPS2やNEOGEO等、
格ゲー全盛期のゲームマシンや基板は同時に扱える色数が遥かに少なかった。
基本で使える色数が限られている事に加え、キャラクターの色はそこからさらに 15色だけ 選別して、
パレットとして使用するという流れだった(透明色を含めると16色)。
どれだけベースとして持っている色数が豊富であっても、その中から更に「本当に必要な色」の見極めが必要な事に加え、
決められたドットサイズにその選んだ15色のみでキャラを造形していくという技術も必要である。
ドッターの事を「職人」と呼ぶのには、そういった卓越した色の選出とその配置によってキャラ表現する、
正に職人芸と呼べる腕を持っていたからである。
+ 現役ドッターによる余談
とはいえ、15色に色を収めるのは実を言うとそれほど難しい事でも無い。
理由は簡単、同色のグラデーションに使う色数は、その色を使う面積に比例するからだ。
どんなキャラクターでもパッと見で「赤っぽい」とか「白っぽい」とかの一番多く使う色があるだろう。
これを「メインカラー」として4~5色取る。
次に肌や髪の毛の色、服装の2番目に面積が広い色などを「サブカラー」として2~4色、
服飾などのワンポイントに1~2色だけ「エキストラカラー」を取る。
この法則で「メイン1色、サブ&エキストラ1~2色」と種類を割り振れば、
大抵のキャラは15色以内で綺麗に色を割り振る事が可能なのである。
基本的に人間を書く際は肌色は様々なキャラで色味調整して使い回す事が多いのだが、
前述のように面積に比例するという事を念頭に置いて、「このキャラは顔だけしか肌が出ていない」といったケースには、
臨機応変に肌色を3色に削るといった機転を利かせればパレットを無駄なく活用できる。
また全身派手で色々な色があるといった場合は、その分一色に対する面積が減るので、
「メインカラー0、サブカラー3」といった振り分けをすれば問題なく収まるだろう。

後は小技として、例えば赤と青を使うキャラなら「赤3、青3」とグラデーションせずに、
一番面積の狭い色を類似色にする事により、「赤2、青2、紫1」と1色浮かす事ができる。
色味を上手く合わせれば「赤1、青1、紫2」で違和感の無いグラデーションを塗る事も可能なので、
パレットがキツい時は試してみる価値はあるだろう。

同様に一番明るい色(ハイライト)と一番暗い色(シャドウ)を白と黒で代用するという小技もある。
白と黒は無彩色、つまり色味が皆無なのでどんな色にでも合う。
そのためグラデーションの一番明るい所と暗い所を全て白黒で賄うと、手軽にかなりのパレットが稼げるだろう。

ちなみに、ドッターにとって一番辛いのはHDサイズなどの大型キャラで、
「広い面積の立体感を3Dのように滑らかに出す」事と、「30度未満の角度の輪郭線を滑らかに描く」事。
どちらもグラデーションの必要段階数が跳ね上がるため、そこの表現に拘るとパレットをごっそり持っていかれてしまう。
前者は面積が広いほど、明暗の段差が大きいほど、ジャギやモアレが目立つ。
こういった場合は境界をトーン塗りでぼかすといった小技で対処する方法もあるが、
いっその事セル画調の所謂「アニメ塗り」にする方が絵として綺麗に見えるだろう。
HDサイズの商業作品キャラでセル画塗りが多いのは、こういった理由のせいだと思われる。
後者はやってみると分かるが、ドットの線は角度が1度に近いほどグラデーションが増える。
1~2度程度ならいっそ真っ直ぐにするのもありだが、10度位になると結構対処に困る。
こういうのは割り切ってジャギ消しに拘らずざっくり済ませても良いかも知れないが、
逆に言えばこういった微妙な角度の線の処理が腕の見せ所と言えるかも知れない。

ハードが高性能化された昨今では無理に16色に収める必要は無いかも知れないが、
もうちょっとで15色に収まるのに…という製作者は参考にしてみてはどうだろうか。

基本的に共通のカラーパレットを使用するのはキャラクター本体の画像やカットインなどに限られる。
ボタンによるモードセレクトなどを搭載している場合はゲージ類の色の変化などにも応用できるが、
特に色の変化が必要ないエフェクトなどは、独自パレットで登録する方が手っ取り早く済ませられる事が多い。
たとえばintense mc氏の右京さんは血のエフェクトに共通パレットを適用してしまっているため、
カラーによって緑色や紫色の血が飛び散るという事態が起こる(わざとそうしてるのかどうかは謎)。

WinMUGEN(現在主流となっているバージョン)では、SFFファイルの画像登録の仕様にやや癖がある。
「共有」にチェックを入れた画像にのみACTファイルの情報が適用され、それ以外は独自パレットとなるのだが、
共通パレットは登録した順番で1つ前の画像を適用するという仕組みになっている。
つまり、途中で1枚でも独自パレットの画像を挟んでしまった場合、それ以降は共通パレットにチェックを入れると、
途中の独自パレットが適用されてしまい、色化けが起こってしまう。
現在は「Fighter Factory」など、自動的に並び順でパレットを整理してくれるツールが出回っているのであまり気にしなくても良いが、
「MCM」などのツールしか存在しなかった初期の時代は、登録順をよく考えておかないと、後々修正するのにかなりの手間がかかっていた。
今でも最初にポートレート、次に共通パレットを使用するキャラ画像、最後に独自パレットを使うエフェクト類、
といった順番で画像を登録する製作者が多いのはこの名残である。

一方DOSMUGENでは、独自パレットはポートレートにのみ適用でき、それ以外は全て共通パレット扱いになっていた。
その為「共有」にチェックが入った画像が一切無くWinMUGENで使うとカラーパレットが機能しないキャラがいる。

MUGENキャラは最大12種類までカラーパレットの設定が可能となっており、DEFファイルで登録する
(Pal1…aボタン、2…b、3…c、4…x、5…y、6…z、7…s+a、8…s+b、9…s+c、10…s+z、11…s+y、12…s+z)。
pots氏製作のキャラやまじっく氏製作のカンフーマンEXの様にさらに多くのACTファイルを搭載しているキャラや、
キャラ本体と別にパッチ形式でACTファイルを配布している例もあるが、
実際に使用するにはDEFファイルを書き換えるか、ACTファイルの名前を変更して既存のカラーと入れ替える必要がある。
また、MUGENにはDEFファイルで設定したパレットの番号を判別するトリガー「Palno」が存在し、
モードセレクトやGGシリーズの金カラーや黒カラーと言った特殊モード、ボタンによるAI起動の分別などに応用されている。

多くの格ゲーでは基本的にキャラクターセレクトの際に弱パンチボタン(xボタン)で決定する事で、
キャライラスト通りの通常カラー(所謂1Pカラー)を選択する事ができる。
しかしMUGENの場合、1番目のカラー(=Pal1)はaボタンに割り振られており、以下順番はb、c、x、y、zと続くので、
2Pカラーまでしかないような原作からベタ移植したキャラの場合、aボタンとbボタンに割り振るのがごく自然であった*3
その名残か、今でもパレットが6つ未満のキャラの場合は1Pカラーをaボタンに置く事も珍しくないようだ。
気になる人はdefファイルの記述を入れ替えるなどしてみるのが良いかもしれない。

ところでMUGENのデフォルトキャラことカンフーマンだが、胴着の色で判別する限りでは、
どうやらPal1(aボタン)ではなく、Pal6(zボタン)に1Pカラーが置かれているようである。

色化けの修正方法

一部のエディタの仕様として、共有パレットの途中に独自パレットが登録されている場合に、
独自パレット以降のパレットに(主に大ポートレート)異常が出る「色化け」と呼ばれる現象がある。
上記の通り独自パレットを用いたSFFの登録を0,0の前、もしくは共有パレットを全て登録した後に行う事で回避できるが、
既に色化けが起こってしまっている場合は「 SffAirEditor(SAE) 」を用いてそのキャラのSFFファイルを開き、
9000,1番の下のスプライトの「共有」のチェックを外す操作を行う事で解消できるので覚えておこう。

この他、DosMUGEN用のキャラをWinMUGENで使用する場合に起こる色化けの解消ソフトとして「CharSffDtoW」が配布されている。
現在は伊吹川氏のサイト「無限小学校」などで入手可能。

新MUGENのカラーパレットについて

SFFファイルが拡張され、SFFに直接カラーパレットの情報を格納できるようになったが、
この機能を使用すると従来のツールによって後から単独でカラーを編集する事はできなくなってしまう。
そのため多くの製作者が新MUGENでも今まで通りACTファイルとSFFファイルを分けてキャラを構成しているのが現状である。
また新MUGENでは新たに追加されたステコン「RemapPal」により、試合中でもパレットを切り替える処理が可能となっている。
詳しくはこちらを参照。


ACT製作支援あれこれ

手描きキャラ製作者へのヒント

Windowsに登録されているMSpaintはパレットを入れ替えできないため、透過色の設定が行えない。
保存後にIrfanView等の画像加工ソフトやSAEでパレットを編集する、
もしくはD-Pixed、EDGE、GraphicsGaleなどのパレット位置の変更が可能なソフトを予め選んでおくといいだろう。

便利ツール紹介

ACTやSFFの編集に有用なフリーツールをご紹介。

  • 禮我氏製作 ActFileEditer
文字通りACTファイルの編集に特化したツール。
ACTファイルの作成・編集、PCXファイルの読込、及びパレットデータの取り出し・差し替えができる。
PCX形式の画像を読み込む事でリアルタイムでのプレビューが可能となっており、
パレット情報のコピー&ペーストができるのがウリ。
常に完成図を見ながら作業する事ができ、機能やインターフェースがシンプルにまとまっているため非常に使いやすい。
なお、2011年1月に7年ぶりの更新がなされ、選択中のパレットの使用箇所のみをPCXウィンドウにて表示する機能が追加された
(使用箇所以外は選択中の色が反転して表示される)。

  • doloop氏製作 bmp2act
こちらもACTファイル編集専用のツール。
bmpと銘打っているが、インデックス形式であればpngでもgifでもpcxでもドラッグ&ドロップでACTファイルを生成できる。
元画像を用意できる環境にある製作者向けのソフト。
2500loops氏のサイトで入手可能。

  • siden氏製作 Unify-Bitmap
複数のBMP形式の画像を、指定したBMP画像と同じフォーマットに自動変換してくれる。
そのキャラのパレットで使う色を全て使った画像を最初に用意し、残りの画像をこのソフトで一括変換すると、
SFFに登録する画像のパレットを統一する手間を一気に省く事が可能。
ビット数やパレット数が異なる画像も自動的に変換してくれるが、一定条件下で生成される画像が乱れてしまうバグがある。
特にPhotoshopで作成したBMP画像を変換しようとすると高確率で発生するが、
このソフトを使う前に一度IrfanViewなどを通して8ビットに変換しておけば回避可能。
転載自由で、現在は伊吹川氏のサイト「無限中学校」などで入手可能。

  • doloop氏製作 PmpClean
BMP、PNG、PCX形式に対応。
上記のUnify-Bitmapの「パレット統一」に加えて、パレットをそっくり交換する「入れ替え」、
パレットに無い色を背景色で置き換える「クリーン」機能が付いている。
オプション(チェックボックス)で背景色の変換を許可⇔不許可やクロップ(余白を削る)もできる。
2500loops氏のサイトで入手可能。

  • 結社「障泥烏賊ライブラリ」製作 Yukari
BMP/JPG/PNG/GIF形式に対応。
フルカラーPNG形式のスプライトをほぼ劣化させず256色に減色させる事ができる優れモノ。
ディレクトリーモードが実装されており、複数の画像ファイルの入ったフォルダをFLAN.EXEにドラッグアンドドロップする事で、一括で減色する事が可能。
またオプションでファイルのリサイズもできる。
但しメニューや設定は英語なので注意。
公式サイトは閉鎖されており、現在は開発チームのサイトで公開中。


*1
厳密に言えば、初代『ストII』においてもリュウに限り同キャラ対戦を行う事はできた。
やり方はまず1Pが対CPU戦を開始し、負ける。コンティニュー画面に入ったら2P側でコンティニューし、
キャラ選択画面の時点で1P側が乱入すると1P・2P両方のカーソルがリュウになるので、そのまま選択する、というもの。
ただしお察しの通りこれはバグであり、基板に2Pカラーのデータなどは無いのでどちらも白胴着。
その区別のしづらさは同時に投げを狙った時に顕著で、投げたのか投げられたのかさっぱり分からなかった。
ちなみに、既に『ストII'』が稼働していた時期の発売のスーパーファミコン版『ストII』では
「電源を入れた後のメーカーロゴ表示中に素早く↓、R、↑、L、Y、B、X、Aと入力する」という裏技により同キャラ対戦が可能になる
(入力に成功すると効果音が鳴る)。

*2
もちろん、カラーパレットが一つしかないキャラクターでは強制的に同キャラ同カラー対戦になる。
また、ほとんど意味は無いが全く同じカラーを別のカラー扱いとして2つ以上割り振る事で、擬似的に同キャラ同カラー対戦を実現する事も可能。
タッグ戦で全員違う色にするためには4種類、チーム戦で全員違う色にするためには8種類のカラーバリエーションが必要である。

*3
実は必ずしもカラーはPal1から連続で登録する必要は無く、
原作が6ボタン式でパンチボタンカラーとキックボタンカラーの2つに分かれていた場合に限っては、
pal3 = k.act;キックボタンカラー
pal6 = p.act;パンチボタンカラー
この様にdefファイルに記述すれば原作同様の配置にできる。
ちなみに、こんな風にしてしまうと…
pal1 = k.act
pal2 = k.act
pal3 = k.act
pal4 = p.act
pal5 = p.act
pal6 = p.act
これでは同キャラ同カラー対戦の防止という本来の役割を果たさなくなるので注意。


最終更新:2022年10月20日 16:24