Making「ActBarrier2」その10

Home PC-6001mkII Program etc

Making「ActBarrier2」 Top


2020/05/10:タイプ別ハイスコア
 ハイスコアを正式に実装する。

 まともにランキング集計すると、隠しのオプションタイプ4が圧倒的に有利だろうな。
 かといって、全オプションタイプ用のランキング画面を表示させるようにするとランキング画面だらけになってしまう。
 ということで、今回はオプションタイプ毎のハイスコアのみ記録、表示させるようにする。

画像

 ゲーム中も、選んだオプションタイプのハイスコアを表示させるようにするかな。

2020/06/07:ボス攻撃試作(ボス9B)
 変形後のボス9Bの攻撃を考える。

 ボス9Bで最後の攻撃になるので、ボス9Aよりもインパクトのある攻撃をさせたい。さてどうしようか。
 ボス自身は画面上部を斜め方向にゆっくり反射しながら移動させる。また、ボスから放射状に敵を発射する。でも、うーん、もうちょっとインパクトが欲しい。

 そこで、これまで描いたキャラクタの中から、2色かつ4パターンアニメーションするキャラクタを敵17として登場させる事にする。

画像

 うん、派手になった。微調整は後日行うとして、基本これで行こう。

2020/06/27:ボス消滅(その1)
 いい加減考えねばならない。エンディングを。

 ボスがドット単位でパーティクルとして消えていくようなイメージで作っていくかな。
 はじめに、ボスの表示画像を一時領域に退避する。この一時領域上で1ドットずつ画像を消していき、逐次表示画面に転送、合わせてドットを消した位置を起点としてパーティクルを出現させる。

 ひとまず、ドットが消える部分のみ作成し、一時領域にはランダムイメージを置いて動きを確認する。

画像

 パーティクルの起点が正しいかどうかは今一つわからないが、ドット単位の消去処理はうまく動いているようだ。

 次に、ボス9Bのイメージを一時領域にコピーし、動きを確認する。

画像

 良い感じに出来上がった。ただ、いきなり消滅するのも唐突なので、もう一段階欲しいところだ。

2020/06/27:容量不足(その2)
 思いつくままにプログラムを追加していったら、ついにマシン語部分の終わりがVRAMのアドレス(C000H)ギリギリになってしまった。マシン語開始番地が9000Hなので、もう12KB使ったことになるのか。

 といっても、開始番地側にはもう少し余裕がある。多分、あと2〜3KB位は使えると思う。とりあえず、9000H開始だったのを2KB増やして8800H開始に変更する。

2020/07/05:色化け
 ボス9Bだが、なぜか時々1ドットだけ色化けが起きる時がある。おかしいな、2x3ドットの範囲で複数色が被らないように配色したはずなんだけど。

画像

 スクリーンショットを取って、よく見ると、ようやく原因が分かった。左右下側のパーツ位置がずれていたからだ。どうやら、変形移動処理で移動する量を少し間違えたらしい。ということで修正を行う。

2020/07/09:ボス消滅(その2)
 これまで自機の攻撃手段として連れ添っていたオプションを、ボス9Bへの最終兵器として使用するようにする。

 まず、最終兵器用のアニメーショングラフィックを作成2×2キャラクタ×4パターンの計16キャラクタを作成し、ボス消滅前にキャラクタ展開用領域を更新する。

 前に書いた通り、敵キャラ展開用領域はボスを含めて16キャラクタ分用意されているが、ボスグラフィック部分はドット単位で消えてもらうために一時領域に移しており、結果としてキャラクタ展開用領域16キャラクタ分の全てを最終兵器用として使用する事ができる。

また、最終兵器とオプションが一緒に見えていると違和感があるため、オプション非表示の処理を追加する。

画像

 よし、これなら消滅してもおかしくないよね。

2020/07/16:エピローグ
 最終ボスを倒した後の処理を考える。

 オプションを失った自機が上方に消えていく。その後の彼の行方は誰も知らない。といった雰囲気で作成する。

 背景の星は、パーティクルの移動処理を利用する。パーティクルの移動方向テーブルを全て下方向に変更し、画面上のランダム位置から出現させるようにする。ついでに、画面消去時の背景色を黄色に変更する。こうすることで、星の色も黄色で表示されるようになる。

画像

 ちょっとシンプルすぎるような気もするが、まあこんな感じで余韻を残しておいた方が良いかな。

 これで、必要な処理は一通り作成し終わったと思う。
 あとは、各オプションタイプでテストプレイして、難易度を調整やバグ修正などを行っていく。


その9 Making「ActBarrier2」