MSX の画面について

目次

表示色

キャラクタデータ

テキスト画面

PCGの書き換え

スクロール

スプライト

スプライトとテキストの使い分け

MSX風の絵を描くためのまとめ


スプライト

MSX のスプライトは、16x16 ドットを基本としています。


8x8ドットにすることもできましたし、縦横2倍に拡大して、32x32ドットの表示を行うこともできました。

しかし、これらは「画面全体に」適用されてしまうため、応用範囲が狭くあまり使われていません。


スプライトは、画面上の自由な位置に、ドット単位で配置できます。

画面全体では 32枚まで表示可能ですが、横方向に並べられるのは4枚までです。


スプライトの画像データは 64キャラクター分定義できました。

(8x8 ドットスプライトを選択した場合は、256キャラクターになる)


スプライトもまた、PCG と同じようにモノクロの画像データとして作成されます。

ラインごとに色を変えたりすることもできませんし、色がない部分は「透明」なので、2色使うこともできません。

スプライトは本当にモノクロ、16x16 のサイズに対して、1色だけとなります。

色は表示の際に決定されたので、同じキャラクタデータを違う色で表示する、ということはできました。




スプライトは、必ずテキスト画面の上に書かれます。下に置く機能はありません。

(テキストにも透明色を指定できますが、背景色の指定と全く同じ意味を持つだけです)

スプライトには反転機能などはありません。


スプライトには、他のスプライトと「ぶつかった」ことを判定する機能がついています。

これは、走査線に表示するためのバッファにスプライトを書き込む際に、すでに書かれているスプライトのドットを上書きしたことを検出することで行われます。


使っているソフトはわずかでしたし、MSX 風の絵を描く、という目的では無関係な話なので、そんな機能があったという紹介だけにとどめます。


スプライトとテキストの使い分け

テキスト画面は1ラインごとに色が違うカラフルな表現ができますが、8ドット単位にしか置けませんし、重ね合わせもできません。

スプライトは自由な位置に置けますし、透明部分で重ね合わせ処理も行われます。でも、単色しか使えませんし、横に4枚までしか置けません。


当然のように、ゲームを作るうえでは使い分けがカギとなります。


初期のゲームでは、背景はテキスト画面、自分や敵の表示はスプライト…という単純な構成でした。

ゲームで注目される、動くキャラクターがすべて単色で、「MSX の画面は寂しい」という印象を強く与えました。

しかし、ハードウェアが使いこなされるようになると、スプライトとテキストが効果的に使い分けられるようになります。


業務用からの移植である「グラディウス」では、敵が編隊飛行するために横に多数並びました。

これは、横に4枚以上並べられないスプライトでは表現できません。


MSX版グラディウス1面途中そこで、横に並びやすい敵に関しては、動き回るものであってもテキスト画面で表示されていました。

苦肉の策だったのかもしれませんが、これにより動き回るキャラクターでも多色で描くことができます。


右図、画面右下の「ハッチ」から飛び出し、編隊飛行する敵(右側中央の青)はテキスト。多くの色が使われている。
その近くにいる緑色の敵と、上下にいる黄色の敵はスプライトなので単色。
自機(画面左中央の戦闘機)は、スプライトだが2枚重ねて2色使っている。
自分の攻撃は、前に飛ぶ弾(ここでは青いレーザー)はテキストだが、下に落とすミサイルはスプライト。
色数が違ったり、動きの細かさが違ったりと、違和感を感じそうなものだがゲーム中は気にならない。


ところで、自機は白をベースとして、裏側が灰色、コックピットは赤と3色で描かれます。そして、操作によりアニメーションします。

このアニメーションがうまく、機体の裏とコックピットが同時に見えることはないようになっています。つまり、同時に表示されるのは2色。自機は3色だけど、スプライト2枚重ねで描くことが出来ます。


こうした細かなテクニックの積み重ねで、グラディウスではキャラクタのちらつきを無くすとともに「MSX はキャラクタが単色で寂しい」というイメージを払しょくしていました。


MSX風の絵を描くためのまとめ

最後に、単純に MSX 風の絵を描きたい人のためのまとめです。


・色は全部で16色。


・テキスト画面は、横8ドットについて2色。

 グラフィックを描くことが目的なら、他に制限はないので自由に描いてよい。

 横8ドットに2色、の制限がきついようなら、スプライトを重ねて3色目を使える。

 ただし、この場合はスプライトの制限を守ること。


・ゲーム画面風にするなら、8x8ドットのキャラクターを定義し、並べて画面を作る。

 画面を上中下段に三分割し、それぞれの段で違うキャラクターが定義されている、という意識でデザインしてよい。

 一応キャラクターは各段に256種類までだけど、プログラムで書き換え可能なため実質的には制限なし。


・スプライトは 16x16 ドットで単色。画面上に32枚、横には4枚まで。反転機能なし。

 キャラクタ定義は64種類までだけど、これも書き換え可能なので実質的には制限なし。




MSX の他の画面モードや、MSX 自体について知りたくなった方は、過去に書いたMSXの記事をご覧ください。


Windows で、GRAPHIC2 モード(BASIC からは SCREEN 2 とすると使えたため、SCREEN 2 とも呼ばれる)風の絵を描くためのペイントツールを公開している方がいます。

ぴろやんさんの、piroPAINT 9918

説明ページはこちら

いろいろ説明しましたが、このツールを使えば知識がなくても簡単に描けそうな気がします。


また、僕が書いたのと同じような説明を、ずっと簡潔に、ずっと以前から掲載しているページもあります。

海底都市マチョピチョの中のMSXっぽいウソ画像コーナー。

説明はページの一番下にあります。



参考文献
MSX2 TECHINICAL HANDBOOKアスキー・マイクロソフトFE1987アスキー出版局
その他、WEB上の各種ページ


前ページ 1 2 3

(ページ作成 2013-07-28)
(最終更新 2013-08-26)

前記事:80年代の画面表示技術     戻る     次記事:ファミコンの画面について
トップページへ

-- share --

16000

-- follow --




- Reverse Link -