プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

デジタルインベーダー for GBA v0.3


懐かしのゲーム電卓をGBAで再現したものです。ダウンロードはいつものGeocitiesから。


http://www.geocities.jp/yasuho68k/


スクリーンショットはこんな感じ。


デジタルインベーダー for GBA


こちらにもいくつかスクリーンショットを用意しました。


前回のバージョンからもう2年もたつんですね。ほったらかしすぎです。:)


プラグインサンプルとしてGBAファイラーにも同梱しています。ソースコードも公開していますので、プラグインのサンプルとしてもどうぞ。(というか、そちらが目的だったりして)


意見・要望等ありましたら、どうぞお気軽に。

バージョン0.2


先日実機で動かないよぉ、と騒いでいたデジタルインベーダー。
お昼にデバッグしたら、原因が判明。
ハイスコアをセーブするSRAM領域へのアクセスに失敗した場合を考慮していなかったのが問題だった。
ゴミのハイスコアデータが入り、それほど大きな値が来ることを想定していない表示ルーチンでメモリ破壊。


そりゃあSRAMがちゃんと0クリアされてるエミュレータじゃ動くわな。
エミュレータで動いたから実機も大丈夫だろうとタカをくくったのが失敗だった。
いくらエミュレータが優秀でも、実機でしかできないことがある。
やはりテストは大事ね、と反省。


そんなわけで、写真のように実機でも動くようになった。
ちょっと見づらいけど、version 0.2 というのが見えるだろうか。
これで電車の中で遊べるぞ。^^


昨日と同じく、以下のサイトにバージョン0.2を置いておきます。


http://www.geocities.jp/yasuho68k/ (現在公開を中止しています)


あと今回なおしたところ:

  • キー入力チェックが甘かったので、ちゃんとタイマーでチェック。ゲームを作る人だったら常識的なことなのだろうけどね。
  • ゲームバランスもちょっとだけシビアにした。なんか優しすぎる気がしたので。実際はもうちょっとシビアだった気もするが、そのうち難易度オプションでも付けようか。
  • SRAM領域のフォーマットを変更したので、ハイスコアは0にされる。まあ問題ないと思うけどね。

今後はバグ修正とかサウンドやオプションなどの機能拡張をしていく予定。


今日新たにわいてきた疑問:

  • 最初に0を消すとUFOなのだけど、それでいいんだっけ?
  • スコアが999999を越えたらカウンターストップ?またはゲームオーバー?
  • スコアによって残機が増えたりしないんだっけ?

昨日に引き続き、このへんの情報を教えてくださる方を募集しています。


実機を買えという話も。^^;;
ヤフオクに出てたりしないかな。ちょっと探してこよう。
アキバに行くことがあったら、チェックしてみようかな。

バージョン 0.1


先週話したデジタルインベーダー、とりあえず遊べるバージョンが出来たので公開する。
画面写真を見ると何も変わってないように見えるが、ちゃんと動く、はず。^^;;


さすがに「はてな」にファイルは置けないので、ジオシティーにページを作った。
yasuhoは取れなかったので、yasuho68kにした。^^


http://www.geocities.jp/yasuho68k/ (現在公開を中止しています)


ダウンロードしたZIPファイルを解凍して dinv.gbaGBA に転送すれば動く、はず。
動かなかったらコメントください。


さて、ほとんどの人は GBA に転送するツールを持ってないと思うので、そういう人はエミュレータを使おう。
ぼくは VisualBoy Advance というエミュレータを使っている。ダウンロードは以下のページから。


http://vba.ngemu.com/downloads.shtml


さてこのゲーム、記憶だけに頼って作ったので、本物とは違うところが多くあると思う。
やってみて気がついたのは以下のようなところ。

  • ゲームバランス。1面から9面までの速度の増加は大体こんな感じだと思ったのだが、どうかな。
  • 全体のデザイン。最初にハイスコア・インベーダー数・ミサイル数の表示と、面クリアしたらスコア表示だと思ったのだけど、どうだったっけ?
  • 一度ミスした後の残りインベーダー数はUFOも含めるんだっけ?
  • 一度ミスするとミサイル数は30に戻るんだっけ?

他に違うところとかあれば、教えていただけると助かります。


あとはサウンドとかオプションとかを作る予定。
バグ情報や要望等もお待ちしています。
どこまでなおすかどうかは分からないけどね。:b


追伸:


さきほど実機では動かないことを発見。
どこかメモリを壊しているようだ。
明日デバッグします。
とりあえずエミュレータでやってみてください。。。


先日HP-16Cのことを書いてたらカシオのゲーム電卓を思い出し、急にやりたくなった。
ウェブを探してみると、いくつか遊べるものがあったが、どうもイメージと違う。
そんなわけで、自分で作ってみることにした。
作るのもそれほど難しくなさそうだしね。


ターゲットは作りやすいGBAで。
完成したら電車とかでできそうだし。
PCでもエミュレータで遊べる。


まずは液晶表示部分から作り始める。
GBAは内蔵フォントというものがないので、こういうのは自前で作る必要がある。
もっとも、アルファベットだけなら、そんなに面倒じゃないけどね。


画面モードはモード3を使うことにした。
最も描画が遅いモードだが、扱うのが一番楽なのだ。
実験してみて、この程度ならそれほど遅くないことも判明。
最終的にはタイルモードの方が操作も楽で早いのだろうが。


というわけで、現在は画面写真のところまでである。
一見遊べそうだが、実はまだ肝心のゲーム部分は全然できていない。
タイマーとかいろいろ研究したいこともあるし。
サウンドはどうしようかな。音楽の才能ないから、たぶんパスだろうな。


ちまちまやっているので、完成はいつのことやら。
そもそも完成する前に飽きてしまう可能性も高い。
ま、できたらラッキーぐらいに思っててくだされ。:b