ファミコンの画面について

目次

表示色

パレット

キャラクターデータ

BG 画面

ドラクエのフォント

スプライト

ラスタースクロール

PPU

バンク切り替え

メタルスレイダー・グローリー

ファミコン風画面を描くためのまとめ


パレット

さて、この52色の中から、任意の3色を選び出し、それに「透明」を加えた4色でグループを作ります。

このグループを「パレット」と呼びました。ファミコンでは、キャラクターごとにパレットを指定して色を決めます。


パレットは、スプライト用に4つ、BG 画面用に4つ作ることができます。

4つのパレット右の画像は、ファミリーベーシックにプリセットされているパレットの例です。

簡単にゲームが作れるように、マリオ、ルイージ、レディ、そしてファイアーの色がセットされていました。

ここで注目してほしいのは、ファイアーの色です。ルイージの服の白、ルイージの肌の色、そしてマリオの帽子の赤と同じ色を使っています。

ファミコンでは、3色のパレットが4つあるから12色使える…と、単純にはいかないのです。ここでは、組み合わせのために3色を重複して持っていることになります。


そして、マリオとルイージは「色は違うが同じキャラクター」であることにも注目です。

ファミコンでは、キャラクターの定義と色の定義は独立しているため、色を変更して別のキャラクターにする、ということがよく行われていました。

数少ないキャラクタ定義数で、多くのキャラクターを表現するための基本テクニックです。


ファミコンのパレット概念別の例を挙げましょう。左の画像では、「マリオ」と「カニ」、「ルイージ」と「カメ」は同じパレットです。

先に書いたように、スプライト用のパレットは4つしか使えないうえ、色を重複させることも多いため、同じような色合いで別のキャラクターを表現する必要がありました。



こちらも、画像はファミリーベーシックのキャラクタを使用しています。
ただし、マリオとカニ、ルイージとカメは同じパレットではありませんでした…
記憶では一緒だったから題材にしようとしたのに、記憶っていい加減ですね (^^;
ここでは例として、あえて同じ配色になるように調整しています。

BG 画面でも、表示キャラクターのパレットを変更することができます。

ただし、キャラクターは 8x8 ドットのものを配置できるのに、パレット変更は 16x16 ドット単位でしかできません。

詳細については、また後ほど書きます。


パレットには、必ず透明色が含まれます。

スプライトに透明があるのはもちろん、BG 画面のキャラクターにも透明の設定を行います。


「すべてが透明」の場合は、「背景色」として設定された色が表示されました。

この色は、画面の描画範囲外にも使用されます。


パレットはスプライトとBG用にそれぞれ4つ、合計で8つあり、1パレットは透明を除き3色。

合計で24色を使えることになります。

これに加え、すべてが透明の場合の「背景色」を含めて25色が、ファミコンの同時発色数です。


ただし、すでに書いたようにパレットの色が重複してしまう、と言うのは仕方のないことだった。
最大25色出せる、というのはあくまでも理論上の話。
ファミコンの色制約は、考えようによっては MSX より厳しい。


キャラクターデータ

キャラクターは、スプライトと BG で別々に、それぞれ 256 キャラクター持つことができます。


基本的にはキャラクタ定義はカートリッジ内の ROM を直接参照します。MSX のような PCG でありません。

これがファミコンの大きな制約となっています。


特に初期のゲームが、MSX のゲームに比べて動きが乏しい・キャラクターが少ないのは、ROM では内容が固定されてしまっているためです。


ディスクシステムでは、キャラクタ定義部分に RAM を搭載することで、PCG を実現していました。
また、後には大容量の ROM を使い、シーンごとのキャラクターを変更できる技術が発達しました。

1つのキャラクターは 8x8 で、1ドットを 2bit で表現します。

つまり、1キャラクターには透明色を含む4色が使えます。


キャラクタのデータが示すのは、あくまでもパレット内の色番号。実際の色ではありません。

先にマリオとルイージの例を挙げたように、表示の際にパレットを変えれば色も変わります。


スプライトと BG のキャラクタデータは「別」ではありますが、構造は全く同じです。

実は、BG 用に定義されたキャラクターをスプライトでも使用する、などのできたのですが、一般的ではないので割愛します。


次ページ: BG 画面


前ページ 1 2 3 4 5 6 次ページ

(ページ作成 2013-07-28)
(最終更新 2015-10-05)

前記事:MSX の画面について     戻る     次記事:50年代の画面表示技術
トップページへ

-- share --

100100

-- follow --




- Reverse Link -