この記事では、Scratch(スクラッチ)のシューティングゲームの作り方について紹介します。
キッズプログラミング教室【アルスクール】では、スクラッチというプログラミング教材を小学生向けレッスンに取り入れています。
「Scratchでシューティングゲームが作れるの!?」と思う方もいらっしゃるかもしませんが、簡単シューティングゲームから複雑なものまで、いろいろな作品が作られています。
今回は、初心者がシューティングゲームを作るポイントをまとめてみました。
基本編と応用編に分けて、シューティングゲームの作り方を詳しく紹介しています。
Contents
Scratchのシューティングゲーム作品例
Scratchのシューティングゲームってどんなもの?
シューティングゲームは、飛行機やロケットを操縦し、敵となる飛行機や宇宙船などをビームなどで撃墜するゲームです。
大きく分けて、縦スクロールと横スクロールの2つのタイプがあります。
どちらのタイプでも、背景の画面を、縦または横に強制スクロールをさせるのが特徴になります。
強制スクロールのため躍動感があり、ドキドキハラハラのスリルや爽快感が楽しめるのがシューティングゲームの大きな魅力です。
Scratchのシューティングゲームの作品例1| 縦スクロール
縦スクロールのシューティングゲームとしては、次の作品がおすすめです。
自分のキャラや敵キャラ、背景、動きなどはまさにシューティングゲームそのものです。
ビームは自動で発射され、対地ミサイルは自分で発射する形式になっています。
シンプルな作りで、初心者でもプレイが楽しめるでしょう。
Scratchのシューティングゲームの作品例2|横スクロール
横スクロールシューティングゲームは、次の作品がおすすめです。
スペースキーで弾を発射するだけでなく、P・B・Rを使って、それぞれパワーモード、レーザーモード、爆弾モードが使えるシューティングゲームです。
敵も様々な形の弾幕を発射してくるなど、本格的な内容になっています。
Scratchの簡単シューティングゲームの作り方(基本編)
では、ここからはシューティングゲームの作り方(基本編)を解説していきます。
こちらの動画のゲームを作っていきます。
スプライトを準備しよう|自分のキャラ、弾、敵キャラ
まずは、必要なスプライトを準備しましょう。
自分の操縦するキャラとして、ここではロケットスプライト(Rocketship)を選びました。
次に、敵キャラを撃ち落とすための弾(ビーム)のスプライト(Beam)を選びましょう
Button1を選択して「Beam」というスプライトにします。
続いて、敵キャラを選びましょう。
ここでは、こうもりのスプライト(Bat)を選びました。
ここまでで画面は以下のようになります。
背景の画像を準備しよう
ここでは、背景の「Stars」を画像ファイルとして保存したのち再度スプライトとして読み込みます。
背景の画像の上で右クリックするとこの画面が出てくるので、「名前を付けて画像を保存」を押して 、パソコンの内部に一度保存します。
次に、スプライトの中から「スプライトをアップロード」を選択し、先ほど保存した背景の画像をアップロードします。
これで背景画像をスプライトとして登録できました。
宇宙では同じ背景が続くため、この1枚の画像を使い回すことができます。
このスプライトに動きをつけて、背景が上下にスクロールしているようにします。
旗が押されたときにまず、自分自身のクローンを作り、自分自身は(x,y)=(0,0)に配置します。
Scratchの画面サイズは横480px✕縦360pxなので、縦が少し重なるよう、クローンのy座標を340にします。
そして、自分自身もクローンもy座標を-5ずつ移動して、y座標が-340まで行ったら y座標を340にする、という動きを繰り返します。
これで背景が縦にスクロールするような動きになりました。
Scratchに用意されている背景を使うと、切り替わりがきれいに見えない場合が多いです(背景とクローンの境目がわかってしまう)。
そのため、自分でシームレスに切り替わる背景画像を用意すると、もっときれいにスクロールできます。
自分のキャラの動きを作ろう
次に、自分のキャラの動きを作りましょう。
まず、宇宙空間にロケットを配置し、大きさと位置を調整します。
そして、ロケットを上下左右に動かせるようにします。
左右方向は、ここでは「左右矢印キーが押されたとき」に「x座標を±10ずつ変える」ようにします。
上下方向は、ここでは「上下矢印キーが押されたとき」に「y座標を±10ずつ変える」ようにします。
弾の動きを作ろう
次に、弾(ビーム)の動きを作りましょう。
連続して発射できるよう画面内に複数表示する必要があるため、ここではスぺースキーが押されるたびにクローンを作成するようにしました。
スペースキーが押されたとき(=クローンされたとき)、ロケットの位置は毎回変わっているため、まず「Rocketshipに行く」で弾を移動させます。
さらに、機体から発射されてY軸の上方向に動くようにし、画面端に触れると自動的に消えるようにしました。
ここまでで、少しシューティングゲームっぽくなってきました。
敵キャラの動きを作ろう
次に敵キャラの動きを作りましょう。
敵キャラは画面内にやはり複数現れるため、こうもりのスプライトでクローンを作成するようにします。
ここでは5秒に1体現れるようにしました(出現頻度はお好みで調節してください)。
現れる場所は画面上方で、乱数を用いてx軸方向にランダムな位置に出現するようにします。
ここでは下方向に動き、弾同様に画面端に触れると自動的に消えるようにしました。
スピードを変えたり、ジグザグに動かすなど、工夫してみましょう。
弾が当たったら敵が消えるようにしよう
シューティングゲームになるように、弾(ビーム)が当たったら敵が消えるようにしましょう。
まず、こうもりのスプライトが弾に触れたらクローンが削除されるようにします。
それと同時に弾も消す必要があるため、「げきつい」のメッセージを送ります。
一方、弾のスプライトでは「げきつい」のメッセージを受け取ったときに、同様にクローンが削除されるようにします。
これで弾が命中すると敵が消えるようになりました。
効果音をつけると、より撃墜した感じが出ることでしょう。
当たったら点数が増えるようにしよう
さらに、スコアを競えるようにするために、弾が当たったら点数が増えるようにしましょう。
まず、変数「てんすう」を作成します。
「てんすう」を作成して、下の画像の左部分のようにチェックを入れると、「てんすう」が表示されるようになります。
ここでは、弾が当たったときに変数「てんすう」が10点ずつ増えるようにしました。
このとき、開始後に必ず「てんすう」を0に戻すようにします。
そのため、「てんすうを0にする」を旗の下に入れました。
これで、基本編は完成です。
弾の種類や、敵の種類によって得点を変えるなど、工夫してみてください。
Scratchのシューティングゲームの作り方(応用編)
さて、ここまででシューティングゲームの基本的部分を完成させることができました。
より本格的に遊べるゲームにするために、基本編を元に、こちらの動画のゲーム(応用編)を作成してみましょう。
ライフを設定しよう
まず、自分のキャラが敵キャラに当たったときに減る数字、いわゆる「ライフ(=残り機体数)」を設定しましょう。
変数「ライフ」を作成し、ロケットのスプライトがこうもりに触れるとライフが1ずつ減るようにします。
そして、Game Overの画面を出すために、ライフが1より少なくなったら「ゲームオーバー」というメッセージを送るように設定しておきます。
また、「げきとつ」のメッセージを送り、こうもりのスプライトにてクローンが削除されるようにします(そうしないと、激突し続けることになります)。
次に「GAME OVER」画面を作成し、ライフが0になったときに表示されるようにしましょう。
まずはスプライトから「描く」を選択して、「GAME OVER」画面を作ります。
ゲームオーバのスプライトは、ゲーム中には表示せず、さきほど送る設定をしたメッセージ「ゲームオーバー」を受け取ったら表示する設定にしておきます。
音をつけてみよう
最後に、よりゲームらしくするために音を付けてみましょう。
- Beamが発射されるとき
- こうもりがBeamにあたったとき
- ロケットがこうもりにあたったとき
- Game Overになったとき
の音を設定します。
Beamが発射されるとき
Beamのスプライトを選択して、左上にある「音」タブを開きます。
すると左下に「音を選ぶ」と言うアイコンがあるのでここをクリックします。
今回は「Jump」という音を選びました。
Beamのスプライトに、音を鳴らすを追加します。
こうもりがBeamにあたったとき
次に、こうもりがBeamにあたったときの音を設定します。
同じく音を選択してこうもりのスプライトに音を鳴らす、を追加します。
「Teleport2」という音を選んでいます。
ロケットがこうもりにあたったとき
ロケットがこうもりにあたったときの音は、ロケットのスプライトに設定します。
「Pew」という音を選択しました。
GameOverになったとき
GameOverになったときの音は、GameOverのスプライトに設定します。
表示するタイミングで「Lose」という音を鳴らすようにしました。
これで基本的なシューティングゲームの完成です!
ゲームをアレンジするには
さらに本格的なシューティングゲームにするには、
- 弾のバリエーションを増やす
- 機体のクローンを作るなどパワーアップさせる
- 敵キャラの種類や動き方を変える
- 大型のボスキャラを作る
- スクロールの向きやスピードを変える
- 効果音やBGMをつける
- 背景を変える
- CLEARの画面や設定をいれる
など、さまざまなポイントが考えられます。
オリジナルのシューティングゲームを作ってみましょう!
他に、アクションゲームの作り方もまとめていますので、こちらも参考にしてください。
【塾・教室向け】Scratchをベースにしたオンライン教材
アルスクールでは、オンライン教材パッケージ【アルスタジオ】を開発しました。
アルスタジオは、Scratchを徹底的に学びやすくした教材です。
指導者にプログラミング知識がなくても大丈夫!
テキスト教材、レッスン動画、カリキュラム、指導方法のデータなど、レッスンに必要なものはすべてご用意しました。
プログラミング教室運営でつちかった【プログラミング×探究学習】のカリキュラムで、
子ども達のプログラミング力・思考力・創造性を伸ばすことができます。
プログラミング教室アルスクールでScratchを学ぼう
キッズプログラミング教室【アルスクール】では、主に、小学生向けにScratchレッスンを行っています。
※現在は、Scratchを学びやすくした教材【アルスタジオ】を使ってレッスンを行っています。
子供たちの興味や好奇心を大切に、Scratchで楽しく学んでいますよ。
アルスクールキッズの作品|シューティングゲーム
アルスクールに通っている子が作ったシューティングゲームを紹介します。
子供たちが自分で考えて作った作品です。
どれも個性的でおもしろいですよ。
敵が落ちてくる前に全部やっつけろ!
>>中のコードを見てみる
弓矢をよけよう!HPが減っていくよ
>>中のコードを見てみる
りんごのビームから逃げろ!
>>中のコードを見てみる
他にも、アルスクールに通う子達は、アクションゲーム・対戦ゲーム・クリスマスカードなど、自分の好きな作品をたくさん作っていますよ。
>>アルスクールキッズの作品集はこちら
アルスクールのScratchレッスンの学びと成長や、他のプログラミング教室とどうちがうのかについてはこちらの記事をご覧ください
アルスクールで楽しく学ぼう
キッズプログラミング教室【アルスクール】では、スクラッチのレッスンを行っています。
アルスクールでは、オリジナルゲームを作成したり、電子工作をしたりと、子ども達は主体的に楽しく学んでいます。
ぜひ一度、アルスクールに遊びに来てください。
キッズプログラミング教室【アルスクール】では、自由が丘校・中野校・中野TCS校・恵比寿校・大阪南千里校・福岡西新校・オンライン校で、プログラミングレッスンを行っています。
好きなモノを作り、子どもどうしがお互い刺激し合いながら、プログラミングスキルや非認知能力を伸ばしています。
通常レッスンに参加できる無料体験レッスンは、随時開催しています。
現在、通常11,000円(税込)する入会金が0円になる、新学期キャンペーン実施中!
この機会に、一度アルスクールの学びを体験してみませんか。