MSX2/SCREEN4のススメ
※本エントリは以前SNSに書いた文章を再構成し加筆修正した物になります。
『ぬけがら堂本舗』という個人レーベルでMSX2用のゲームを制作しているnukegaradotnetと申します。
この挨拶は定型文なので「皆さんご存じMSX2ですが?」ぐらいの物言いをしていますが、考えてみればnoteの読者層は様々ですから本来ここから説明せにゃならんのではないかという気がしました。という訳で以下には歴戦のMSXerやレトロPC愛好家諸兄には釈迦に説法といった内容も多々含まれますので生温く見守っていただければと思います。
MSX2って何?
詳しい話はwikipediaでも何でも調べればわんさか出て来るのでスーパーざっくり言うと、かつてMSXという1980年代に世界規模でそこそこ普及した8bitパソコン規格がありました。製造メーカーが撤退し商業的にはとっくに終息した現在でも根強い愛好家が多く、新作ゲームだけでなく新作ハードまで作り続けている愉快なおじさん達が国内外にワラワラといます。
このMSX規格の第一世代であるMSX、通称MSX1には当時様々なパソコンやゲーム機にも使われていたTMS9918というビデオチップが採用されていました。最大画面解像度は256×192ドットで固定16色が使用可能。しかし固定色がどれも微妙にくすんだ中間色だったり、フル解像度の256×192ドットでグラフィックを扱おうとすると横8ドットごとに2色しか指定出来ない、など今日の感覚からするとかなりキツい制約があります。今でもこのMSX1でゲームを作る愛好家は多く世界中で新作ゲームが発表されていますが、使用可能なメモリ領域などを含めて私の力量でこれを使いこなすのは厳しいというのが正直なところです。
そこで私がゲーム制作のプラットフォームに選んだのはMSX規格の第二世代にあたるMSX2です。MSX2にはTMS9918の上位互換であるV9938という専用のビデオチップが搭載され、MSX1との互換性を保ちつつ画面モードがごそっと追加されて画面解像度が上がったりパレット機能で色を自由に変更出来たり1ドット単位で色指定が出来たり扱えるVRAMの容量も増えたりしていえーいといった塩梅になりました。そんなMSX2で私が選んだ画面モードはSCREEN4、画面解像度は256×192ドットで横8ドットごとに2色までという配色制限があります。……おい、今さっきキツいって言ってたヤツと同じじゃねえか。どういうことだ。
ハッピーなSCREEN4の世界
MSX2から追加されたこのSCREEN4という画面モードには予め定義しておいた8×8ドットのパターンを敷き詰めて画面を描画するPCGと呼ばれる仕組みが採用されておりまして、詳しい話は省きますがVRAMを数バイト書き換えただけで画面全体に非常に大きな効果を及ぼせたりする色々とハッピーな画面モードになっています。そしてこのPCGのハッピーな恩恵を受ける代わりに横8ドット辺り2色の配色制限というアンハッピーな仕打ちが待ち受けている訳です。
一応補足しておきますとPCG自体はMSX1から実装されているSCREEN2でも使用出来るのですが、SCREEN4ではMSX2で新たに実装された多色スプライトと組み合わせて使えるというメリットがあります。またこの辺りも厳密に言うと『同じSCREEN2でもMSX1とMSX2ではパレットの扱いやアクセス可能なVRAM領域に違いがあって云々~』とか色々めんどくせえ話があったりしますが今回はSCREEN4の話なのでここでは省略します。
SCREEN4実践編
そんな画面モード仕様のこまけえ話を全部すっとばしたところで実践編、こちらは私がSCREEN4で制作したゲーム【MinQ:ExtrA】の画面です。

マップ中央の青いキャラクターがプレイヤーで、この画面で彼だけは多色スプライトを使用しているのでPCGの配色制限とは無関係です。それ以外はマップも枠線もテキストも全部PCGで、横8ドットごとに2色の縛りになっています。「なんか地味じゃね?ここ不自然じゃね?もっとこうすればいいじゃん」と感じる様な箇所は大体この縛りに引っかかってダメです。そして使用可能なPCGパターンの数にも当然上限があるので調子に乗って「あれもこれも作り込むぜヒャッホー!」とか無計画にやってるとあっという間にパターン定義領域を使い果たしてしまいます。
さんざっぱら言うてますがMSX2のPCGは横8ドットごとに2色の縛りなので、16×16ドットのキャラではラインごとに4色しか使えません。しかし縦方向は無制限なので16色丸々使えるというところがミソです。よってこんな感じに縦方向グラデーション(=横縞)のデザインだと配色制限を感じにくくなって割と見栄えします。

逆に言えば単色にでもしない限りどうあがいても縦縞は描けないので、上記の例だとつり橋は南北方向にしか設置しません。この世界ではつり橋を東西方向に架ける技術が失われました。描ける物しか存在させません。私が神だ。
拙作【MinQ:ExtrA】では様々な制約によりマップ上にプレイヤーキャラ以外のスプライトが置けない仕様になっています。よってNPCも全てPCGで描かねばなりません。下記に示した彼らはダンジョン内に配置された固定敵で、戦闘用のスプライトデータを基にどうにかしてこうにかしつつマップ用のPCGデータをでっち上げています。

ちなみに右側の固定敵は幾つか描いてあったモンスターの中から『一番横縞デザインだった』というだけの理由でミイラ男を選んでいます。そのため『なぜこのダンジョンにミイラ男が出現するのか?』という理由が必要になればその時点でストーリーを後付けします。もちろん現在に至るまでそんなストーリーは存在せず、ピラミッドでもない普通の洞窟内に何の説明もないまま突然ミイラ男が出現します。
そして当然の様に左側の固定敵も、何人か居た人間タイプ敵キャラ候補の中から彼が一番PCG向きであろうという理由で選ばれています。

例えば固定敵キャラ候補としてこんな感じに3人居た場合、左は剣を縦に持っている時点でしんどそう、真ん中は軽装備で余白が多いからしんどそう(キャラの周囲をまるっと黒背景にしてしまう手法もあるがそういうのは嫌いなのでヤダ)、右は全体的になんとなく横縞っぽいし盾の部分は8×8ドットで描けそうな気がするので行けるかも?となってここからどうやってPCGにしようか試行錯誤を始める感じです。
ここまで配色制限があるPCGでの描き方を長々と説明してきましたが、一言でまとめると『描けそうな物だけ描け、無理な物は無理。』という割と身も蓋も無い結論になります。
あれ?もしかして不人気?
この様に多少癖はあるもののPCG&多色スプライトの組み合わせの使い勝手の良さから私個人としては愛用しているSCREEN4ですが、なーんか界隈ではあんまり使われていない気がします。いや、もちろんメジャーな使用例は幾つも知っていますよ?でもMSX2用ゲーム全体としては扱いやすいビットマップ構造のSCREEN5が主流で解像度が欲しいケースではSCREEN7、色数が欲しいケースで稀にSCREEN8が使われることもあるかな?みたいな印象です。SCREEN6?知らねえなそんな野郎は。起動時にニュルっとロゴでも出しとけ。
やはり横8ドットごとに2色という配色制限が取っ付きにくさの原因でしょうか。慣れればパズルみたいな面白さがあるんですけどね。しかし配色制限があるとは言ってもそれ自体はMSX1を始めとしたTMS9918と同じ仕様な訳で、あっちはあっちで『頭ん中どうなってんだこれ』という超絶技巧を駆使して美麗なグラフィックを描く修羅の世界が形成されていたりするのでそれに比べたらパレット機能で自由に色が作れる分だけMSX2のSCREEN4の方がイージー……と言い切れる程には私自身も使いこなせていないのでやはり敷居が高いのかもしれません。
最後に宣伝
最後に宣伝というかむしろこれが本題なのですが、記事中にサンプル画像として出していたMSX2用ゲーム【MinQ:ExtrA】は現在好評発売中です。定型文とはいえ流石に自作ゲームを『絶賛発売中』とまで言う胆力はありません😅
公式サイトにはブラウザ上で動くMSXエミュレータを組み込んだ体験版があります。体験版なのでプレイ出来るのは序盤だけになりますが、記事中に出ていたミイラ男とも戦えますので是非遊んでみてください。
製品版はMSX2用パッケージ版(3.5inchフロッピーディスク版)と公式エミュレータ『MSXPLAYer』を組み込んだWindows版(CD-R版)が販売中です。詳細は公式サイトまたは下記のBOOTH通販ページをご確認ください。
いいなと思ったら応援しよう!
いただいたチップはゲームの開発費(または開発中の私のコーヒー代)に充てさせていただきます。