ゲームは遊ぶもの——そう思っていた子が「自分で作れる」と知った瞬間、画面への向き合い方が変わります。
シューティングゲームは見た目こそ本格的ですが、中身はたった3つの仕組みでできています。
使うのはScratch。無料で、ダウンロードもいりません。
パソコンとインターネットがあれば、今日15分で1本完成します。この記事では、家庭で子どもと一緒に進めるときの手順と、途中で止まらないためのコツを整理しました。
シューティングゲームは「3つの仕組み」でできている
敵が上から降ってきて、弾を撃って倒す。あの遊びを分解すると、必要な仕組みは3つだけです。
- 動かす……矢印キーで自機を左右に移動させる
- 打つ……スペースキーで弾を上に飛ばす
- 当たったら消える……弾が敵に触れたら敵が消える
この3つが動けば、もうシューティングゲームです。スコアもゲームオーバーも、後から足せます。Scratchはブロックを並べるだけなので、キーボードで文字を打つ必要すらありません。だから、子どもがScratchを始めるときの1本目としてシューティングゲームは相性がいいのです。
家庭でつまずく原因は、たいてい「最初から完璧を目指すこと」
保護者の方からよく聞かれるのが、「家でScratchを触らせているけれど、途中で放り出してしまう」という相談です。詳しく伺うと、原因が驚くほど共通しています。敵を5種類出そうとしていたり、タイトル画面のデザインから作り始めていたり。つまり、完成形を丸ごと一度に作ろうとしているのです。
プログラメイクで5年以上、小学生から中学生までを教えてきて感じるのは、作品が完成する子とそうでない子の差は、才能ではなく作る順番にあるということです。教室では「まず動いた」「弾が飛んだ」「敵が消えた」——この3つが確認できた時点で、いったん手を止めさせます。ここが土台だからです。
土台がある状態なら、飾りを足す作業はすべて「成功体験の上乗せ」になります。逆に土台がないまま飾りから始めると、うまくいかないときに何が原因か分からず、手が止まります。家庭で見守るときは、「かっこよくなった?」ではなく「動いた?」と聞いてあげてください。それだけで進み方が変わります。
15分の中身を分解すると、こうなります
動画で作っている手順を、家庭で追いかけやすい形に並べ直しました。1段ごとに「動くか」を確かめながら進めるのがコツです。
| 順番 | 作ること | ここが動けばOK |
|---|---|---|
| 1 | 自機を左右に動かす | 矢印キーで宇宙船が横に動く |
| 2 | 弾を撃つ | スペースキーで弾が上へ飛ぶ |
| 3 | 敵を降らせる | 毎回ちがう位置から下へ落ちてくる |
| 4 | 当たり判定をつける | 弾が当たると敵が消え、音が鳴る |
| 5 | スコアとゲームオーバー | 数字が増え、ぶつかると全部止まる |
ここで一つだけ、大人がつまずきやすい場所を先にお伝えします。4番の当たり判定で音を鳴らすとき、Scratchには「音を鳴らす」と「終わるまで音を鳴らす」の2種類のブロックがあります。後者を選ぶと、音が鳴り終わるまでゲームが待ってしまい、爆発の演出がワンテンポ遅れます。ここは「音を鳴らす」のほうを使います。細かい違いですが、遊んだときの気持ちよさがはっきり変わる場所です。
もう一つ。途中でキャラクターの大きさを変えると、それまで調整した座標や当たり判定がずれます。教室でも「さっきまで動いていたのに」という声が上がる定番ポイントです。大きさは早めに決めて、あとは触らない。これで作業がぐっと楽になります。
完成した瞬間から、本当の作り込みが始まる
15分で完成したゲームは、言ってしまえば骨組みです。おもしろいのはここからで、子どもたちが夢中になるのも改造の時間です。方向は大きく4つあります。
- 敵を増やす……速い敵、ジグザグに動く敵と種類を分けると、一気にゲームらしくなります
- 音をつける……BGMと効果音を足すだけで、完成度の印象が変わります
- 画面を作る……スタート画面とゲームオーバー画面が切り替わると、市販のゲームに一歩近づきます
- 難易度を上げる……「スコアが50を超えたら敵が速くなる」「100でボスが出る」といった仕組みを入れます
教室でよく見られる光景があります。基本を作っている間は淡々と手を動かしていた子が、改造の話になった途端に「先生、敵を2体同時に出せますか」と聞いてくる。自分の作品として手に入れた瞬間に、質問の質が変わるのです。小学生の習い事としてプログラミングを選ぶご家庭が増えていますが、この「自分から聞きにくる状態」に入れるかどうかが、続くかどうかの分かれ目になります。
「乱数」と「変数」は、算数の授業に戻ってくる
このゲームには、算数と地続きの考え方が2つ入っています。
1つは乱数です。敵の出現位置を「-200から200までのランダムな数」にすると、毎回ちがう場所から降ってきます。子どもはここで、画面の左端がマイナス、右端がプラスという座標の感覚を、遊びながら手に入れます。負の数は中学校で本格的に習いますが、その前に「左に行くとマイナス」を体で知っている子は、初回の理解が速いです。
もう1つは変数です。スコアを作るときは、まず「スコア」という入れ物を用意し、敵を倒すたびに1ずつ増やします。そして、ゲームを始めるときに0に戻す。この「箱を用意して、中身を出し入れする」感覚は、文字式そのものです。教科書で x が出てきたときに身構えずにすむのは、こういう経験を先に積んでいる子です。
プログラミングを算数の代わりにする必要はありません。ただ、算数で出てくる概念に対して「知ってる、あれか」という手触りを先に持てるのは、確かな強みになります。
