OBONO’s Diary

へっぽこプログラマの戯言

Arduboy

Arduboy で新作 "ARDUBULLETs" をリリースした。(公式コミュニティ内トピック) (ソースコード)
f:id:OBONO:20200401232209g:plain f:id:OBONO:20200401232213g:plain
アニメーション GIF はこちら。
f:id:OBONO:20200401232227g:plain:w384

プチコン3号とかでリリースした1分間シューティングの移植。いつか Arduboy でシューティングをリリースしたいなと思ってたんだよね。もちろん、これ以外にも Arduboy でシューティングゲームはいくつかあるんだけど、弾幕バリバリっぽい感じのものは見たことがなかったので。
弾の数が多くなることでメモリが枯渇すると思い、構造体の宣言でビットフィールドを指定して、各種情報をカツカツに詰め込んだ――のだが、弾の数が多くなりすぎると当たり判定の演算で 60 FPS を維持できなくなるので、結果的に弾の最大数は 64 となり、メモリはそこそこ余裕ができてしまった。
Arduino のような狭い画面で弾幕の視認性はどうなのかが心配だったが、縦1×横2ピクセルの弾でも割とどうにかなるもんだね。当初は背景は真っ暗だったんだけど、画面端がどこなのかが分かりづらく、隅に追い詰められてやられることが多かったので、とりあえず1ピクセルの星を流してみた。ただ、あまり背景が主張しすぎると、弾との区別がつかなくなるので、背景のスクロール速度や点滅具合を適宜調整した結果がコレ。PC やスマホの画面で見るとチカチカして見えるかもしれないけど、実機で見ると結構良い感じよ。

相変わらずコミュニティの反応は薄い。まぁ、いつもの事さ。