Wikipediaによると、初代のインベーダーゲームは白黒で、画面を縦に使い、解像度は横224×縦260ドットだったそうです。
上下のスペースを得点表示と残機表示に使っています。
(画像はWikipediaより)
Arduboy用の画面は白黒128×64ドットですので、もちろんそのままでは表示できません。
ちなみにゲームボーイの画面は4階調160×144ドットだったそうなので、それよりさらに低スペックです。
2:1という横長のアスペクト比をどう活かすかが難しいところです。
ペイントソフトでドット絵を描きながら、悩んだ末に下図のような画面設計としました。
縦が64ピクセルですので、アスペクト比を4:3とするなら横86ピクセル程度となりますが、わずかに広げて横88ピクセルをゲーム画面に使うことにしました。
残りはスコア表示と残機表示に使っています。
ゲーム画面の中身ですが、インベーダー一匹を横5ドット×縦3ドット、インベーダー同士の隙間を横2ドット、縦3ドットとしました。
従って、インベーダーは横7×縦6ドットの中に一匹ということになります。
ちなみにオリジナルでは、インベーダーは16×16ドットの中に一匹だったようです。
インベーダーは沢山いるほうが本物の雰囲気に近づけるように思いましたので、一匹あたりの表現力は捨てて、インベーダーの数を重視しました。
インベーダーのデザインは、オンラインで公開されている「Pixel Invaders」を参考にしています。(少しだけ変更しましたが。)
オリジナルのインベーダーゲームは横11匹×縦5行ですが、一列減らして10匹×5行にしました。
これでも、編隊全体としては横68ドット×縦27ドット必要になります。
インベーダーの移動距離は、横方向は1ドット、縦に下がるときは3ドットとしました。
Wikipediaの画像などを見ると、オリジナルの移動距離は横2ドット、縦8ドットだったようです。
インベーダー以外のキャラクタの移動は、UFOと自機は1ドット、自機弾と敵弾は2ドットです。
敵弾は、オリジナルでは3種類あるということでしたので、3種類×2通りのグラフィックスを作成しました。(ここはちょっとこだわりポイントです。)
幅1ドットだとさすがに表現力に限界があるので、横2ドットにしています。
オリジナルでは、敵弾は横3ドット縦8ドットを4ドットずつ移動させているように(ビデオを見る限りでは)思われます。
また、自機弾も敵弾も陣地に当たると爆発しますので、そのパターンを用意しています。
敵弾の爆発パターンは下図に載せていませんが、2×2ドットの正方形です。
最後にUFOですが、倒したときに点数がUFOに重なって表示されます。
「UFOの得点」はインベーダーゲームの攻略の非常に大きなポイントだったらしいので、点数の表示は再現したいところです。
UFOは7×3ドットにしたので、3桁の数を表現するにはドット数が足りないのですが、かなり無理やり「50・100・150・300」を表現してみました。
コメント