先に Google Fonts を紹介していますが、レトロPC系ゲーム制作に、知っておくと便利なツールやデータをご紹介します。


  • Exomizer 3
Exo3zecode
現在も開発が続いている多言語に対応した超高圧縮ツールです。その圧縮率は標準的なzipを超えています。拙作の Newシティヒーローで採用しています。大変素晴らしい圧縮展開ソリューションなのですが、残念ながら二つの問題を抱えています。
  1. 展開速度がかなり遅い
  2. z80 展開ルーチンのライセンスが厳しい
展開は PC-8001で、3KBの展開に0.5秒前後という速度です。パパッと切り替えて使う用途には向きませんが、ADVゲームでは十分な速度とも言えます。そして二つ目の問題が大きいです。Z80 デコードルーチンのライセンスが LGPL 2.1 なのです。これは、ソースコードの提示が必須であり、かつ、リバースエンジニアリングと改変を許可する必要があります。その他条件もいくつかあり、これでは個人であっても採用しづらいです。
※ ライセンスは必ずご自身で確認してください。

このため、私も使用を諦めようと思っていたのですが、Exo のデータ構造を展開する zlibライセンスなデコーダーを uniabis 氏が公開してくださいました。私はまだ直接的に連絡を取り合ったことはないのですが、このルーチンのおかげで大変助かりました。感謝の気持ちを込めてここで「感謝の意」をお伝えしたいと思います。本当にありがとうございました!

さて、使い方は簡単です。HL にデータアドレス、DE に展開先アドレスを入れて call deexo3 とするだけです。ただ、公開されているソースは tools80 でも AILZ80ASM でもアセンブル出来ませんので、ご自身で自分が使用しているアセンブラの仕様に合わせて改変する必要があります。私は自分で改変してますが、流石にこれは公開出来ませんので…。
世界でもっとも強力な9のアルゴリズム

ジョン マコーミック
日経BP
2013-10-10


  • LZe
LZe
後藤浩昭さん @gorry5 開発の高速圧縮展開ツールです。先に紹介した Exomizer 3 と性格は全く異なり、こちらはそこそこの圧縮度ではありますが展開は爆速です。Z80 展開ルーチンは諸星圭さん @kmoroboshi が制作されています。

使い方も簡単で Exomizer 3 と全く同じです。注意点としては、標準ツールで圧縮したデータの先頭4バイトのヘッダ情報を、事前に手動で捨てておかないと簡単に暴走します (^0^;) まあ、アセンブラの宿命ですね > 簡単に暴走

PC-6001mkⅡのソフト開発時は、この LZe を採用していました。マップ切り替え時にリアルタイムで展開していましたが、全く速度的に気になることはありませんでした。ガッツリ圧縮したいときは Exomizer 3、ゲーム中のデータを簡単に圧縮したいときは LZe と使い分けが良いと思います。


  • ドットフォント
NCHステージ開始
美咲フォントであまりにも有名な門真なむさん @num_kadoma のサイト Little Limit で公開されているフォントです。Newシティヒーロー等、私のレトロPCゲーム制作に全面的にお世話になっています。ゲーム制作に特化してる(としか思えない)フォント群です。大変有り難い事にライセンスはフリーです。なんていうか、本当の意味でフリーです。視認性も大変素晴らしく、特にこだわりがなければ、これを選択しない理由が見当たりません。超絶オススメいたします。

この「第1話 怪獣出現」というフォントは k8x12 を少しだけ改変したフォントを採用しています。この改変にあたっても、直接門真さんに監修して頂いており、開発中は本当にいろいろお世話になりました。感謝しまくっております!


  • EMI AtrbViewer
EMI
YsII ©1988 Nihon Falcom Corporation. 画像制作 by 針鼠屋 @L_H_G

私が制作した PC-8001用のセミグラフィックデータ作成支援ツールです。PC-8001のアトリビュートは横方向に20回までという厳しい制限があります。その色制限を一目で見えるようにしたのが EMI です。簡易的ながらドット修正機能もありますので、ちょっとした異常なら、そのまま修正出来てしまいます。また、データのコピペにも対応していますので、Photoshop等の外部ツールとのやりとりも、ほぼシームレスに行うことが出来ます。

あと、特徴的なのがレイヤを扱えることです。これでアニメ対応も簡単ですし、また、差分データ出力による、データ縮小機能もあります。圧縮は LZe 形式で出力するようにしています。アニメなので展開速度が大事ですからね。

以前はブログがなかったので、bugfire2009さん @bugfire01サイトで代理公開して頂いてました(ありがとうございます!)。こちらからもダウンロード出来るようにしておきます。
EMI1.0.1.2.ZIP

いつか EMI の機能紹介もガッツリしてみたいですね。ではまた!