TINY野郎のブログ -30ページ目

TINY野郎のブログ

PC-6001、MSX、ぴゅう太など、昔のPCが大好きな人のブログ。

さて、前回は減色とリサイズするところまででしたが、
今回はいよいよ実機で出すまでを書いてみます。

私がP6でソフトを作成する場合、基本的に、
すべてのグラフィックをセルで管理しています。

SCREEN3の場合は、画面を 4x8ドットのセルに分割し、
各セルのグラフィックデータと
画面全体のセルの配置データを
メモリ上に持っておき、
それを元に画面を描画しています。
(PCGのあるマシンでは当たり前のことですね)

イースのタイトルをセル分割してみます。


イメージ 1


イースのタイトルの場合、見て分かるとおり、
黒一色の部分以外はほとんど共通なセルがないため、
メモリ効率は著しく悪いのですが、
まあ、タイトル画面だけですし、
ゲームが開始したら破棄してしまえば良いので、
これで行くことにしました。

さて。

では、どうやってセルデータに分割するか、ですが…



自作ツールに突っ込む!



イメージ 2


以上。



…。


…まあ、前のプロジェクトまでに作ったツールやら
描画ルーチンやらがあるので、
ここはそのまま使ってしまおうと。


全然参考にならなくてすみません。


自作ツールといっても、たいしたことはなくて、
BMPファイルをセルに分割して共通なセルをまとめたり、
2枚のグラフィックプレーン用のデータを分けたりして、
アセンブル可能なテキストファイルを出力するだけのものです。

あ、一応、最低限の減色機能はついているので、
フルカラーのBMPファイルから直接セルデータを吐き出すこともできますが、
細かい調整ができないので、私は基本的に、
他のグラフィックツールで減色してインデックスカラーにしてから、
このツールを使うようにしています。

ちなみに、ツールが出力するテキストは以下のような感じです。

【画面上部1/3のセルデータ】
title_001.txt


セルのパターンデータは、

プレーン1, プレーン2, プレーン1, プレーン2, ...

という順で、8ライン分並んでいます。
2進数で出力してるのは特に意味はありません。

また、イースの場合、
画面を上・中・下の3つの領域に分割し、
別のテーブルを作成して、
それぞれの領域が255セル以内に収まるようにしています。

こうしてできたテーブルを自作の描画ルーチンに渡して、
実機(エミュ)上ででタイトル画面を出しています。