最終更新日:2023.11.14
公開日:2021.07.09
- プログラミング教材
- プログラミング言語
- プログラミングゲーム
スクラッチゲームの作り方|作品例や初心者向けの簡単な作り方を紹介します
スクラッチ(Scratch)を使えば、ゲームを作るときに難しいコードを書く必要がないため、手軽にゲームを作ることができます。
しかし、スクラッチでどんな種類のゲームを作れるのか、具体的なゲームの作り方についてはイメージが湧かない人も多いのではないでしょうか。
そこで今回は、スクラッチを使ったゲームの作り方、作れるゲームの種類、また、ゲームを作るときの流れをピンポンゲームを例に解説します。
ゲーム作りの学び方についても紹介するので、ぜひ参考にしてください。
スクラッチとは?
スクラッチ(Scratch)とは、アメリカのマサチューセッツ工科大学(MIT)メディアラボによって作られたプログラミング学習用ツールのことで、小学生でも簡単にプログラミングが可能です。
無料で使うことができ、ブラウザで操作できるので手軽に始めることができます。
一般的なプログラミングの際に必要な難しいコードを書く必要がなく、ドラッグ&ドロップのマウス操作で動かせることも特徴です。
「10歩動かす」「X座標を0にする」というような、それぞれ役割を持つブロックをつなぎ合わせ、ブロック同士がうまくはまるように組み立てることで、キャラクターの絵などを動かすことができます。
スクラッチの始め方
スクラッチを始めるには、スクラッチの公式サイトにアクセスします。
アカウントを作成してサインインすると、作った作品を保存したりコミュニティに参加することが可能です。
アカウントを作成する際には、ユーザー名とパスワード、生まれた年と月、性別、国を入力します。
その後メールアドレスを入力する画面が出てくるので2ヵ所入力しましょう。
登録したメールアドレスにメールが届くので、「電子メールアドレスの認証」ボタンをクリックすると登録完了です。
「作る」ボタンを押すとゲーム制作を始められます。
スクラッチで作れるゲーム例
Scratchには幅広い可能性があり、じっくり遊べるタイプのゲームや早押しタイプのゲームまで、さまざまなタイプのゲームをつくることができます。
たとえば、下のようなゲームづくりができます。
ゲーム例|アクションゲーム
キャラクターがブロックの上を飛び跳ねていきゴールに無事たどり着くことをめざすゲーム。
ゲーム例|電車運転ゲーム
目標に向かって電車の運転をシミュレーションし、ゴールにぴったりと電車を止められたらゴール。
ゲーム例|きせかえゲーム
キャラクターにさまざまな衣装を着せ替えてイメージチェンジを楽しむゲーム。
ゲーム例|パンキャッチゲーム
トースターから飛び出したパンを無事キャッチできるかを競うゲーム。
ゲーム例|シューティングゲーム
主人公が迫ってくる敵キャラを弾などで撃墜していくゲーム。
ゲーム例|ピンポンゲーム
パドルを動かしてボールを跳ね返し地面に落ちないようにする。
基礎|スクラッチゲームの作り方の流れ
スクラッチを使ってゲームを制作するときの手順を知っていると、スムーズに制作を進められます。
ここからは、スクラッチを使ったゲーム作りはどのような手順でおこなっていけばよいのか、基本的な流れを紹介します。
どんな種類のゲームをつくりたいか考える
スクラッチを使ってゲームを作るときに、まずおこなうことは「どのような種類のゲームを作るか」を考えることです。
ゲームと一言で言ってもさまざまなタイプのものがあるので、自分が作りたい、興味が持てるゲームの種類は何かを考えます。
初めて作る場合は、いきなり難しいものを選ばず、シンプルなものから取り組んでいくとよいでしょう。
最初はシンプルなものを作ってみて、スクラッチの操作に慣れてきたら次第に難しいものに挑戦していくとよいです。
ゲームのゴールを設定をする
作りたいゲームの種類が決まったら、ゲームのゴールを設定します。
ゲームのゴールとは、そのゲームにおいて何をすればゴールになるのか、何ができたらゲームのクリアになるのかということです。
ゴールがはっきりと決まっていないとゲームを作ることはできません。
また、ゴールがあるからこそゲームは面白く感じられるのです。
ゲームのストーリーを考えることももちろん大切ですが、ゴールは一番重要な部分ですので、しっかりと考えていきましょう。
初心者向け|スクラッチゲームの作り方
ピンポンゲームを例に、スクラッチゲームの作り方を解説していきます。
ではさっそく、作品を作る準備をしていきましょう。
スクラッチにログインしたら、「作る」をクリックしてプロジェクトの新規作成をしましょう。
背景を設定する
ゲームの作成画面になったら、まずは背景を設定しましょう。
画面右下にある「ステージ」から「虫眼鏡のマーク」をクリックすると、背景を選択できます。
下にスクロールすると、ゲーム画面の背景として使うことのできる画像がさまざま表示されるので、お好みの画像を選んでください。
ここでは「Neon Tunnel」を選択します。
背景画像を選択すると、このように反映されます。
これで背景画像の設定は完了です。
キャラクターを設定する
背景の設定が完了したら、次はキャラクターを設定し動かしましょう。
まずはキャラクターを選びます。
初期設定では猫のキャラクターが表示されているので、「スプライト1」の右上の「ゴミ箱」をクリックして削除します。
削除できたら、画面右下にある「猫のマーク」にカーソルを当てて「虫眼鏡のマーク」をクリックすると、スプライト(キャラクター)を選択できます。
背景と同様、さまざまなキャラクターがあります。
今回はピンポンゲームを作るので「Ball」を選択しましょう。
ボールのスプライトが追加されました。次に、パドルを追加します。
ボールと同じ手順で進めていきます。
キャラクターの選択画面では「Paddle」をクリックしてください。
パドルが追加されたら、ドラッグ&ドロップで画面の下の方に移動させましょう。
これでキャラクターの設定は完了です。
キャラクターを動かす
次に、設定したボールとパドルを動かすプログラムを作成していきます。
まずは「ボール」のスプライトを選択し、画面左上の「コード」をクリックしてください。
中央のスクリプトエリア(ブロックを組み立てるエリア)に、ボールが動くようプログラムを作成していきます。
まずは、画面左のブロックから下記の内容を選択してください。
- 「イベント」から「<旗>が押されたとき」を選択
- 「動き」から「x座標を○、y座標を○にする」「○度回す」「○歩動かす」「もし端に着いたら、跳ね返る」を選択
- 「演算」から「○から○までの乱数」を選択
- 「制御」から「ずっと」を選択
これらが揃ったら、画像のように組み合わせ、数値を入力しましょう。
緑の旗マークをクリックすると、ボールが動き始めます。
次に、パドルを動かしていきます。
ボールと同様、「パドル」のスプライトを選択し「コード」をクリックします。
そうしたら、画面左のブロックから下記の内容を選択してください。
- 「イベント」から「<旗>が押されたとき」を選択
- 「制御」から「ずっと」を選択
- 「動き」から「x座標を○にする」を選択
- 「調べる」から「マウスのx座標」を選択
これらが揃ったら、画像のように組み合わせましょう。
緑の旗マークをクリックすると、マウスのポインタの場所に向かって左右方向に動かすことができるようになります。
ボールとパドルは動くようになりましたが、このままの状態ではパドルでボールを打ち返すことができません。
次に、当たり判定のプログラムを作成していきます。
当たり判定を作成する
当たり判定のプログラムを作成することで、パドルにボールが当たったら跳ね返るようにすることができます。
まずは「ボール」のスプライトを選択し「コード」をクリックしたら、画面左のブロックからスクリプトエリアに下記の内容を選んでください。
- 「イベント」から「<旗>が押されたとき」を選択
- 「制御」から「ずっと」「もし○なら」を選択
- 「調べる」から「○に触れた」を選択
- 「動き」から「○度回す」「○歩動かす」を選択
- 「演算」から「○から○までの乱数」を選択
これらが揃ったら、画像のように組み合わせ、数値を入力しましょう。
緑の旗マークをクリックすると、パドルにボールが当たったら跳ね返るようになります。
得点(スコア)を増やす
ピンポンゲームなので、ただボールが跳ね返るだけでは物足りないですよね。
パドルにボールが当たったら、得点(スコア)が増えるようプログラムを作成してみましょう。
「ボール」のスプライトを選択し「コード」をクリックしたら、画面左のブロックからスクリプトエリアに下記の内容を選んでください。
- 「イベント」から「<旗>が押されたとき」を選択
- 「変数」から「変数」にチェックボックスを入れ「変数を○にする」を選択
これらが揃ったら、画像のように組み合わせ、数値を入力しましょう。
「変数を○にする」の部分は「変数名を変更」を選択し「得点」と入力してください。
緑の旗マークをクリックすると、画面左上に「得点」が表示されるようになります。
次に、画面左のブロックから同じスクリプトエリアに、下記の内容を選んでください。
- 「変数」から「得点を○ずつ変える」を選択
これらが揃ったら、画像のように組み合わせ、数値を入力しましょう。
すでに作成済みのブロックに差し込むような形になります。
緑の旗マークをクリックすると、パドルにボールが当たったら得点(スコア)が増えるようになります。
「得点(スコア)を○点まで獲得したらゲームを終了させる」という設定にしたい場合は、画面左のブロックから同じスクリプトエリアに、下記の内容を選んでください。
- 「イベント」から「<旗>が押されたとき」を選択
- 「制御」から「○まで待つ」、「すべてを止める」を選択
- 「演算」から「○=○」を選択
- 「変数」から「得点」を選択
これらが揃ったら、画像のように組み合わせ、数値を入力しましょう。
緑の旗マークをクリックすると、得点(スコア)を10点まで獲得したらすべての動きが止まるようになります。
ピンポンゲームの基本的な作り方は以上となります。
上級者向け|スクラッチゲームの作り方
ゲームオーバーを作る
ゲームの要素として、得点(スコア)を増やすだけでなく「ゲームオーバー」の要素も追加してみましょう。
まずは「ボール」と「パドル」を追加したときと同じ手順で、スプライトから「Line」を選択します。
追加した赤いラインを、ドラッグ&ドロップで一番下の位置まで移動させてください。
赤いラインのスプライトを選択し「コード」をクリックしたら、画面左のブロックからスクリプトエリアに下記の内容を選んでください。
- 「イベント」から「<旗>が押されたとき」を選択
- 「動き」から「x座標を○、y座標を○にする」を選択
- 「制御」から「ずっと」「もし○なら」「すべてを止める」を選択
- 「調べる」から「○に触れた」を選択
これらが揃ったら、画像のように組み合わせ、数値を入力しましょう。
緑の旗マークをクリックすると、ボールが赤いラインに触れた時すべての動きがストップします。
次に「ゲームオーバー」のテキストを作成し、ボールが赤いラインに触れた時に表示するようプログラムしましょう。
スプライトの選択から「筆マーク」の「描く」をクリックします。
このような画面になったら、赤枠の「T」を選択しテキストを入力しましょう。
ここでは「GAME OVER」と入力します。
文字の配置や色、フォント、サイズなどはお好みで変更してください。
ここでは文字の配置を中央にし、色は赤、フォントはSans Serif、サイズは画面いっぱいになるよう変更します。
「ボールが赤いラインに触れたらゲームオーバーを表示する」というプログラムを作りたいので、まずは「赤いライン」のスクリプトエリアに、画面左のブロックから下記の内容を選んでください。
- 「イベント」から「メッセージ1を受け取ったとき」を選択
これらが揃ったら、画像のように組み合わせてください。既存のブロックに差し込むような形になります。
次に、先ほど作成した「ゲームオーバー」のスクリプトエリアに、画面左のブロックから下記の内容を選んでください。
- 「イベント」から「<旗>が押されたとき」「メッセージ1を受け取ったとき」を選択
- 「見た目」から「隠す」「表示する」を選択
これらが揃ったら、画像のように組み合わせてください。
緑の旗マークをクリックすると、「『ボールが赤いラインに触れた』というメッセージ1を受け取ったら、ゲームオーバーを表示する」というプログラムが完成します。
時間制限を設ける
ピンポンゲームはスコアを増やして競う遊び方法もあれば、時間制限を設けて遊ぶ方法もあります。
ここでは、設けられた時間制限の中で、ボールを赤いラインに落とさずに遊べるかを競うプログラムを紹介します。
まずは「ボール」のスクリプトエリアに、画面左のブロックから下記の内容を選んでください。
- 「イベント」から「<旗>が押されたとき」を選択
- 「変数」から「変数を作る」を選択し「制限時間」を追加
- 「変数」から「得点」のチェックボックスを外し「時間制限」にチェックボックスを入れる
- 「変数」から「時間制限」「時間制限を○にする」「時間制限を○ずつ変える」を選択
- 「制御」から「○まで繰り返す」「○秒待つ」を選択
- 「演算」から「○=○」を選択
これらが揃ったら、画像のように組み合わせ、数値を入力しましょう。
緑の旗マークをクリックすると、30秒の時間制限が設けられます。
ルールが混在してしまうので、時間制限で遊ぶ場合、「得点(スコア)を増やす」で作成したプログラムは削除するようにしてください。
コスチュームを作る
次に、ボールにアレンジを加えましょう。
ここでは、「パドルにボールが当たる度にボールの色が変わる」というプログラムを作成します。
まず「ボール」を選択し、画面左上の「コスチューム」をクリックします。
左側の欄に「ball-a」「ball-b」と様々な色のボールが設定されているので、お好みの色に変更してください。新しくコスチュームを追加することも可能です。
ここでは、初期設定されている色とコスチュームを使います。
「コード」に戻ったらスクリプトエリアに、画面左のブロックから下記の内容を選んでください。
- 「見た目」から「次のコスチュームにする」を選択する
これらが揃ったら、画像のように組み合わせてください。
既存のブロックに差し込むような形になります。
緑の旗マークをクリックすると、パドルにボールが当たる度にボールの色が変わるようになります。
キャラクターを喋らせる
スクラッチでは、キャラクターを喋らせることができます。
ピンポンゲームでは、「パドル」にルールの説明をしてもらいましょう。
まずは「パドル」のスクリプトエリアに、画面左のブロックから下記の内容を選んでください。
- 「イベント」から「<旗>が押されたとき」を選択
- 「見た目」から「○と○秒言う」を選択
これらが揃ったら、画像のように組み合わせて、数値とテキストを入力してください。
緑の旗マークをクリックすると、指定したテキストを指定した秒数、吹き出しで喋るようになります。
効果音
ピンポンゲームに、効果音を加えてみましょう。
ここでは「パドルにボールが当たる度に効果音が鳴る」というプログラムを作成していきます。
まずは「ボール」のスクリプトエリアに、画面左のブロックから下記の内容を選んでください。
- 「音」から「○の音を鳴らす」を選択
これらが揃ったら、画像のように組み合わせてください。既存のブロックに差し込むような形になります。
緑の旗マークをクリックすると、パドルにボールが当たる度に「Pop」の効果音が鳴るようになります。
効果音の種類を変えたい場合は、画面左上の「音」をクリックすると、他の効果音を選んだり、自分で録音してオリジナルの効果音を作ったりすることができます。
スクラッチでは色んなアレンジができるので、ぜひ色々試してみてください。
Scratchゲームの作品例
ITALICOワンダーの生徒がスクラッチを使って作ったゲームの一例を紹介します。
それぞれに自分の思いを乗せて工夫した箇所があり、個性あふれる素敵な作品に仕上がっています。
ゲームの種類も多岐にわたっており、スクラッチの幅広い可能性が感じ取れるでしょう。
作品例|【上級者向け】脱出ゲーム
きちんと遊べるものをつくりたいという観点から、じっくりとつくり上げられた作品がこちらです。iPhone向けのゲームアプリとして制作されています。プログラミングだけでなく、アイコンも自分でデザインするなど、個性が光る作品に仕上がっています。時間がかかった分、出来上がったときの喜びは大きかったそうです。
将来的にはプロのようなゲームをつくりたい、一過性ではなく繰り返し遊べるようなスマホゲームをつくりたいと意欲を見せています。
【作者】Kくん・小学5年生
【作者】Kくん・小学5年生
「LITALICOワンダーはゲームをつくるのを楽しむところ!」ゲームをすることだけでなく、つくることも大好きになったKくん。オリジナルのシリーズゲームをどんどん開発しています!
作品例|【上級者向け】避けるゲーム
上から降ってくるバナナをカニが避けるという趣旨のゲームです。一般的な避けるゲームでは、バナナを20個も避けられないだろうと考え、カニが攻撃したり防護壁を出したりすることができる工夫がなされています。
シューティングゲームでもよく見かける必殺技を使えるようにしたことから、よりゲーム性の高い作品に仕上がりました。
ゲームの中で流れる曲や背景も既存のものにこだわらず、著作権に触れないものという観点で探し、オリジナリティを出した作品です。
【作者】Eくん・小学4年生
作品例|【上級者向け】カブの菜園ゲーム
以前、菜園ゲームで遊んで面白かったという経験がもとになってつくられたゲームです。一般的に制限時間として設定する部分は、菜園ゲームという世界観を出すために、日没までの時間という設定にする工夫がなされています。
また、単にカブを成長させるだけでは単純なゲームになってしまうだろうと考えた結果、時間が経つとカブが腐ってくるというストーリー性を加えることによって、よりゲームに深みが生まれ、本物の菜園に近い感じを出すことができました。
【作者】Cちゃん・小学4年生
【作者】Cちゃん・小学4年生
「やってる方は当たり前に使ってるものでも、つくる側になって難しいことに気づいた。」ゲームが好きで、プログラミングを始めたCちゃん。調べものや算数が得意になり、ロボットにも興味!
作品例|【上級者向け】現代版桃太郎
桃太郎という誰でも知っている話を現代版桃太郎というテーマに設定したことで、親しみやすいゲームに仕上がりました。キャラクターの動きやセリフなども、見ている人が分かりやすいようにと工夫されています。
制作者である小学生の男の子は「見る人に楽しんでもらえる面白いゲームがつくりたい」という観点でゲーム制作をしており、市販されているゲームの趣旨にも通じるものがあるといえるでしょう。ScratchDayにコメントがもらえたことも喜びにつながっています。
【作者】Tくん・小学4年生
【作者】Tくん・小学4年生
「LITALICOワンダーは自分にとって第2の家!」IT系の社長になりたいという将来の夢を見つけたTくん。夢に向かって、毎朝早く起きてプログラミングをするように!
作品例|【上級者向け】日本で最も多い名字ベスト200タイピング
日本で最も多い名字をタイピングしていくというシンプルなゲームです。打ち間違えるとHPが減っていく仕組みがプラスされています。名字の種類が200もあるため、リストをつくることが大変だったそうです。
ゲームとして遊べるだけでなく、タイピング練習としても役立つ可能性があります。楽しく遊びながら日本にはどのような名字があるのか、多い名字は何か、自分の名字は何番目に多いのかなど、雑学の知識も増やすことができるゲームです。
【作者】Tくん・小学4年生
Scratchのゲームのつくり方を学ぶおすすめの方法
Scratchを使ったゲームのつくり方を学ぶ方法はいくつかあります。
ここからはその方法を紹介します。自分にとって取り組みやすい、より理解しやすい方法を選択していくことが大切です。
他の人の作品から学ぶ
Scratchでは、アニメーションやゲームが公開されており、自由にを見ることができます。
他の人の作品を見ることで、自分がどのような作品をつくりたいのかをイメージすることができ、実際につくるときにどのようなプログラミングなのかを参考にすることが可能です。
まずは、人のまねをしながら仕組みを知り、次第に自分らしさを加えていくことでオリジナルのゲームを制作できるようになります。
ただし、ある程度基本的なことが分かっている人向けの方法といえるでしょう。
書籍で学ぶ
Scratchはユーザーが多いため、テキストも充実しており、書店や通販で手に入れることができます。
テキストによって難易度も異なるため、自分のスキルに合わせて選べることもメリットです。
初心者向けのテキストも複数あるため、自分にとって見やすく分かりやすいテキストを選ぶとよいでしょう。
ただし、通販で購入する場合は中の状態が見られないことが多いため、複数のテキストを比較して選びたい場合は大きい書店に出向く必要があります。
動画で学ぶ
Scratchを使ったゲームのつくり方を解説している動画を使って学ぶ方法があります。
動画を使って学ぶメリットは、好きな箇所で何度でも停止することができ、繰り返し再生することができる点です。
動画に合わせて自分も同じ動きを行うことで、より理解を深めやすくなります。
動画を視聴する中で分からない箇所が出てきたときに質問できるシステムになっていれば、不明点をそのままにせずに済むでしょう。
一方的に動画を流すだけでは、疑問点の解消が難しいです。
プログラミング教室に通う
わからないことが出てきたときに、専門の技術を持つスタッフに質問できるところが教室に通う利点といえるでしょう。
教室にはプログラミングに興味のある同年代の子ども達が集まる教室もあり、お互いに良い刺激を与え合うことができます。
一人ひとり、作りたいゲームや獲得したいスキルは異なります。
高校3年生までのプログラミング学習ならLITALICOワンダーがおすすめ
5歳から高校生までを対象とした子どもプログラミング教室・LITALICOワンダーでは、子ども自身の興味やスキルに合わせたカリキュラムで学べるため、主体的にプログラミング学習に取り組めます。
教室は東京・神奈川・埼玉・千葉にあり、全国どこからでも受講できるオンライン授業もおこなっています。
スクラッチゲームの作り方のまとめ
-
監修 LITALICOワンダー編集部(りたりこわんだー へんしゅうぶ)
監修
LITALICOワンダー編集部(りたりこわんだー へんしゅうぶ)LITALICOワンダー編集部では、ITやものづくり、子どもの教育などに関するさまざまな記事を発信します。LITALICOワンダーは、新年長さん〜高校生のお子さんを対象にしたIT×ものづくり教室です。