どれ使う?プログラミング教育ツール

レトロなトッド絵のゲームが作れる子供向けプログラミングツール ~Microsoftの「Makecode Arcade」

 2020年度からついに小学校でプログラミング教育が実施されます。これに伴い家庭でも手軽にプログラミングを学習できるツールが多数登場していますが、どんなツールを使えばいいのか迷ってしまう方も多いのではないでしょうか? そこで本連載では家庭でのプログラミング教育にピッタリなお勧めツールを紹介していきたいと思います。

 「Makecode」は、Microsoftが提供するオープンソースのプログラミング学習プラットフォームです。子ども向けのプログラミング学習を想定したさまざまなロボットやシングルボードコンピューターなどと連動したプログラミングアプリに活用されています。今回紹介する「Arcade」は、レトロなアーケードゲーム風のゲームを作ることができるアプリで、今年1月に一般公開されました。アプリ内にシミュレーターがついているので「Arcade」だけで楽しむことができますが、各社が対応のハード機器を出しているので、自分で作ったゲームを手のひらサイズの小さなハードウェア上でプレイすることもできます。

 「Arcade」はWebブラウザーで利用します。「Makecode」のトップから「Arcade」を選んで入りましょう。

「Makecode」のトップページから「Arcade」を選ぶ

チュートリアルに挑戦

 「Arcadeの」トップ画面からは、新しいプロジェクトを作ったり、チュートリアルに挑戦したり、ゲームサンプルを開いたりすることができます。初めてツールを使うときはチュートリアルから始めると把握しやすいので、[Tutorials]から[Chase the pizza]選びます。このチュートリアルでは、プレイヤーを操作してピザを取るミニゲームを作ります。

「Arcade」のトップページからチュートリアル(Tutorials)を選ぶ

 チュートリアルで作成するゲームの概要が示されたあと、プログラムの作成画面になります。「Arcade」の日本語版はありませんので(記事執筆時点)、本記事は英語版で紹介します。なお、「Google Chrome」の翻訳機能を使ってWebブラウザー側で日本語翻訳表示をした場合、ブロックのカテゴリー名やいくつかのボタンが日本語になりますが、チュートリアルの説明文は英語のままです。説明文と使用ブロックの対応関係を把握するには英語表示の方が便利です。

チュートリアルをスタートしたときのプログラム作成画面

 チュートリアルの説明に沿って、ブロックを配置し、指示に従って好きな色やキャラクターを選択していきます。チュートリアルの説明がスモールステップな上、ヒントの吹き出し表示で視覚的に説明してくれるのでとてもわかりやすいです。また、チュートリアルで使用するブロック以外は表示されないので迷わずに進めることができます。

ヒントの吹き出し表示を適宜参照すると便利

ちょっとアレンジするだけで楽しい

 チュートリアルの見本は、黄緑の背景に黄色いスマイルマークがプレイヤーになっていますが、背景色を赤、プレイヤーにサメを選んだだけで、ちょっと雰囲気が変わりました。ちょっとアレンジするだけで楽しさが増します。

背景色とプレイヤーの絵を選んだところ
かわいらしいドット絵がたくさん用意されている。[Editor]もあるので自分でキャラクターを描いたりアレンジしたりすることもできる

 ゲームらしい仕組みを作るには、いくつものステップが必要ですが、ゲームでよく使う動作が簡単にプログラムできるようにブロック化されています。まず、ゲームスタート時のプレイヤーと食べ物の設定をプログラムします。

ひとつのブロックを追加するだけで、サメのプレイヤー(変数名[mySprite])をシミュレーターの十字ボタンでコントロールできるようになる。キーボードにも操作が割り当てられる

 次に、プレイヤーと食べ物が重なったときの挙動をプログラムします。点数を1点追加し、ピザの位置をランダムに変更し、10秒のカウントダウンを始めます。

①ゲームスタート時のプログラム。②プレイヤーと食べ物が重なった時のプログラム。ゲーム開始時にプレイヤーと食べ物が同じ場所に出現するので、スタート直後に②が実行され最初のカウントダウンが始まる

ゲーム好きの子供がプログラミングへの興味をもつきっかけに

 これでチュートリアルの作品は完成です。ゲームをプレイしてみると、ピザを取るたびに得点が増えます。10秒以内にピザを取らないとゲームオーバーです。ゲームオーバー画面の演出はプログラムしていませんが、自動的に表示されます。

完成したゲームをシミュレーターの全画面表示で試しているところ

 今回チュートリアルで作ったゲームは、プレイヤーのコントロール、得点、衝突判定、カウントダウンなど、ゲームでよく使うひと通りの機能が備わっていました。ゲーム好きの子供達は、ゲームがきっかけでプログラミングに興味をもつこともありますので、親子でチュートリアルから試してみてはいかがでしょうか?