家庭でプログラミング教育にトライ
マインクラフトの世界をMakeCode(メイクコード)でプログラミング!
2018年11月30日 08:00
Minecraft(マインクラフト、通称マイクラ)は、世界を探検したり、建物を作ったり、モンスターと戦ったりできるサンドボックス型ゲームだ。木や生き物や建物など、すべてがドット絵風となっており、ゴールがなくユーザーが自由にやりたいことをやるゲームとなっている。
2009年の発売以来、すべてのプラットフォームにおける総販売本数は1億5400万本を超える(2018年10月時点)、言わずとしれた人気ゲームだ。小学生の間で爆発的な人気を誇っているが、マインクラフトはプログラミング学習に使える点も注目を集めている。
今回は、世界中で注目を集めるマインクラフトに算数好きの小学3年生の息子(8歳10ヶ月)とトライしたい。
マインクラフトの小学生人気に改めて驚く
かつてHour of Code(アワーオブコード)にトライした時に、マインクラフトを選択したことがある。だからまったく知らないわけではないが、一般的なマインクラフトはやったことがない息子。わからないかなと思いながら、「マインクラフトって知ってる?」と話を振ってみた。
すると、「あ、知ってる。友だちがやってる」という反応。小学生の間で人気なので当たり前といえば当たり前なのだが、少々驚いた。「クラスのAとBがやってるって言ってた。あと、英語教室で一緒のCが『ゾンビをやっつける』とか話してた」と興奮気味。A君、B君は同じ小学3年生、C君は4年生だ。
「え、A君やB君がやってるんだ。詳しく聞いてる?」聞き出してみると、断片的な記憶だったが、面白そうという印象を抱いていたようだ。「Cはゾンビを10以上倒したとか言ってたよ」「へー、そんなことやってるんだね」。
初めから「みんながやってる」「人気」「面白そう」という前情報があるので、モチベーションは高めだ。一般的な小学生なら聞いたことはあると思うので、初めてやる場合は、友だちから聞いたことがあるか、どこまで知っているかを聞きながら始めるとスムーズに始められるだろう。
マインクラフトには、クリエイティブモードとサバイバルモードがある。サバイバルモードではアイテムを収集したり自分で作っていく必要がある。お腹も減るし体力も減っていき、夜になるとモンスターに襲われて死んでしまうこともある。生き残るための工夫が必要な、まさに「サバイバル」モードというわけだ。
動画実況などではサバイバルモードが多く、盛り上がるのだが、今回はプログラミングが目的なのでクリエイティブモードを選択。クリエイティブモードならアイテムも最初から持っているし、空腹にならないので食事の必要もなく、敵が襲ってこないので落ち着いてプログラミングができる。
初期設定などが若干ややこしいのと、マインクラフトでできることの参考に、『できる パソコンで楽しむ マインクラフト プログラミング入門』(インプレス刊)を参考に進めていきたい。
まず子どもに自由に遊ばせよう
実は、他の教材に比べてマインクラフトは扱いに少々苦労した。プログラミングをするために借りたパソコンの扱いに慣れなかったことと、マインクラフト自体の操作に慣れるのに時間がかかったためだ。子どもが普段からマインクラフトで遊んでいる場合は、もっとスムーズに進められるはずだ。
いきなりプログラミングにトライ、といきたかったのだが、一挙手一投足すべてにプログラミングが必要な教材ではなく、モノを作る場面で効率的に作れる、あるいはエージェントにモノを作らせる場面などで必要となるという仕組みだ。子どもの心情としては、やはりキャラクターを動かしたいし、広い世界を見て回りたいと思うだろう。
そこで、はじめにある程度時間をとって、子どもに世界観を味わわせることにした。マインクラフトというゲーム自体を楽しむ気持ちがなければ、プログラミングして何かを作りたいという気持ちになれないと考えたのだ。元からマインクラフトをゲームとして遊んでいる子ならば、「建物をもっと簡単に作る方法があるんだけど、やってみない?」などと導きやすいだろう。
また、先ほどご紹介した参考書はプログラミングの本なので、実際のプログラミング例が多数紹介されているなどプログラミング部分は充実しているが、ゲームとしてのマインクラフトの操作方法まではカバーしていない。そこで、まずマインクラフトの操作方法について調べるところからスタートした。
パソコン版のマインクラフトは、キーボードとマウスでの操作が基本となる。Wキーが前進、Sキーが後退、Aキーが左方向移動、Dキーが右方向移動、スペースキーでジャンプ、Eキーでインベントリ(持ち物)の開閉、Qキーでアイテムを捨てる。クリエイティブモードではさらにスペースキーを2回押すことで上昇・下降ができ、Tキーでチャットウィンドウが現れるようになっている。1~9キーではそれぞれアイテムが選択でき、F5キーで視点が変えられるなど、必要なキーが多数あるので、まずこれに慣れる必要がある。特にF5キーで視点を選択することで操作しやすくなるはずだ。マウスを動かすと向いている方向が変わり、ブロックを破壊したり動物を攻撃したりするときは左クリック、アイテムを使ったりブロックを置いたりするときは右クリックする。
息子はマインクラフトを明らかに夢中になって楽しんでいた。キャラの動かし方を教えたところ、すぐに世界を探検し始めた。世界をぐるっと見て回り、生き物がいるたびに歓声を上げ、歩いていて海に落ちた。海中にも生き物がいるので、大喜びで泳ぎ始めた。水中から苦労して戻ったと思ったら、今度はどこまでも空高く飛び、小さくなった世界を見て喜んだ。地面を掘れるのにも喜び、地中を掘り進んで深部まで潜ったりもした。そのうち雨が降るなど天気が変わるので、変化に飽きないようだ。
マインクラフトの世界は生き物の種類も豊富だ。「あ、こんな動物がいた!」と生き物を見つけるたびに大喜びしており、追いかけて遊んでいる。しばらく放っておいたところ、やがて「叩いたら死ぬ!肉になった、やった!」と声が上がった。叩くと動物が赤くなって倒れ、数回叩くと肉や卵、革などのアイテムとなるのだ。サバイバルモードでは食べることができるが、クリエイティブモードでは使いみちが少ない。「ちょっとかわいそうだね…」と、動物を追いかけ回しては次々倒している息子に引く私。
気を取り直して、「実はアイテムが作れるんだよ。マインクラフトってそういう意味なの。マインが鉱物を掘る、クラフトは作るって意味で……」と言いかけると、「知ってたよ。そういう名前だもん」と息子。棒や作業台など簡単なアイテムを作って喜んでいた。このようにして、数回はひたすら息子がゲーム内で探検や自由行動をして終わった。
一度、友だちがプレイしているサバイバルモードが気になったらしく、サバイバルモードに変えたことがある。息子は違いがよく分かっていなかったらしく、これまで通り海に潜ってしまった。「ちょっと待って!酸素マークが減ってるよ!」「え?」「水中にずっといたら人間は溺れるでしょ。今は同じになってるんだよ」「えー!」。
お腹も減っていく上にあっという間に空が暗くなっていく。「うわー、もう外が暗いー」「時間が経つのが早いね、大丈夫?」「怖いー」。真っ暗になった瞬間、「もう殺されそうだからいやだ」といってパソコンを閉じてしまった。ゲーム慣れしている場合はこちらのモードのほうが楽しいと人気だが、時間の進み方は早いし、やることも多すぎる。情報がないとゲームが成立しないので、YouTubeなどで情報を得てから行うべきだろう。
動物が出てきて大喜びもカオスに
まずプログラミングができるようにするまでの設定部分がややこしいので、書籍がとても参考になった。たとえば、はじめに新しいワールドを作るのだが、「チートの実行」をオンにしておく必要があるなどの情報がそうだ。
また、プログラミングができるようにするためには、まずCode Connection for Minecraft(コードコネクション フォー マインクラフト、以下コードコネクション)をインストールする必要がある。コードコネクションを起動したら、マインクラフトと接続するためのコマンドをコピーし、マインクラフトのチャット画面にペーストすると接続が可能となる。続いて使用するエディターを選択する画面となるので、MakeCode(メイクコード)を選べばよい。
このあたりは見ながら操作していけば確実に設定できる。接続などの基本的な使い方の部分はとても参考になるだろう。またこの書籍は参考となるプログラミング例が多数載っているので、興味を持ちそうなものを実行したり、アレンジさせたりするといいだろう。
プログラミングをする際、少々悩んだが、当人に「こういう複雑なものが作れるんだけど、何が作りたい? ピラミッドとか養鶏場、畑とかも作れるよ」と書籍を示すことにした。「面白そう。ねえねえ、こんなこともできるんだって」と書籍を読み進める息子。「ところで、“ようけいじょう”って何?」「鶏を育てる農場みたいなもの。鶏じゃなくても作れるんだよ」というと、動物に興味を持っていたのでやはりこちらに食いつく息子。
書籍を見ながら「この数字は位置を表しているんだよ」と、まず「地面」となるブロックを置くための数値を入力させた。続けて「柵」を置き、最後に柵の内側を「空気」に置き換えることになる。プログラムを実行すると、一面に柵ができた後に中が空気に置き換わり、結果として囲んだ状態の柵が出来上がるというわけだ。数字を教えないで「柵を外側に1つずつ残すためには空気はどの位置に出せばいいと思う?」と聞いたら、「あ、1つずつ小さいのか」と数値を変えていた。無事に鶏が登場すると大喜び。
「牛やブタ、村人とかオオカミとか、魚も出てくるようにできるらしいよ」と言うと、目を輝かせる息子。「でもなぜか卵から出てくるんだって」「えー、何で。あ、種類がすごく色々ある」。
「じゃあ、これとこれを出す」と、息子はブロックを追加して2種類出るようにした。2種類出すと柵の中かがすぐにいっぱいになった。途中で趣旨が変わり、卵を変えて何度も生き物を出し始める息子。当人のキャラクターの位置が基準となるので、動いた後に作ると柵が重なっていってしまう。また、魚などの水生生物を出すとピチピチはねてすぐに亡くなりアイテム化してしまった。
密度が高いだけならいいのだが、ヤマネコやオオカミは肉食なので、捕食される側の生き物と同時に出すと悲惨なことになる。オオカミとウサギを出してしまったときが一番恐ろしく、オオカミが目を赤く光らせて集団でウサギを襲うのだ。「ウサギ、かわいかったのにかわいそうだね…」「そうだね…」「オオカミ、怖いね…」と2人とも少々複雑な気持ちになった。
翌日はきちんと卵を集めたいということで、養鶏場を作ることになった。普通のプログラムを実行し、鶏を出し、卵を産ませて回収した。
「魚も死なないようにしたい」と息子が言ったので、「自分の位置に出てくるわけだから、水中に潜った状態で出てくるようにすれば?」と言ってみた。ついでに、「次は、何かを入力したら何かが生まれるというプログラムにすればいいよ」とアドバイスした。「たとえば、英語で卵って入力すると出るようにするのは?」「卵は、eggか」と入力し、プログラムを作成させた息子。川に入った状態でプログラムを実行すると、イルカやフグ、鮭などが次々と現れては泳いでいった。
続いて、「じゃあ空に行けば飛ぶものも放せるかも」と考え、空に飛び上がった状態で鶏、オウム、コウモリを出していた。入力する単語は「鳥がいい」というので、「bird」を勧めた。しかし予想に反して、鶏とオウムは下に落ちてしまった。鶏は下にあった川を泳いで陸に渡り、オウムは低い位置を飛び始めた。コウモリだけが空を飛んでどこかに行ってしまった。
書籍にはこのように簡単なプログラム例が多数載っている。最初は真似をしてプログラミングし、そこからアレンジしていくことで様々なプログラミングができるようになるだろう。
息子は終始「マイクラは毎日やってる友だちがいるよ。今日もやりたい」と非常に乗り気だった。完成度の高い子どもの心をつかむゲームであることは間違いない。プログラミングをするとさらに便利に効率的にゲームが進められるため、既にゲームとして遊んでいる子におすすめだ。楽しんで子どもが主体的にプログラミングするようになるという意味で非常に良いと感じた。お子さんがマインクラフトを楽しんでいたら、MakeCodeでプログラミングができることを教えてあげると、世界が広がると思う。
学校の授業で取り上げる場合も、既にプレイしている子が多いので盛り上がるだろう。このような書籍のプログラム例をもとに、課題を出してプログラムを考えさせるといいのではないだろうか。
教材名 | Minecraft for Windows / Code Connection for Minecraft |
利用料 | Minecraft for Windowsは3150円(税込)、Code Connectionは無料 ※Minecraft: Java Edition(3240円、税込)を購入すると、Minecraft for Windowsを無償で利用できるコードが提供される |
対象 | 全年齢対象 |
環境 | Windows 10が動作するパソコン(キーボード・マウス付きを推奨) |
保護者に求められる知識とスキル | Windowsパソコンの基本操作や文字入力ができる 使い方の解説動画や書籍を見て、使い方を理解し、子どもをサポートできる |
学習効果 | プログラミングに興味を持つ、創造性向上、問題解決能力向上、論理的思考力 |
学習時間のめやす | 数時間以上、上限なし |