今回は micro:bit(マイクロビット)を使ったシューティングゲーム の作り方を紹介します。
micro:bitは、手のひらサイズの小さなコンピューターですが、真ん中にある 5×5のLED を使って、ゲームを作ることもできます。
Scratchをある程度触ったことがある子なら、「次のステップ」としてmicro:bitに挑戦するのはかなりおすすめです。
今回は、上から降ってくる敵をよけながら、A+Bボタン同時押しでビームを撃って倒すシューティングゲームを作ります。夏休みの自由研究にも使いやすい内容です。
- micro:bitの5×5LEDを使って、シューティングゲームが作れる
- ロゴをタッチすると「3・2・1」のカウントダウンでゲーム開始
- Aボタンで左、Bボタンで右に移動
- A+B同時押しでビームを発射
- 敵に3回ぶつかるとゲームオーバー
- 倒した敵の数がスコアとして表示される
- MakeCodeのシミュレーターで、実機に転送する前に動きを確認できる
micro:bitでどんなゲームを作るの?
今回作るのは、micro:bitのLED画面を使ったシューティングゲームです。
ゲームの流れはこんな感じです。
- ロゴを短くタッチする
- 「3・2・1」のカウントダウンが始まる
- 上から敵が降ってくる
- 自分はA/Bボタンで左右に移動
- A+B同時押しでビーム発射
- 敵に当たるとライフが減る
- 敵をビームで倒すとスコアが増える
- ライフがなくなるとゲームオーバー
見た目は小さなLEDだけですが、ちゃんと「避ける」「撃つ」「倒す」「スコアが増える」というゲームの要素が入っています。
まずはMakeCodeで新しいプロジェクトを作る
micro:bitのプログラムは、MakeCode(メイクコード)というサイトで作れます。
「新しいプロジェクト」からスタートし、今回は「シューティングゲーム」のような名前をつけます。
MakeCodeにはシミュレーターがついているので、実際にmicro:bitへダウンロードしなくても、画面上で動きを確認できます。
これはかなり便利です。
実機に転送する前に「敵がちゃんと動くかな?」「ボタンで移動できるかな?」を試せるので、作りながら修正しやすいです。
ロゴタッチでカウントダウンを作る
ゲーム開始の合図には、micro:bitのロゴタッチを使います。
「ロゴが短くタップされたとき」のブロックを使い、LED画面に「3」「2」「1」と順番に表示します。
ここで注意したいのが、MakeCodeの「一時停止」は ミリ秒 で指定することです。

1000ミリ秒 = 1秒、500ミリ秒 = 0.5秒です。
Scratchの「1秒待つ」と少し表記が違うので、ここは子どもが混乱しやすいポイントです。
ライフと自分のキャラクターを作る
次に、ゲームの中で使う「自分」を作ります。
MakeCodeのゲーム機能では、スプライトを使えます。Scratchのスプライトに近いイメージですが、micro:bitでは 変数にスプライトを入れる形で作ります。
今回は「自分」という変数を作り、LED画面の下の方に表示します。
micro:bitの座標は少し特殊で、左上が「X:0・Y:0」になります。
Xは右に行くほど増え、Yは下に行くほど増えます。
ScratchではYを増やすと上に行きますが、micro:bitでは逆に下へ進むので注意が必要です。
敵をランダムな場所から落とす
敵もスプライトとして作ります。
敵は上から降ってきてほしいので、Y座標は一番上の0にします。
X座標は毎回同じだとつまらないので、0〜4の乱数にします。
micro:bitのLEDは横5列なので、X座標は
0、1、2、3、4
のどれかになります。
敵は0.5秒ごとにY座標を1ずつ増やして、上から下へ落ちていきます。
もし敵が自分に触れたら、ライフを1つ減らして、敵を削除します。
これで「敵に当たったらダメージを受ける」仕組みができます。
Aボタン・Bボタンで左右に動かす
次はプレイヤーの操作です。
- Aボタンが押されたら、自分を左へ移動
- Bボタンが押されたら、自分を右へ移動
左へ進むときはXを-1、右へ進むときはXを+1します。
micro:bitのA/Bボタンは直感的なので、子どもでも操作しやすいです。
「左ボタンを押したら左、右ボタンを押したら右」という感覚がそのままゲームになります。
A+B同時押しでビームを撃つ
シューティングゲームなので、攻撃も作ります。
A+Bボタンが同時に押されたときに、「ビーム」というスプライトを作ります。
ビームの最初の場所は、自分と同じX座標・Y座標にします。
そこからビームを上に進ませます。
ここでもmicro:bitの座標に注意が必要です。
上に進ませたいときは、Y座標を -1 します。
Scratchに慣れている子ほど逆に考えがちなので、「micro:bitではYを減らすと上」と覚えておくと良いです。
ビームが敵に当たったらスコアアップ
ビームが敵に触れたら、
- スコアを1増やす
- ビームを削除
- 敵を削除
という処理を入れます。
これで、敵を撃つと得点が増えるようになります。
スコアがあるだけでゲームのやる気がかなり変わります。
また、ビームがずっと残るとゲームがややこしくなるので、一定回数進んだらビームも削除します。
「作ったものを消す」処理は、ゲーム作りではかなり大事です。
ゲームオーバーとスコア表示
ライフがなくなると、MakeCodeのゲーム機能でゲームオーバーになります。
ゲームオーバー後には、スコアも表示されます。
今回のゲームでは、倒した敵の数がスコアになります。
「今回は何点だった?」「次はもっと上を目指そう!」と、繰り返し遊びたくなる仕組みになります。
動画で動きを確認してみてください
この記事で全体の流れは分かりますが、micro:bitは座標やLEDの動きが少し特殊なので、動画で見るとかなり理解しやすいです。
特に、
- MakeCodeの画面の開き方
- ロゴタッチのブロックの場所
- 5×5LEDの座標の考え方
- A/Bボタンで自分が動く様子
- ビームと敵が当たったときの動き
は、実際の画面を見た方がスムーズです。
まとめ
micro:bitは小さな基板ですが、5×5LED、ボタン、タッチセンサーなどを使って、しっかりゲームを作ることができます。
今回のシューティングゲームでは、カウントダウン、左右移動、ビーム発射、敵のランダム出現、スコア表示まで作れるので、ゲーム制作の基本がたくさん詰まっています。
Scratchに慣れてきた子が、次にmicro:bitへ進むと「画面の中だけじゃなく、実物が動く」楽しさを感じやすいです。自由研究にもぴったりですね。
当教室でも、お子さまのレベルに合わせてScratchからmicro:bit、ロボット、電子工作へとステップアップできるようにサポートしています。
