メガドライブ用ソフトのプログラミング その6 - WE AER THE GALAXIANS | Arcade Cabinet

Arcade Cabinet

自作したゲームコントローラを紹介します

SGDK1.21を用いてメガドライブでプレイできる「ギャラクシアン」に挑戦しています。


まずは背景の流星
本物は別回路で10個程度のICで描画されているそうですが、ビットマップの画像を用意し、BG面に描画し、スクロール。星のキラキラはパレット操作しを8フレームごとにオンにしたりオフにしたりで再現しました。


画面構成ですが、本物は横224ドット縦256ドットで、メガドライブは縦224ドットなので、32ドット足りません。PS1のナムコミュージアムのようにスコアや残機を右余白エリアに描画するのが普通ですが、自分は、プレイ画面が左に寄っているのはあまり好みではありません。
ただ、普通に配置すると、待機エイリアンと自機の距離がとても近くなります。ファミコンのギャラクシアンはとてもよくできた移植と思いますが、自機とエイリアンが近いですよね。
そこで試行錯誤の末、待機エイリアンを16ドット上方に移動、自機を8ドット下方に移動しました。
自機と残機表示、旗は少しだけ重なりますが、本物と比較すると待機エイリアンと時期との間隔差は8ドットになったので違和感がだいぶなくなりました。
次は、エイリアンの描画です。
本物は待機エイリアンはバックグラウンド面に攻撃中のエイリアンはスプライトを使って描画していると予想されますが、メガドライブはスプライトが80個も使えます。横一列でも20個まで並べられるとのことで、エイリアンはすべてスプライトで描画することにしました。
(最初はBG面への描画を試みたのですが、エイリアンの並びが、12ドット間隔の列になっています。8ドットなら簡単なのですが、やり方が分からず断念しました。)
待機エイリアンは、ミサイルが当たらなくても近くを通るとビビッて一瞬動きが止まります。


エイリアンはまず、半円を描きながら攻撃を開始し、その後、x軸はサイン波形で動きます。
狙いは、自機の少し向こう側(反対側)です。
試行錯誤の結果、通常のエイリアンは自機から24ドット離れたところ、紫エイリアンは64ドット離れたところを狙って移動するように設定しました。
また、エイリアンは常に自機を向いています。とても芸が細かいですね。
エイリアンは落下中に等間隔で3発ミサイルを打ってきます。
自機に寄ってくるような方向で飛んできます。y軸方向には1フレームで2ドットずつ下降しています。


エイリアンが、画面の外にでると、待機エイリアンの列にもどるのですが、かっこよく回転しながら整列します。


隊長エイリアンは、3匹で編隊を組んで攻撃してきます。
また、最後まで破壊せず残しておくと、次の面に余分に出現します。

まだまだ再現できていない箇所がたくさんあるのですが、目標は「ファミコンのギャラクシアン」です。