【4色】

Last-modified: 2022-04-12 (火) 17:08:40

概要

ファミコンでの色彩の制限数。
便宜上「4色」と表記しているが、実際には3色+共通色(スプライトの場合は透過色)である。
 
MSX等のようなファミコン時代の一般的なハードでは、1ドットあたり1ビットに相当するデータを割り当てた単色スプライトが主流だった。この場合、3色(+背景)を表現するには、3つ分のスプライトを重ねる形になり、3倍の情報量を必要とした。しかしファミコンでは最初から1ドットあたり2ビットを割り当てたことで4色(3色+背景)の表現力を実現しつつ、情報量を2/3に抑えたのである。
PCと比べて低コストであるファミコンでは、少ないビデオメモリを最大限に生かすため、背景(BG)についてもスプライトに似た手法が取られており、同様に4色の制限がある。
 
ファミコンでは全52色を扱えるが、このうちグラフィックデータとしてマップチップ(BG)1個やキャラクター(スプライト)1体に割り当てることのできる色は3色+αに限られている。
BGは16×16ドットの範囲ごとに、またスプライトは8×8の範囲内で3色+αを指定する。
BGは違う範囲に移れば違う色を指定できるので、ある程度大きい絵ならば4色以上も使える。
ちなみにBGとスプライトに一度に指定できるパレット数はそれぞれ4つなので、同時発色数は25色が限界。
 
このグラフィックデータは、形の情報である「パターンデータ」と、色の情報である「パレットデータ」に分けられており、パターンが同じでパレットのみ異なるデータを簡単に扱うことができる。
 
なおファミコンの場合、スプライトは画面内に64枚まで、また水平方向には8枚までしか置くことができない。
しかもこれらは8×8ドットの場合であるため、16ドットに換算すると画面内16枚、水平方向4枚に相当する。
この数を越えるとスプライト欠けを起こすため、これを回避するために並んでいるスプライトを高速で交互に表示させるなどの手段を用いている。
ファミコンゲームでよく見られる、いわゆる「キャラのチラつき」はこのスプライトの高速切り替え表示によるものである。
 
ファミコンだけでなくゲームボーイカラーにも同様の色数制限が存在する。3DS版DQ11の【冒険の書の世界】で使われているパーティメンバーのFC風のグラフィックでも、この色数制限が遵守されている。

DQシリーズでの実用例

パレットデータ切り替え

BGをDQで分かりやすく言い替えると、パレット1つ(16×16ドット)はマップ上の1マスに相当する。
【フィールド】をよく観察してみると、【平原】【山地】【海】等で多くの色を使っているように見えるが、1マス当たりは3色+共通色に収まっているのがわかるだろう。
 
このBGのパレットデータを切り替えることで、いわゆる「色違いモンスター」はもちろん、マップチップではDQ2の【ロンダルキア】の雪景色や、DQ3・DQ4における【昼と夜】の切り替わりを表現している。
暗転や【モンスター】出現といった一瞬の演出も、このパレットデータ切り替えで自然に作っている。
ロンダルキアが外界から閉ざされている理由や、外からロンダルキアを見ると白くなっていなかったりするのはこのため。
またDQ4ではパレット変化によるカラーアニメーションで海の波を動かすなど、幅広く活用されている。
 
ファミコンでは4色(3色+背景色)が標準であるため、使用する色数が3色未満の場合に無駄が生じるという欠点もあった。例えばテキストのように白黒で済む場合は1ドットあたり1ビットで済むため、これを2ビットで扱うファミコンでは2倍の情報量を無駄に処理することになってしまう。しかしDQではパレット切り替えを活用することで本来の情報量を無駄にせず活用している。
白黒の文字表示の場合、4色のデータでモノクロの文字パターンを2種類定義するという手法が使われている。4色のデータはそれぞれ、「2種類の文字の両方で点灯するピクセル」「片方の文字だけで点灯するピクセル」「もう片方の文字だけで点灯するピクセル」「どちらの文字でも使われないピクセル(=背景色)」として定義される。ここで背景色を黒、文字の色を白とした場合、4色のパレットを白白黒黒と定義した場合と、白黒白黒と定義した場合で、2種類の文字セットを切り替えているのである。

スプライトとBGの使い分け

モンスターの場合、DQ1では正体を現した【りゅうおう】以外はスプライトで描かれている。
スプライトを用いれば戦闘時の背景(BG)を透過できるので、綺麗な絵を表現できる。
また、ファミコンにはスプライトの反転機能があるので、ソフト内に別のパターンを用意しなくても簡単に表示することができる。
DQ2以降は基本的にはBGで描かれているが、透過機能を用いたスプライトを重ねることで、下位種で素手だったモンスターの上位種に【武器】を持たせたり(別パターンを用意するより容量節約になる)、16×16ドットの中で5色以上使っているように見せる等、より細かい表現を実現している。
【シドー】等の【ウィンドウ】にはみ出るモンスターについては、中央部分は通常通りのBGだが、はみ出した部分のみ透過したスプライトで描くことで自然にはみ出させている。
そのため、シドー出現時に注意深く見てみると、はみ出した部分であるスプライトの箇所のみ描画が一瞬遅れているのを確認できるはずだ。
また、【メラゴースト】の分裂や【ベロリンマン】の舌出しといった細かいアニメーションにもスプライトが用いられている。
BGの連続差し替えでもアニメは作れるが、舌出しのような部分的なアニメならば動く部分のみをスプライトで上書きした方が省エネになる。

スプライトの表示制限による弊害

上述のようにスプライトには表示数に制限があるので、できる限りそれを回避しなければならない。
DQで言い替えると、通常のキャラクターはスプライトが2×2並んだ形で作られている。
つまり、水平に4人並ぶだけでスプライトが水平表示数の限界となり、5人以降はチラつかせることになる。
街中で頻繁にチラつくのもそれが原因だし、【馬車】の十字フォーメーションはそれを回避した結果である。
【モンバーバラ】の劇場や【エンドール】【武術大会】の観客は普通に表示されているように見えるが、これは大部分をスプライトではなくBGで「人だかり」を描くことで回避している。
前者は直接話しかけられる場所だけ、通常通りのスプライトの「人」が配置されている。
 
モンスターの場合、例えばDQ4の【ボーンナイト】系は色鮮やかだが、単体出現するパターンが多い。
これはスプライトで色数を増やしている関係上、他のスプライトを使うモンスターと同時出現させると、場合によってはスプライト数が限界を超えてしまい、通常表示できなくなってしまうからである。
明らかに隙間があるのに2体までしか出現しない【オーガー】系もわかりやすい例だろう。
ウィンドウにはみ出ている鉄球のスプライト部分が1体当たり4つあるので、2体が表示限界なのだ。
これらに限らず、モンスターの出現パターンがある程度決まっているのは、ゲーム的なバランス調整の他に、スプライト数が限界を越えないような組み合わせを選んでいるからでもある。
また、上述のアニメーションが用いられているモンスターは全て色数が少なく、色分けもシンプルである。
これはボーンナイト等とは逆に、通常の一枚絵をBGだけで描けるようにしておかないと、動かす際にスプライトのやりくりが大変になってしまうからだ。
もちろんBGは範囲ごとに違うパレットを使えば5色以上扱えるのだが、これも動かす際にややこしくしないためであろう、ほぼ一つのパレットで塗られている。
DQ4の【ラスボス】である【デスピサロ】が、デザインとアニメーションが凝っている一方で色使いは非常に寂しい(体色2と白黒+目のみ別パレットで合計5色)のはこれが原因である。
 
スプライト制限を敢えて無視し、チラつきもさせず表示限界で欠けさせることによる演出も存在する。
その最たるものが、【第四章 モンバーバラの姉妹】【エンディング】の出航シーンであろう。
ただ眺める分にはなんてことのないシーンだが、実はファミコンの機能を弱点を含めて最大限発揮している。

  1. 画面を上にスクロールさせることで船のBGが下方向に移動しているように見せる
  2. 海のBGを移動に合わせて差し替え続けることで海面が動いていないように見せる
  3. 港の桟橋を途中でBGからスプライトに差し替えた上でマスト部分にスプライトの塊を仕込み、
    桟橋とマストが重なる際に水平配置数限界によるスプライト欠けで桟橋を消滅させ、
    あたかも桟橋の上をマストが通過したように見せる

桟橋をスプライトで描く理由については、2の理由でBGを細かく差し替え続けなければならない関係上、桟橋もBGで描くと、ちょっと動かすだけで1マスが海と桟橋の重なった状態となり、発色数が4色を越えてしまう。
しかしただスプライトにするだけでは、桟橋がマストの上に表示されてしまうので、敢えてスプライトを欠けさせて整合性を取っている。