PIC24F電子遊戯(6)
更新日:2021年4月11日

PLANET PILOT:コンパクトなゲーム機に仕上げる
マジョカアイリスハックを始めて約4ヵ月弱でついにひとつの完成形をに到達しました。横長液晶モジュールをゲーム機に仕上げてみました。コンパクトに仕上げることが出来ましたのでかなり楽しめると個人的に思っています。ゲームの動画はTwitterに上げていますのでそちらでも確認下さい。
(コンパクトなゲーム機の完成形)
100均で売っているケースに組み込んでいます。横長のサイズが液晶モジュールにぴったりです。今回の製作には前回説明したサウンドモジュールを使用していますので、実際に製作される方はそちらも見て下さい。
サウンドモジュールを作る
回路図はこんな感じです。回路図はクリックすると大きく見れます。
(ゲーム機の回路図)
基本構成は過去の製作と同じです。マイコンはPIC24FJ64GA004になります。RAMが8kBあります。今回は2色モードで使っています。画面上の1ドットがRAMの1bitに相当します。色数を減らして使用RAM領域も減ったので1画面の描画スピードがアップしました。1秒で20枚の書き換えを実現しています。ゲームをしていても動きに全く問題はありませんね。プログラム領域はほぼフルに使いました。特に画面描画はスピードを上げるためにべた書きをしている部分もあります。EEPROMを接続しているので電源を切ってもデータを記憶しておくことが出来ます。今回はDC9V電源としていますのでバックライト用のLEDの抵抗は100Ωとしました。バックライトの輝度調整は今回はありません。結構明るいバックライトにしています。回路的には難しい部分はありません。電源はDC5VとDC3.3Vの2系統です。DC5Vはサウンド用のICを駆動するためです。操作キーは5個にしました。4方向キーとRETキーです。
(PICマイコンのポート割付)
液晶画面に対応するRAMの使い方を少し説明します。
(液晶モジュールの使い方)
640x48ドットの液晶モジュールの右側の64ドット分ををスコア表示部、左側の576ドット分をゲーム画面に使います。、ゲーム画面は上下左右に余分なエリアを設けてRAMに配置しています。そうすることで画面をはみ出た表示を可能にしています。基本構成が決まったところでさてどんなゲームを作るかが重要になります。横長サイズですので横スクロールのゲームが最適ではないかとの結論に達しました。
ゲームを最初から考えるのも大変なので、昨年PC-8001mini用に作った「PLANET PILOT」をベースにそのテイストを受け継いだ物に仕上げることにしました。かなり簡潔にしていますが、ある種の面白さは入れ込むことが出来たと思います。
(電源投入後のタイトル画面)
電源を投入するとカラーバー表示の後にタイトル画面となります。この画面は一定時間しか表示されません。左端に自分が操作するSHIP、その右側に登場する敵5種類、タイトルを挟んでBOSSを表示しています。
(PLANET PILOTのタイトル)
マイクロゲームシリーズとしていますがこの第二弾があるかどうかはわかりません。
(ハイスコアベスト5を表示)
タイトル画面にはハイスコアベスト5を表示します。ハイスコアはEEPROMに記憶していますので電源を切っても初期化されません。もしEEPROMを初期化したい場合はRETキーを押しながら電源を投入して下さい。
(EEPROMの割付)
EEPROMには乱数も記憶しています。こうすることで電源を入れ直しても違った乱数を発生することが出来ます。
(デモ画面)
タイトル画面の後はデモ画面になります。デモと言ってもSHIPが動いて敵が動くだけです。まあ動くのを見ているだけでも楽しいです。ここでRETキーを押すとゲームがスタートします。方向キーでSHIPを操作してRETキーでミサイルを発射して敵を倒します。
(ROUND 01のゲーム画面)
SHIPからのミサイルは3連打出来ます。連打間に若干のギャップを設けています。押しっぱなしではミサイルは連打出来ません。必死に連打しましょう。
(スコア画面)
画面右側のスコア画面の説明をします。上から2行目がスコアです。4行目がNo.1ハイスコアです。その下に残っているSHIP数、一番下がROUND数です。1行目の右端の2桁部分は取ったアイテムの数になります。このアイテムはボス画面のミサイルに使用されます。ROUND数の左側にBOSS-数字が表示されていますが、この数字分の敵を倒せばボス画面になります。倒す敵数はラウンドが進むごとに増えていきます。面数は20面用意しています。ラウンド後半になると忍耐しかありません。
(飛来するアイテム)
アイテムは放物線を描いて飛来してきます。SHIPできっちりとキャッチして下さい。アイテムは画面中央付近周辺から飛来してきます。アイテムが発射される時に音がなりますのでゲームに集中していても気が付くことが出来るようにしています。ちなみにアイテムは1種類です。
(ボス画面)
決められた数の敵を倒すと敵は消えてボス画面になってBOSSが登場します。この時にBOSS-数字の分だけBOSSにミサイルを打ち込む必要があります。アイテムを取っていると1ミサイルあたり5減ります。アイテムはBOSSに当たることで減って行きますのでどんどんミサイルを発射して下さい。アイテムを使い果たすと1ミサイルあたり1しか減りません。BOSSは画面左端に到達するとまた右端に現れますので、慌てて倒す必要はありません。じっくりと構えて下さい。アイテムはボス画面でも出ますのでしっかりとキャッチしましょう。BOSS-数字がゼロになればBOSSは爆発します。
(1ミサイルで5減った時)
(BOSSミサイル)
BOSSミサイルは斜めにも飛んで来ますので充分に気を付けて下さい。
(NEXT STAGE表示)
BOSSを倒すとラウンド終了です。次のラウンドに進みます。その際、SHIPはひとつ増えます。
(GAME OVER表示)
SHIP数がゼロになるとゲームオーバーです。ハイスコアを更新表示してデモ画面に戻ります。
(10面までの画面バリエーション)
20面まで用意していますが10面までのバリエーションです。カラフルな画面を御覧下さい。2色モードでも結構楽しめるゲームになったと思います。
(数字・英文字のフォントデザイン)
(SHIPのデザイン)
(敵キャラクタデザイン5種)
(BOSSデザイン5種)
(地平スクロール背景デザイン)
背景デザインは10種ありますが、5種のみ表示しておきます。ゲームの動画を見て頂くと全てのキャラクタの動きはスムーズです。地平背景は2ドット毎、空背景は1ドット毎で動きます。SHIP、敵キャラ、BOSSなどは2ドット毎に動きます。ミサイルは4ドット毎にして移動スピードを上げています。アイテムは2ドット毎に動きますので放物線もスムーズです。
(基本の15色)
(パレットは20色分を準備しました)
(DC9Vで動作します)
(裏面から見るとこんな感じです)
(USB5V-9V昇圧ケーブル)
Amazonで便利なケーブルをポチリました。今回のゲームのピッタリの9Vを作ってくれます。結構安価でしたよ。
(モバイルバッテリーで動作)
このケーブルを使用することでモバイルバッテリーから電源を取ることが出来ます。これで場所を気にせずにゲームが遊べます。サウンドを発生するスピーカーは古いノートPCから取り出したものを使用しています。コンパクトですがかなり良い音が出ます。
ここまでついてこられた方は是非ハードを製作して頂きゲームをお楽しみ下さい。PIC用のHEXファイルを置いておきますので、書込みに使用して下さい。
PLANET PILOTのHEXファイルはこちら
最近はマジョカアイリスハックもすっかり下火になったような雰囲気ですが、この横長液晶モジュールはかなり面白いです。今回のゲームも1ヵ月ちょっとで完成することが出来ました。また何か新しいアイデアが浮かんだら第二弾になるかもしれません。まだまだやりたいことがあるので気長にお待ち下さい。マジョカアイリスハックは続くのか?どうでしょう。
これからもPIC24Fで製作を楽しみましょう。

「PIC24F電子遊戯の表紙」へ戻る