Scratchから始めるシューティングゲームの作り方⑧〜ステージボスを追加する


※ 当ページには【広告/PR】を含む場合があります。
2022/09/24
Scratchから始めるシューティングゲームの作り方⑦〜敵の落としたアイテムでパワーアップさせてみる
Scratchから始めるシューティングゲームの作り方⑨〜オープニング&エンディング画面・複数の攻略ステージを作る
合同会社タコスキングダム|TacosKingdom,LLC.

シューティングゲームとしてじっくりと楽しんで貰えるために、やはりいくつのも攻略するステージがあったほうが当然盛り上がります。

攻略ステージの節目節目に登場するのが、特別な敵である
「ステージボス」の存在です。

前回のシューティングの作成までで、だいぶゲームのらしい機能を盛り込んでいきました。

合同会社タコスキングダム|タコキンのPスクール
Scratchから始めるシューティングゲームの作り方⑦〜敵の落としたアイテムでパワーアップさせてみる

倒した敵から取得できるドロップアイテムでプレーヤーを強化する方法を解説します。

今回は、いよいよScratchでのシューティングゲーム作りも終盤戦ということで、「ステージボス」をステージの終わりに登場させる手順を以下の前回のScratchプロジェクトを改造しながら詳しくみていきましょう。

参考|シューティングゲーム⑦


合同会社タコスキングダム|タコキンのPスクール【Pschool厳選】Scratchを学べるオンライン・駅前プログラミングスクール5選

ステージボスのスプライトを追加する

一般的なシューティングゲームにおいて、ステージボスと、他の普通の敵との大きな違いは、「画面の枠に当たってもクローンが消えない」というところにあります。

また画面に登場させるときに、何かしらの演出もプログラムとして盛り込む必要もあります。

以前の
『ステージに敵を配置する・高度な当たり判定を設定する』回で敵がシーン中に出現する座標をリストでまとめたものを導入しました。

合同会社タコスキングダム|タコキンのPスクール
Scratchから始めるシューティングゲームの作り方⑥〜ステージに敵を配置する・高度な当たり判定を設定する

Scratchシューティングゲームで敵の出現ポイントと当たり判定をさらに高度化します。

ということで、敵を新しくゲームに追加する要領で、ライブラリから適当な画像を選んで、
ボス1という名前でスプライトを新しく追加してみましょう。

合同会社タコスキングダム|タコキンのPスクール

ボスのスプライトを追加したら、
背景のスプライトに切り替えて、以前の回で作っていた「敵の出現ポイント」・「敵の種類」・「ドロップアイテム」の3つの出現リストの一番下に以下のような項目を追加します。

合同会社タコスキングダム|タコキンのPスクール

ステージボスですので、スクロールしていた背景が止まった端の位置(ここでは
「4800」)になったときにボスを登場させるようにしています。

そして、ボスの敵タイプの番号は新たに
「6」に決めます。

また、シューティングゲームのステージのクリア条件を決めていなかったので、このケームでは
ボスを撃破したらドロップするアイテムをゲットしたらステージクリアとしましょう。

そのクリアのためのドロップアイテムの番号は
「5」とします。

では
背景のスプライトが、ボスを呼べるように以下の図のように、赤枠で囲った箇所のブロックコードを挿入してみましょう。

合同会社タコスキングダム|タコキンのPスクール

これまでの敵の呼び出し方と同じように、出現リストでボスの番号になったときに、
背景のスプライトはボス1のスプライトのクローンを作ることはできるようになります。

では
ボス1のスプライトのほうも手始めに、以下のように初期化とクローンしたときのブロックコードだけ、ひとまず追加しておきます。

合同会社タコスキングダム|タコキンのPスクール

まだボスは何もしないですが、このままゲームを実行すると、

合同会社タコスキングダム|タコキンのPスクール

ステージの最後にボスがきちんと登場するようになりました。


合同会社タコスキングダム|タコキンのPスクール【Pschool厳選】Scratchをしっかり学ぶためのオススメ書籍まとめ

ボスの登場の場面を演出する・当たり判定を作る

次にボスの登場の際には、通常の敵とは違う存在感を持つように、その登場を演出してみましょう。

ステージに登場する直前はゆっくりと動かす

プレーヤーがステージの端にたどりつくと、右からボスがゆっくり画面にインしてくるような簡単な動きを作ります。

またボスの登場の演出中、問答無用でボスのライフがプレーヤーの弾で削れてしまうのを避けるため、画面に入ってきてから戦闘態勢に入る間は、ダメージを受けない無敵状態にします。

合同会社タコスキングダム|タコキンのPスクール

ゆっくりと画面に入るときには、ダメージのロジックを付けていないので、まだボスのライフが減ることはありません。

ボスの当たり判定

ステージボスとプレーヤー・弾の当たり判定は、以前の記事で解説していた「耐久性ある敵」のコードの実装方法と変わらないので、詳しくはそちらの内容を良く理解してみてください。

ボスは普通の敵と比べて、ライフが圧倒的に高いことが特徴です。

ここではボスのライフを適当なところで
「100」程度にしておきます。

合同会社タコスキングダム|タコキンのPスクール

上の図の赤色の枠を追加して、「プレーヤーとの当たり判定」と「弾との当たり判定」を実装しました。

この状態でゲームを動かすと、たしかに弾を100回当てれば(全く動かない)ボスも倒すことができます。

またこのままでは弾とボスの当たり判定で、弾がボスに当たっても消えないので、以下のように
弾1弾2弾3のスプライトのコードブロックに、ボスとの当たり条件も忘れずに更新しておきましょう。

合同会社タコスキングダム|タコキンのPスクール


合同会社タコスキングダム|タコキンのPスクール【Pschool厳選】Scratchを学べるオンライン・駅前プログラミングスクール5選

ステージクリアのためのアイテムを作成する

ボスの攻撃パターンを作る前に、ボス撃破後のステージクリア用のアイテムをドロップさせる方を先にコードへ実装します。

なお、アイテムをドロップさせる話は以前のブログで説明しておりましたので、詳しいテクニックの内容はそちらでご確認ください。

合同会社タコスキングダム|タコキンのPスクール
Scratchから始めるシューティングゲームの作り方⑦〜敵の落としたアイテムでパワーアップさせてみる

倒した敵から取得できるドロップアイテムでプレーヤーを強化する方法を解説します。

まず
アイテムのスプライトに、適当なコスチュームを追加しておきます。

合同会社タコスキングダム|タコキンのPスクール

そしてさらに、
アイテムのスプライトコードに、アイテム番号が「5」のときのコスチュームとして登録しておきます。

合同会社タコスキングダム|タコキンのPスクール

さらに、ステージクリアアイテムとそうでない通常のアイテムとで、処理を分離させます。

合同会社タコスキングダム|タコキンのPスクール

上の図の①の部分で、
_ドロップアイテム = 5のときだけ特別に処理させます。

②の箇所で、ステージクリアアイテムの拾ったときの処理で、例えばゲームのクリア後のエンディング画面であったり、次のステージへ切り替えるなどのコードを実装します。

なお、このブロク記事の次回以降で、
ゲームステージを増やす話を紹介しようと思いますが、今回はステージアイテムを取ったらプログラムが終了するだけにしています。

あとは、
ボスのスプライトの処理で、撃破後にアイテムがドロップするような処理ブロックを追加するだけです。

合同会社タコスキングダム|タコキンのPスクール

これで、ボスを倒した後で残すアイテムを取ると、ステージクリアが可能になりました。


合同会社タコスキングダム|タコキンのPスクール【Pschool厳選】Scratchをしっかり学ぶためのオススメ書籍まとめ

ボスの攻撃パターン・動きを実装する

ではボスの攻撃と動きのパターンを作り込んでいきます。

シューティングゲームとしては、より動きのパターンが複雑化したり、素早く動くほどに難易度が高くなります。

最初のステージなのでさほど難しく無い程度にほどほどの上下左右に動きまわるパターンを作成しましょう。

ボスの動きは複雑で長めのブロックコードになることが多いので、先に定義ブロックを作成しておきます。

合同会社タコスキングダム|タコキンのPスクール

単純に上下左右に動くだけのパターンの例として以下のようなブロックコードを仕込んでみます。

合同会社タコスキングダム|タコキンのPスクール

単純な動きにも関わらず、割と長いコードになってしまいます。

とりあえずボスの動きを作ったので、これを
ボスのクローンのループ処理に入れるですが、当たり判定との並行処理をさせる必要があり、単純にループ処理のブロックに入れることが出来ません。

そこで、イベントを新しく作成して、ボスの動きだけを独立して担当する別のループ処理を作成して対応します。

合同会社タコスキングダム|タコキンのPスクール

イベントを上手く利用することで、同じスプライトやクローンでも2つ以上の処理を並行して行えるように出来ます。

合同会社タコスキングダム|タコキンのPスクール

上の図のように、
ボスのクローンのメインループ処理に入る直前に[ボスの動き]を送るブロックを挿入すると同時に、[ボスの動き]を受け取ったときのイベント開始ブロックで別のループ処理を発生させています。

これでようやくボスがパターン攻撃を仕掛けてくるようになりました。

合同会社タコスキングダム|タコキンのPスクール


合同会社タコスキングダム|タコキンのPスクール【Pschool厳選】Scratchを学べるオンライン・駅前プログラミングスクール5選

まとめ

以上、今回のScratchシューティングゲームの改造内容をひとまとめにしたものは以下のようになります。

※まだ正式な初期化処理(ロード処理)を実装してないので、最初にゲームをスタートするとスペースキーを押しても弾が出ない場合があります。そんなときはお手数ですが、一旦プログラムをストップして、もう一度スタートしてみてください。

ボスの動きや攻略難易度はアイデア次第で、いろんな調整が考えられますが、あまりにも強力すぎるような動きでは、誰も攻略することができずに、プレーヤーとしては逆に飽きられてしまうかもしれません。

時として、色々と他の人にも意見を聞きながら調整してみることも重要になると思います。