イベント「ゲームレガシーVol.2」に出展するシューティングゲーム、「レガシー シューター」の更新記事です。
自機の噴射アニメーションを実装出来たので、次は いよいよショット処理を実装しました。
弾はスプライトを一枚描き、それにパーティクル効果をつけました。
同じものを幾つも作るのは、変数ではなく配列(PICO-8 では Lua なので、テーブル)を使用します。
弾用のテーブルを一つ用いて、ショットボタンを押す度に、その中に表示させる数の弾の要素を入れていきます。
そして 更新タイミングで、上へ移動させ、画面の外に出た所(完全に姿が無くなった所)で、テーブルから、その弾の要素を消します。
そして、パーティクルは、画面上に点を打つ命令( pset )を使って、点を描いています。
ランダムで角度と速度を決め、寿命値、弾の位置から相対的に出現位置を決めます。
そして更新毎に寿命の要素を減算していき、マイナスになった所で、そのパーティクルの要素を消します。
描画時は、寿命値をチェックして、青から紺色へと変化させて描きます( pset 命令)。
説明文は以上にして、実行結果を見てみましょう。
どうでしょう?
良い感じに弾が撃てていると思いますが(パーティクルのアニメーションも)、いかがでしょうか?
自分の描いたキャラが、こうして画面上でコントロールされて、動くアニメーションを見ているだけで、お腹いっぱいになります(ずっと操作していられそう)。
私、ゲーム開発幸福度が 高いと思います。
そして、パーティクルの動きを観察できるように、自機弾を止めて観てみます。
こういう遊びが出来るのも、開発者の特権です。
次は、画面のはみ出しチェックを実装したら、敵キャラ登場となります。
コメント