小中高生向けプログラミングスクールTechChance!

マインクラフトでプログラミングは学べる?学習法は?

WRITER
 
この記事を書いている人 - WRITER -
プログラミング教室TechChance!の運営担当。 広島県広島市出身。広島大学総合科学部数理情報科学コース卒業。 大学2年生の時にプログラミングの魅力に引き込まれ、アプリ開発やゲーム開発、Webサイト制作など幅広い分野でのプログラミングの知識と技術をベースに、立ち上げ当時からテックチャンスの運営に携わる。 大学受験進学塾「広大研」の数学科講師としてのスキルも生かし、教材作成力と指導力を駆使して、小中高生のプログラミンングへの好奇心とモチベーションを刺激するべく日々奮闘している。

こんにちは。

小中高生向けのプログラミングスクール TechChance! ブログ担当の國貞です!

今この記事を読んでくれているあなたはこんな疑問をお持ちではありませんか?

「マインクラフトでプログラミングってできるの?」
「ゲームの中でプログラミング能力は身につけられるの?」
「どうやって学べばいいの?」

この記事では、マインクラフトでのプログラミングに興味ある方を対象に、上記の疑問にお答えします。

 

そもそもマインクラフトとは?

※画像は公式HPより引用

マインクラフトは、全てブロック化された現実がゲーム機の中にある、そんなゲームです。

世界には緑が広がり、魚や動物で溢れています。

それだけではなく敵キャラクターも存在し、戦闘を行なうこともできます。

アイテムを使うことで空を飛行することもできます。

マインクラフトは、現実の中に夢を詰め込んだようなゲームなのです。

 

またマインクラフトは,サンドボックス(sandbox=砂場)と呼ばれるゲームの一種です。

サンドボックスとは砂場の世界に放り込まれ自由に遊ぶことのゲームを指します。

ロールプレイングゲーム(RPG)やアクションゲームなどは,特定の課題や目標を達成することによってゲームクリアとなり終わりがあります。

一方,マインクラフトなどのサンドボックスのゲームにはゲームの終わりはなく,いつまでも好きにその世界で遊ぶことができるゲームなのです。

 

これらの理由から、マインクラフトは全世界から人気があり、年齢に関係なくプレイされるゲームなのです。

そんな素晴らしいゲームの中で、楽しくプログラミングが学べたら凄いですよね!!

 

この記事では “マインクラフトでプログラミングをする方法” 徹底的に解説していきます。

 

マインクラフトでプログラミングってできるの?

マインクラフトでプログラミングを行うには、MOD というものが必要になってきます。

ただし現段階ではPC版のみです。

でもプログラミングにはキーボードを用いるので、スマートフォンのアプリケーションやゲーム機などでできなくても、大きな問題ではないですね。

 

今回必要な MOD は ComputerCraft です。(実際には Forge も必要)

ComputerCraft とは dan200 という方が開発した MOD で、マインクラフトの世界にコンピュータとタートル(ロボット)を出現させることができます。

それらに lua 言語というのを用いて、プログラミングができるようになっているという仕組みです。

 

ゲームの中でプログラミング能力は身につけられるの?

ここでようやくこの記事の本題に触れていきたいと思います。

 

先にお伝えしておきます。

マインクラフトだったら可能なんです!

むしろプログラミング能力を向上させるために、これほど適したものはないのではないかと思うほどです。

 

なぜそこまで言えるか、以下の3つの点から説明いたします。

  1. マインクラフトへの興味が学習意欲を上昇・継続させる。
  2. タートル(ロボット)が目の前で動くことによって、思考力と空間把握能力が身につく。
  3. 文字を入力するプログラミングで、確かな力が身につく。

 

1. マインクラフトへの興味が学習意欲を上昇・継続させる。

 

さらにマインクラフトは前述の通り、大人気のゲームで且つ、終わりのないゲームですので、一度ハマったら抜け出せないゲームです。

そんなゲームをより豊かに面白くするのが、ComputerCraft によるプログラミングです。

それによって、楽しいことをしながら学習できるという環境が意欲を上昇させます。

さらに飽きにくく、その意欲は継続されます。

そんな学習環境があるなんて、素晴らしいと思いませんか?

 

前述の通り、ComputerCraft の追加によって タートル というロボットが使えるようになります。

タートル にプログラムを書き込めば、プレイヤーができる様々な行動を代わりに行ってくれます。

例えば、危険な地下奥深くまで地面を掘ってダイヤモンドやレッドストーンを取って来てくれたり、面倒な農業の耕したり種を蒔いたりする作業をしたり…。

マインクラフトでの生活を豊かにするために、働いてくれるというわけです。

 

この経験は「プログラミングを学習することは、生活を豊かにすることができる。」という、実生活でもいえることを学ぶことができます。

さらにその経験から「もっと学んで、もっといろんなことができるようになろう。」という正の循環になっていくのです。

 

2. タートル(ロボット)が目の前で動くことによって、思考力と空間把握能力が身につく。

 

ロボットやキャラクターなどをプログラミングで動かすことは、マインクラフト以外でも行われています。

しかし、それらのほとんどは2次元的で動きの制限が多く、単調なプログラムになってしまうことも多くあります。

 

ですが、マインクラフトのような3次元の世界の中でタートルというロボットを動かすことで、多様な動きをプログラムで表現でき、養われる思考力は倍以上です。

そういった動きを考える中で確実に必要になってくる力が、空間把握能力です。

タートルがどこにいて周りのブロックはどういう状態か、そう考えながらプログラムを組み立てていくので、空間把握能力がどんどん身についていきます。

 

3次元でロボットを動かすといえば、ロボットコンテスト(通称:ロボコン)のようなものも存在します。

ですが、ロボットを実際に作るには電気や機械など工学的な知識が必要になってきます。

また、市販のロボットを購入するという手もありますが、それらのロボットは学習用のため実用性が低いものが多く、ロボットができる行動も少ないものが多いです。

そのため、途中で興味を失ってしまったり、別のロボットを用意しなければならなかったりなど、そんな可能性があると思います。

 

そういった点からも、マインクラフトの世界の中でタートルを使ったプログラミングの学習は、自由な表現ができ知能の向上が大きく予想される良いものではないでしょうか。

 

3. 文字を入力するプログラミングで、確かな力が身につく。

 

文字を入力するプログラミングは、いくつか欠点があることは事実です。
ですが、その欠点を上回るだけの利点があります。

 

プログラミング言語には様々あり、キーボードから文字を入力することで直接命令を記述するプログラミングや、ブロック化した命令をマウスなどで並べるビジュアルプログラミングなどがあります。

前者には ComputerCraft で扱える lua や、アプリケーションやゲーム開発によく用いられる Unity などが、後者には教育用に開発された Scratch が例としてあげられます。

 

少し話は変わりますが、現在教育界では小学校のプログラミング必修化の中、前者のような文字を打つプログラミングは「それぞれの言語にあった “書き方” を覚えるだけにとどまり、プログラミング的思考は身につかない」といったことが言われています。

もちろん学校教育など、評価をしなければならない場合において、そういった面が問題としてあげられるのは最もだと思っています。

 

しかし、後者のようなビジュアルプログラミング言語では、単純なブロックの並び替えでプログラムが構成されるが故に、適当にブロックを並び替えることでプログラムが成立する可能性が高くなってしまうという欠点があります。
ですが前者の学習の際、「ブロックのように簡単に並び変えることができない…」そんな困難さが慎重に取り組む要因となり、効率的な学習に繋がると私は考えています。

 

さらに、現在のゲームやアプリケーションなどのプログラミングには、前者のような文字を打つプログラミング言語が使用されております。

ビジュアルプログラミング言語は、プログラミングの基礎的な考え方を学ぶのには適していると思いますが、本格的な学習には文字を打つプログラミング言語の学習が適しているのではないでしょうか。

 

どうやって学べばいいの?

 

学習の方法には様々あります。

  • 書籍の購入
  • ブログサイト等の解説を見る
  • 動画配信サイトの解説を見る
  • 習い事として塾に通う
    etc…

この中でおすすめしたいのが、最後の習い事として塾に通うことです。

その理由は以下の2点です。

  1. わからない時にしっかり教えてもらえる。
  2. 一人一人の学習レベルに合わせた対応をしてもらえる。

 

1. わからない時にしっかり教えてもらえる。

 

塾に通い直接指導をしてもらうことで、わからなくなったところを放っておきません。

プログラミングはわからなくなってしまうと、先に進めなくなってしまいます。

年齢が上がり自分で調べる能力が身につくと、自分で解決できるようになりますが、プログラミングの勉強を始めようとするこどもには難しいと考えています。

また書籍の場合、著者に質問するわけにもいかず、ブログや動画配信サイトの投稿者に質問しても、なかなか返答が得られない場合が多くあります。

そのため、知識を持った人に直接教えてもらえるという環境はとても大切になってきます。

 

2. 一人一人の学習レベルに合わせた対応をしてもらえる。

 

書籍やサイトなどの場合、多くの人に向けて発信する場合が多く、学習者のレベルにマッチした教え方が難しいです。

学校などでどんなことを学んでいるか、年齢や発達段階はどうか、などの状況によって、学習者の理解できること、できないことの差は大きく開いてきます。

そういった状況を把握し対応できるのは、直接教えてもらう他ありません。

 

お気軽に無料体験にお申し込みください

私は、「プログラミングを学びたいと思う人たちが、より良い環境で学ぶことができるたらいいな」、という願いを込めてTechChance!の講師を務めています。

興味を持たれた方は、ぜひ一度 TechChance! の無料体験にお越しください!

ご連絡おまちしております。

この記事を書いている人 - WRITER -
プログラミング教室TechChance!の運営担当。 広島県広島市出身。広島大学総合科学部数理情報科学コース卒業。 大学2年生の時にプログラミングの魅力に引き込まれ、アプリ開発やゲーム開発、Webサイト制作など幅広い分野でのプログラミングの知識と技術をベースに、立ち上げ当時からテックチャンスの運営に携わる。 大学受験進学塾「広大研」の数学科講師としてのスキルも生かし、教材作成力と指導力を駆使して、小中高生のプログラミンングへの好奇心とモチベーションを刺激するべく日々奮闘している。

- Comments -

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Copyright© TechChance! 公式ブログ , 2019 All Rights Reserved.