PIC32MX HARMONY(5)
更新日:2021年11月4日

PIC32MXbox:PIC32MX PLANET PILOT公開
ついに完成しました。そのゲーム機は「PIC32MXbox」。何かパクったようなネーミングですが、まあ良しとしましょうい。今回対応ソフト「PLANET PILOT 2021」を公開いたします。とても面白く出来たと思っています。今後はこのゲーム機対応ソフトをいくつか作っていきたいと思います。
(PIC32MXboxでPLANET PILOT 2021を遊ぶ)
VGAモニタ対応のゲーム機です。VGA出力回路の説明についてはこちらを参照下さい。画面の解像度は320x240ドットです。VGAモニタに縦横2倍で表示しています。
CPLDコラボ:VGAモニタ接続ユニットを作る
今回のゲーム機への対応で回路の一部を改良しています。基本は今まで公開してきたPIC32MXの回路です。回路図はクリックすると大きく見れます。
(PIC32MXboxのPIC部回路図)
改良した部分について説明します。効果音の経路を出力出来るようにしました。モニターから音を出すためです。接続しない時は本体から効果音が出ます。5V出力の端子をUSB-Aで構成しました。切り換えスイッチを追加しています。
(PIC32MXboxの内部)
大変コンパクトに仕上がりました。PIC32MXのポート設定は次の通りです。
(PICのポート設定)
今回のPLANET PILOT 2021の画面のワークエリア構成です。画面表示に対してひとまわり大きいエリアを確保しています。この部分はゲームによって異なります。グラフィック座標を192x152、キャラクタ座標を40x30で構成しています。別々の座標エリアがある訳ではなく、同じエリアを切り分けて操作しています。VGAモニタに表示されるのは下図のx=16,y=16〜x=191,y=151のエリアです。画面からはみ出た表示をするためです。
(画面ワークエリアの構成)
数値的にグラフィック座標とキャラクタ座標の原点が異なるのでソフト開発時にちょっと手間取ったところもあります。
(PIC32MXboxの16色モード)
カラー情報はVGAモニタ接続ユニットのCPLD内部に組み込んであるので、今後もPIC32MXboxのゲームについてはこのカラー設定でいきます。
(PLANET PILOT 2021のEEPROM割り付け)
ゲームを入れ替えた時にEEPROMの領域が重複しないように割り付けています。
(PLANET PILOT 2021の使用効果音)
効果音は別のPIC24Fに入れてます。ゲームを入れ替えごとにPIC24Fの書き換えが必要になります。もし作られる方は次のファイルをダウンロードして下さい。
PLANET PILOT 2021で使用する効果音が入っているPIC24FのHEXデータ
(PIC32MXboxの正面の姿)
(PIC32MXboxの背面の姿)
沢山の端子が入り乱れています。左側からDC5V入力。DC5V2AくらいのスイッチングACアダプタを使用して下さい。その横が切り換えスイッチ。VGAとLCDを切り換えます。VGA出力コネクタ。効果音出力端子。DC5V出力のUSB-A端子。UARTコネクタになります。VGAモニタに接続するように作っていますが、HDMIモニタにも接続してみたいですね。そういう時には便利な装置があります。早速Amazonでポチっとしました。
(VGA-HDMI変換ケーブル)
(接続の状態)
そうです、このために効果音出力とDC5V出力を付けました。これでHDMIモニタに接続出来ます。もっと大画面でも楽しめますね。
さて今回のゲーム機の特徴は液晶表示を残している点です。モニタが無い時でもこの小さい画面で楽しむことが出来ます。まあ私の場合はこの小さい画面が見えにくいのでVGAモニタに接続しようと思ったのですが。
(前面に取り付けた液晶モジュール)
なんとまあ、この液晶モジュールがピッタリと取り付けられるケースのサイズだったんですね。多少、下方向に前面パネルを伸ばしてはいます。
(PIC32MXboxの全貌はこんな感じ)
上の写真は液晶モードでの状態です。液晶モードでもモニタが接続されていたら、モニタに最初の画面を表示するようにしています。ソフトの構成上同時使用は無理ですが、にぎやかしにはなるでしょう。モニタモードの時は液晶表示は消えます。
(操作キーボード)
当面、この5キーで操作が出来るようなゲームをリリースする予定です。既に前回発表したPIC32MX JAN 1982はPIC32MXboxで動作可能です。いちいち二つのPICのプログラムを書き換える必要はあります。将来可能であればUARTから書き換えられるようにはしたいと思います。その時にはちょっとケースを加工することになりますが、気長にお待ち下さい。
これ以降は今回発表しました「PLANET PILOT 2021」について説明します。ゲーム画面はHDMI画像をキャプチャーしたものを使用しています。YouTubeに動画をアップしていますので、興味がある方は見て下さい。
(タイトル画面)
約1分毎に風景と敵キャラが変わるようにしています。ハイスコアはBEST5まで表示しています。敵キャラは5種類、地上風景は10種類、空風景は10種類用意しています。全20面でそれらを組み合わせています。RETURNキーでゲームスタートです。
(ROUND-01)
上下左右キーでSHIPを操縦しながら敵キャラや敵ミサイルに当たらないようにSHIPミサイルをRETURNキーで発射して撃破して下さい。地上風景と空風景はスクロールしてるだけです。SHIPミサイルは3発まで発射出来ます。SCORE文字の右側にある数字に注目下さい。上図で18となっている黄色の数字がこのROUNDで撃破しなくてはならない敵キャラ数です。ROUNDが進む毎に増えていきます。その下の赤色の数字が取得したアイテムの数です。アイテムは画面右下の方向から発射されて曲線を描いて飛んできます。発射ポイントにある程度範囲はありますが、SHIPと重ねることでキャッチ出来ます。
(アイテムRが発射されました)
アイテムRはアイテム数には反映されませんが、SHIPミサイルが連射モードになります。RETURNキーを押しっぱなしで発射が可能です。連射で小気味よい感覚になります。
(SHIPミサイル連射モード中)
連射モード中はSHIPの縁取りの色が変わるので一目瞭然ですね。連射モードはSHIPが破壊されると通常発射に戻ります。SHIPの縁取りの色も戻ります。
(通常アイテムが発射されました)
通常アイテムをキャッチすると赤い数字が増えていきます。この数はボス面でキャラを撃破するのに有効です。都度集めていきましょう。各面に制限時間はありません。一定数の敵キャラを撃破するまで続きます。
(赤い数字が01になりました)
敵キャラを撃破するとボス面になります。敵キャラは消えてボスが登場します。ここも制限時間はありませんのでじっくり攻撃しましょう。ボスキャラは画面左に消えると再び画面右に登場します。ボス面ではSCOREの右側の紫色の数字に注目です。下図では20となっています。ボスのパワーになります。このパワーが無くなるまでSHIPミサイルを当てることです。
(ボスキャラ登場)
ボスキャラが発射するミサイルの動きは4種類あります。ボスミサイルやボス自身に当たらないようにSHIPミサイルを発射しましょう。このボス面に来るまでに取得したアイテム数(赤色数字)に注目して下さい。上図では2になっています。SHIPミサイルがボスに当たった時この数字があると1につきボスパワー(紫色数字)が5減るようにしています。つまりアイテム数をゲットしておくほどボスキャラを倒すのに当てるミサイルの数が少なくとすむということです。この表現伝わったかな。
(ボスパワーが一気に減りました)
ゲームのコツとしては通常アイテムを出来るだけ沢山集めてボスパワーを一気に減らすことです。合わせて連射モードで総攻撃を仕掛けることです。ボスパワーがゼロになるとROUNDクリアで次ROUNDに進みます。ROUNDクリアでSHIP数がひとつ増えます。
(ROUNDクリアでNEXT STAGEへ)
(ROUND-02)
(ROUND-03)
(アイテムS飛来)
滅多に飛んでこないアイテムSです。これをゲットすると無条件にSHIP数がひとつ増えます。残りSHIP数は多いほどいいですよね。
(ROUND-05)
ROUND-05より連射モードでSHIPミサイルは自動で右上方向、右方向、右下方向の3種類のルートで発射されます。通常は右方向のみですが、3種類に方向になることで敵キャラを撃破しやすくなります。敵が増えてくるほどその効果を発揮します。
(ROUND-10)
(ROUND-13)
(ROUND-15)
(ROUND-16)
ここまで来るとボスミサイルも半端ない攻撃。耐えましょう。しのぎましょう。
(ROUND-17で力尽きました)
(ゲームオーバー)
SHIP数がゼロになるとゲームオーバーです。ハイスコアBEST5を表示してタイトル画面に戻ります。ゲーム難易度の調整は最適と思います。うまく操作出来ればこの辺りまでは可能でしょう。多分。
PIC32MXbox:PLANET PILOT 2021のHEXファイル
無事に完成しましたPIC32MXboxですが、この第一弾ソフト「PLANET PILOT 2021」で楽しいゲーム生活を楽しみましょう。でも誰も同じもの作ってくれないかもね。処理速度も早いのでいろいろソフト開発をする楽しみが増えました。これからもよろしくお願いいたします。

「PIC32MX HARMONYの表紙」へ戻る