2020年からは小学校でのプログラミング教育が必修化となりますが、最近ではこういった動きに伴い、子供たちが率先してプログラミングを学べるような学習ソフトが数多く誕生しています。学習ソフトの多くはプログラミングを用いて実際にモノを作ることができるため、プログラミングを習得するには非常に効率的です。
今回は、そんな学習ソフトの一つである「マインクラフト」のメリットと、マインクラフトで学べるプログラミング言語について紹介します。
子供が夢中になるマインクラフトとは?
近年、子供たちから絶大な人気を集めているマインクラフトですが、「壮大な世界観」や「ゲーム感覚でプログラミングが学べる」というのが大きな魅力となっています。
子供の想像力を掻き立てるマインクラフト
マインクラフトは世界累計販売数が1億本を超える人気サンドボックスゲームです。スウェーデンのMojang社によって開発されたゲームなのですが、Microsoft社に買収されてからは最新技術の活用や学校教育バージョンに改良され、日本の子供たちの間では「PS Vita版」が最も親しまれています。
愛称「マイクラ」として親しまれているマインクラフトでは、木や土、建物、動物といった全てのものが1立方メートルの立体ブロックで構成されていて、ブロックを自由に制作・配置・破壊していきます。また、広大な世界が広がっていることもあり、子供たちの想像力を掻き立てるゲームとして人気を呼んでいるのです。
また、現実世界と同じようにさまざまな地形や昼・夜の設定があり、ブロックを自由に操作する以外にモンスターを倒したり、友達と対戦バトルを楽しんだりと、多くの楽しみ方ができるのも大きな特徴だといえるでしょう。
プログラミングも学べるゲーム
マインクラフトでは、ゲームだけではなくプログラミングも学ぶことができます。
ゲームの中で自由に立体ブロックを作成していくことで、モノを作り上げていくためのプログラミングが身に付き、オリジナルのアイデアやプログラミング次第でゲームの世界を自由自在に変えられるのです。
マインクラフトでプログラミングを学習するメリット
マインクラフトは世界的な人気を誇っているプログラミング学習ゲームですが、マインクラフトを選ぶメリットにはどんなものがあるのでしょうか。
ゲーム感覚でプログラミングを勉強できる
マインクラフトではゲーム内の世界観やキャラクターを活かし、実際のプログラミングを試行錯誤することができます。そのため、「プログラミングを勉強する」という堅苦しいものではなく、ゲームの延長線上としてプログラミングに親しむことができるのです。
また、「プログラミング」と聞いてもなかなか明確なイメージが持てない子供は多いと思いますが、マインクラフトを利用することによって「プログラミングってこういうものなんだ」というイメージができ、よりプログラミングを身近に感じられるようになるでしょう。
さらに、マインクラフトには「Minecraft Hour of Code」や「マイクラで始めるプログラミング入門」といった無料教材や、小学生向けのワークショップ(要参加費)もありますので、ゲームの延長線上で本格的なプログラミング学習ができるのです。
ゲームの世界を自分で作って楽しめる
マインクラフトでは「ボクセル」というブロックを積み上げてモノを表現していきますが、こういった「想像したものを作り上げる」という遊びは子供の感性を大いに刺激し、モノづくりのプロセス体験を手軽に楽しめるようになっています。
また、上級者向けとして機械装置をつくるための「レッドストーン回路」というシステムがあり、ON・OFF機能の付いた照明やエレベーターのような昇降装置、巨大ロボットといったものまで作成が可能です。そのため想像力が養われ、世界に一つだけのオリジナルゲームを楽しむことができるのです。
プログラミングの結果が目に見えて実感できる
一般的に、プログラミングというのはアルファベットや記号が多く、ややとっつきにくさを感じるものです。
しかし、マインクラフトでは自作したプログラミングの結果をすぐに画面で確認することができ、「このコードを入れるとこうなる」というプログラミングの仕組みが理解しやすくなっています。
また、結果が目に見えることで入力の間違いも発見しやすく、効率的に試行錯誤を重ねることができるでしょう。
マインクラフトで学べる主なプログラミング言語
プログラミングを学ぶうえで必要になるのが「プログラミング言語」ですが、マインクラフトで学べるのは主にLua、Java、Ruby、Pythonの4種類になります。
Lua言語
Lua言語というのは処理系実装の汎用スクリプト言語で、軽量・組み込み可能・実行速度が速いといった特徴があります。2007年頃から活用シーンが増えてきており、特にゲーム業界では需要度が上がっている言語です。
マインクラフトでは、コンピュータを導入する「Computer Craft」をインストールすることでLua言語が使用できるようになり、さまざまな作業を自動化できるようになります。
文法にクセがないため、初心者でも学びやすいといえるでしょう。
Java
Javaについては聞いたことがある人も多いと思いますが、スマホアプリやWebアプリといった幅広い開発に使用されている人気言語で、OSに依存せずさまざまな環境で利用できるというのが特徴です。現状あらゆるシーンで利用されているプログラミング言語であるため、Javaのエンジニア需要は非常に多いといえるでしょう。
また、JavaはC言語やC++などを承継したプログラミング言語であることから、最初にJavaを習得しておけば他の言語学習が容易になるといわれており、最初に習得するべき言語として人気です。
マインクラフトでは「IntelliJ IDEA」をダウンロードすることで使用できるようになります。
Ruby
RubyとはMatzこと「まつもとゆきひろ氏」によって開発されプログラミング言語で、関数型プログラミングと命令型プログラミングが組み合わさっているのが特徴です。ビッグデータの取り扱いを得意としているため開発シーンで活用されることが多く、現代ではメジャー言語として人気があります。
マインクラフトでは「Minecraft-Pi-Ruby gem」をダウンロードすることで使用が可能です。
Python
Pythonは数あるプログラミング言語の中でも比較的新しく、プログラミングをよりシンプルに、読み書きしやすくするために開発された言語です。そのため文法も非常に単純で、これからプログラミングを学ぼうとしている初心者でも取り組みやすいといえるでしょう。
また、Pythonは主に組み込み開発やアプリケーション開発で使用される言語ですが、今後開発が進んでいく人工知能や機械学習の分野でも取り入れられているため、早い段階から習得しておきたい言語でもあります。
マインクラフトでは「Raspberry Jam Mod」をダウンロードすることで使用が可能です。
子供だけではなく大人ものめり込む面白さ!
マインクラフトでは広大な空間の中に自分だけの世界を生み出すことができ、「勉強する」という意識がなくても自然にプログラミングを習得することができます。そのため一般的には子供向けとなっていますが、自分のアイデア次第であらゆるものが表現できるので、大人でも十分に楽しむことができるのです。
また、学べる言語には主流となるJavaやRuby、人工知能開発に使用されているPythonがありますから、何の言語を学ぶべきかわからないという人はぜひマインクラフトを活用してみてはいかがでしょうか。