シューティングゲーム 第4回です。
今回はプログラムの割り振りを考えていきます。
シューティングゲームは、全ジャンルの中で最も処理速度を要します。
そこで、今回制作するにあたり、プログラムの流れを見直します。
これまでの作品では、メインプログラムと、走査線割込みプログラムの2系統あり、それぞれで下記処理を行っていました。
メインプログラム | 走査線割込み |
プレイヤー処理 プレイヤー弾処理 敵処理 敵弾処理 当たり判定 背景処理 他 | BGM・効果音演奏 SPRITE水平ライン5枚以上点滅 |
しかしやはり走査線割込み内でVRAM処理するのはリスクが高いし、定速で動作させる必要のない処理が重いものはメイン内で処理させたい。
よって、今作ではこうします。
メインプログラム | 走査線割込み |
プレイヤー弾処理 敵弾処理 SPRITE水平ライン5枚以上点滅 当たり判定 背景処理 他 | プレイヤー処理 敵処理 BGM・効果音演奏 |
こうする事で、VRAM操作は全てメイン処理内になります。
当たり判定などの重い処理もメインプログラムでする事で、プレイヤーや敵の動作はスムーズになると思われます。
過去未完成の製作ゲームの中にはプレイヤーと敵だけ走査線割り込みに振ったものはありましたが、ここまでいろんなものを振り分けた事はありません。
上手くいくかどうか、一種の挑戦です。
まぁ、上手くいかなければ都度、戻していきます。
どれが正解なんですかね?
うーん、皆さんはどのようにしてるのかな…?
次回は、メモリマップを作成します。