PIC AVR 工作室->TopPage->AVRの工作->戦車ゲーム
戦車ゲーム
戦車ゲーム概要

未完成です。まだ作成途中です。一応自分の戦車と敵の戦車がグルグル動き回るようにはなりました。
AVRスプライトとAVR背景表示器を使った戦車ゲームです。PLAYER上で動きます。 ナムコのGROBDAとタンクバタリアンを足して10で割ったような代物です。
自分の戦車1台と敵戦車3台が動きまわります。敵はランダムでグルグル。自分のタンクは方向ボタンによって グルグル動き回ります。壁にぶつかると進めなくなります。(今は外壁しかありませんが、内部に壁を配置するような 処理を組み込めば、それらの壁も同様に障害物として認識できます。)
まだ弾を撃ったり衝突判定などのロジックが組めてません。例によってMEGA48を使ってみたら、 この時点で残りのメモリが10%ちょっと。このままでは弾を撃ったりするのは難しそうですねぇ… せめてメインCPUをMEGA88に取り替えちゃいましょうかね?
ドットイーターを元にしてサクッと作り上げようと思っていたんですが、ここまで作ってみて6時間以上かかってしまいました。 スプライトのビットマップを新たに作ったり、16ビット整数で三角関数計算(sin、cos)みたいなこと しようと思って、あれこれメモ用紙に仕様を書き出して頭抱えたり、戦車っぽく「クルッ」と反転する方法を考えたり、 と、色々盛り込んでいたら時間ばかりかかってしまいました。さすがに、小中学生時代のような、短時間でゲームを量産 できたあの頃とは頭の回転速度がだいぶ違ってしまっているようです…(TへT)。
このゲームのために、背景マップとビットマップを作り変えてみました。ちゃんと進行方向に砲身が向いて いたりして、狭い画面でも戦車っぽいモノがあちこち動き回っている雰囲気が表現できているような気がするのですが…
サンプルムービー:戦車ゲームのキャプチャ画面
キャプチャー画面をフラッシュムービーにしました。画面をクリックすると再生します。
フラッシュで再生すると、なんかちょっとカクカクする時ありますが、
実物はちゃんとスムーズに動きます。念のため。
キャプチャ画面では、ちょっとちまちましてわかり難いですがごかんべんを。
使い方
PLAYER用のプログラムです。スプライトのビットマップも背景データも新たに作ったので、 スプライト表示器と背景表示器には下記ダウンロードにあるhexファイルを、それぞれの2313に書き込んでください。
まだ、戦車の移動だけしか組めてません。弾を撃ったり、衝突判定したりは組み込み未済です。
メインCPUにはMEGA48を想定していますが、今後プログラムを書き進めていったら多分 48では入りきらないので、88か168用にしてしまおうと思います。
下のダウンロードからアーカイブをダウンロードし、hexファイルとeepファイルを書き込んでください。 あとはRCA端子をテレビに繋ぐだけで画面が表示されます。
コメント
時間を見て、もう少しバージョンアップしたいと思います。
ダウンロード
スプライトデモ用アーカイブ(クリックすると開きます)
- 戦車ゲーム WINAVR用C言語ソースファイル
- 戦車ゲーム実行ファイル(HEXファイル)
- 戦車ゲームEEPROMファイル(EEPファイル)
- 戦車ゲーム用スプライト表示器HEXファイル(HEXファイル)→スプライト表示器へ
- 戦車ゲーム用背景表示器HEXファイル(HEXファイル)→背景表示器へ
- 戦車ゲーム用スプライト用HEX生成ツール(99BASIC):参考用
- 戦車ゲーム用背景表示器用HEX生成ツール(99BASIC):参考用
(注)PLAYER上で動作します。