プログラミングはマインクラフトで遊んで学ぶ!9つの方法

2018年11月21日

マインクラフトでプログラミング

マインクラフトでプログラミング学習に関する記事が人気なので読み返してみたのですが…

「なんか、難しく書いちゃってる?」と思えてきたんですよね。

マインクラフトでプログラミングをするには、スペックの高いパソコンが必要?

環境設定をするためにMODを入れたり他のソフトと連携したり、小難しいパソコンの設定をしないといけない?

月数千円の料金を払って動画講座を受講しないといけないの?

と、勘違いしてしまう方がいるんじゃないかと…

そんなことは全くないので!

今日は、マインクラフトでプログラミングを学ぶ(遊ぶ)のって、こんなにカンタンだし、お金もあまりかからない方法がたくさんあるよ、ということを改めて書いてみたいと思います。

書きたいことがたくさんあり、一度で書ききれないので、途中までですが一度アップします。今後、このページに追記したり、新しく記事を書いたりしていきたいと思っています。

Reproduction prohibited. Pinterestで当サイトの画像がたくさん公開されていますが、すべて無断転載で著作権侵害です。当サイトの画像等コンテンツの利用ルールはこちらに書いています。

マインクラフト×自学ノート

こんな記事もあります。好きなことを思いつくままにノートに書いてみましょう!

マインクラフトとは

もう知ってるよ!という方が多いかとは思いますが、軽く説明しておきます。

Minecraftは、Mojang Studiosという会社が開発しているサンドボックスゲームです。

パソコン、スマホ、タブレット、いろいろなゲーム機で、マインクラフトをプレイすることができます。

マインクラフトのゲームスタート

山や川、海などがある地形を生成させることもできますし、何もない平らな地面を生成させることもできます。

ゲームスタートすると、見知らぬ世界に、主人公=あなたはポンと放り出されます。地平線から太陽がのぼるのが見えるかもしれません。

マインクラフトの世界では、「しなければならないこと」はありません。何をするか、決めるのはあなたです。

マインクラフトはブロック遊び?

LEGOが大好きなお子さんも多いと思いますが、マインクラフトはLEGOのように、ブロックを積んだり、壊したりして遊びます。

「木のお家をつくりたい」

と思ったとき、木の壁に見立てる茶色いブロックがなかったらどうするでしょうか。

LEGOなら「茶色いLEGOブロックをおもちゃ屋さんで買う」ことになるでしょう。でもマインクラフトなら…

あたりを見渡すと、木があります。

木の他に、石、金属、ガラスなど、家を作る材料はいろいろあります。さらに、

「いや待てよ。もう夕方だから、ベッドで寝て、朝になってから木を切りにいこう」

と考えたりもします。

木を切っている間にモンスターが出るかもしれませんし、おなかがすくかもしれません。いろんなことを考え準備よく行動して、木を切り、家を作っていくんです。

Minecraftで、たとえばこんなことができます

  • 家を建て、畑を作り、動物を飼い、釣りをしてスローライフを楽しむ
  • ツリーハウス、遊園地、お城、都市…大規模な建築に挑戦
  • 地下をひたすら掘り、レアアイテムを発掘。巨大倉庫を作り分別収納する
  • 強い武器や防具を作り、モンスターと戦う。ラスボス的なモンスターも存在する
  • 海底神殿、ピラミッド、ジャングルの寺院…世界のどこかにあるという遺跡を探す旅に出る
  • ミニゲームを遊ぶ(アスレチック、PVPなど多彩なミニゲームがある)
  • レッドストーン回路を駆使して鉄道網や様々な装置を作る

マインクラフトでプログラミングを学ぶとは

いまは、小学校でもプログラミングが授業に取り入れられています。

習いごととして子供にプログラミング学習をさせたいと考える親御さんも多くなっています。そのような流れのなか、子供がプログラミングを学ぶための教材として、マインクラフトが注目されているんです。

ただ、一口で「マインクラフトでプログラミングを学ぶ」といっても、その方法はたくさんあります。

  • マインクラフトのゲームの世界観を取り入れたプログラミング学習アプリ
  • マインクラフトのゲームにもともと含まれている要素を使ってプログラミング学習をする
  • マインクラフトと他のソフト(MOD等)を連携してプログラミング学習をする

方法によって、できることや特徴、難易度がかなり異なっています。

それについて、ここから解説していきます。

マインクラフトの種類とバージョンについて

まず予備知識として、マインクラフトの種類とバージョンについて、軽く説明しておきます。

Minecraftには様々な種類があり、更新によって新しい機能が追加され続けています。

2020年5月現在のMinecraft Wikiの情報を参考に、一部を簡単にご紹介します。

名前 遊べる機種
Minecraft(統合版/Bedrock Edition) Windows10のパソコン、スマホ、ニンテンドースイッチ、プレイステーション4、Xbox One等
Minecraft:Java Edition Windows、Mac、Linuxのパソコン

その他に、Playstation Vita、Wii U、Nintendo 3DS等のゲーム機に対応したマインクラフトがあります。

同じマインクラフトでも、こういった種類によって、できること、できないことが多少違っています。

また、こういった様々な種類のマインクラフトが、それぞれ更新され続けていて、新しい要素が追加されたり、設定や操作の方法が変わったりすることがあります。

2020年5月時点では、次のようなことがいえます。

  • パソコンで遊べるマインクラフトには「Minecraft(統合版/Bedrock Editionともいう)」「Minecraft:Java Edition」の2種類がある。
  • 歴史が長く、それだけに様々なModがあり、拡張機能を追加して遊べるのはMinecraft:Java Edition
  • 動作が軽く、スマホ、ニンテンドースイッチ、パソコンでいっしょに遊べるのがMinecraft(統合版)
  • 後述する「Microsoft MakeCode for Minecraft」でプログラミングの学習が便利に楽しくできるのはMinecraft(統合版)

マインクラフトの種類やバージョンについて、さらに詳しい情報は、こちらでご確認ください。

Minecraft公式サイト

Minecraft Wiki

プログラミングをマインクラフトで遊ぶ方法

まずこのページでこれからご紹介していく方法の一覧です。

だいたい難易度が低い方から順に並べています。

どの方法でも、極めれば複雑なこともできますが、導入が簡単で基本的な操作を習得するまでが易しいものから順にだいたい並べたつもりです。

この中に、プログラミングの学習とはいえないものも含まれています。

たとえば、「1. マインクラフトで普通に遊ぶ」というのは、直接的なプログラミングの学習ではありません。でも、後で述べるように、マインクラフトで普通に遊ぶだけでも、様々な「いいこと」があると考えられます。

「3. マインクラフトのレッドストーン回路で遊ぶ」これもプログラミング学習というよりも、電気の回路に似たレッドストーン回路を使ってモノづくりをするということです。

このような、プログラミング学習に限らず、楽しく考えてモノづくりをすることによって学習効果があると思われる遊び方についてもご紹介していきます。

マインクラフトの世界観でブラウザで学ぶプログラミングのミニ講座

0.Hour of Code(アワーオブコード)


Hour of Code Minecraft(アワーオブコード/マインクラフト)

まずは、当サイトでこれまでもご紹介してきた「Hour of Code(アワーオブコード)についてです。

これは実は、マインクラフトというゲームは使用しません。マインクラフトの世界観を取り入れた、パソコンやスマホのブラウザで遊ぶことができる、プログラミングのミニ講座です。

ゲームのマインクラフトでおなじみのキャラクターが登場し、マインクラフトの世界でおなじみのブロックを置いたり壊したりしながら、楽しくプログラミング入門をすることができます。

  • 対象:小学校2年生以上
  • 端末:パソコン、タブレット
  • 言語:ビジュアルプログラミング
  • 料金:無料

インターネットに接続してブラウザで遊ぶスタイルが基本ですが、学校等での利用には、USBドライブにダウンロードして、複数のパソコンにインストールして遊ぶことができるオフライン版もあります。

公式サイトに「小学校2年生以上」と書いてあるんですが、親御さんがサポートしてあげれば、小学校に入る前のお子さんでも遊べると思います。プログラミングのはじめの1歩としておすすめです。

方法一覧に戻る

マインクラフトでプログラミングを遊んで学ぶ方法

ここからは、マインクラフトのゲームを使ってプログラミングを遊んで学ぶ方法をいろいろとご紹介していきます。

1.マインクラフトで普通に遊ぶ

マインクラフトのゲームを普通に遊ぶだけでも、学習効果があると言われています。

マインクラフトを(コマンドブロック等を使わず)普通に遊ぶだけでは、プログラミングの学習にはなりませんが、このような効果があると考えます。

  • 立体空間を把握する力がつく
  • 数を頭の中で操作する力がつく
  • やりたいことを見つける力がつく
  • 問題を発見し、解決方法を考え、計画し、実行する力がつく
  • 自分から集中して取り組む力がつく
  • 造形デザインの力がつく
  • (マルチプレイの場合)人と協力してモノづくりをする力がつく

先ほども書いたように、マインクラフトというゲームは、やらなければならないことが決まっていません。自分でやりたいことを探し、試行錯誤を楽しむゲームです。

たとえば、

「お城を作りたい」

と、やりたいことをイメージします。そこから、

  1. どこに作る?
  2. 建物のデザイン、設計は?
  3. 材料は何をどれぐらい必要?
  4. 材料をどうやって集める?
  5. 集めた材料を使う時便利なように保管する方法は?
  6. 効率的に作る方法は?

と考えて実行していきます。

さらに、サバイバルモードの場合は、食べ物を確保しなくてはなりませんし、襲ってきたり、家を破壊したりすることもあるモンスターへの対処を考えなくてはなりません。

対処方法は一つではなく、食べ物を例にすると…

リンゴ

  1. 木を切っている時にたまに落ちてくるのを拾う

パン

  1. 草を刈って種を集める
  2. 木を切って鍬を作る
  3. 畑をたがやして種まきをする
  4. 小麦を育てて収穫する
  5. 作業台でパンを作る

焼き魚

  1. 木と糸で釣り竿を作る
  2. 川や池、海で釣りをする
  3. 釣った魚はかまどで焼く(生で食べることも可)

焼肉

  1. 木と石や鉄で剣を作る。または木と糸で弓、木と羽と火打石で矢を作る(素手でも可)
  2. 野生のけものを狩る
  3. 肉を焼く(生で食べることも可)

等など、たくさんの方法があります。ちなみにケーキやパイ、きのこスープなども作れます。

周囲の環境によって、集めやすい素材が異なるので、臨機応変に暮らす必要があるんです。

モンスターへの対処方法も、「戦って倒す」だけではありません。

モンスターは暗いところに出現するので、「夜になったらすぐに寝る」(暗い時間を作らない)ためのベッドを作るという対処方法がまずあります。

また、たいまつやランプで居住空間の周囲を明るくしたり、柵や壁、堀を作ったりと、いろんな方法を工夫することができるんです。

このように、マインクラフトで遊ぶだけでも、じつにいろんなことを考えさせられます。それが楽しいのなんのって。

「学習効果がある」とはあまり書きたくないんです。子供を賢くさせるために、教材としてマインクラフトをやらせる、なんていうのは、なんだか違う気がします。

学習効果があろうがなかろうが関係なく、大人も子供もハマってしまうのがマインクラフトなんだと思います。

方法一覧に戻る

2.マインクラフトのコマンドで遊ぶ

マインクラフトには、ゲームの設定を変えたり、プレイヤーやアイテムの状態を変更したりできるコマンドがあります。

アルファベットや記号から成る「コード」を入力することによって、ゲームの世界に変更を加えられるんです。

他のソフトと連携させる必要はありません。マインクラフトの設定で、コマンドを使用できる設定を選ぶだけで、使うことができます。

コマンドを使って遊ぶことで、まるで魔法使いか神にでもなったような気分を味わいながら、プログラミングでどんなことができるのかを体験することができます。

コマンドを使うには、ゲームで「チート」を許可する設定を行う必要があります。

チートをオンにする方法や、使えるコマンドは、マインクラフトの種類によって違います。

(ここでは、パソコンで「Minecraft(統合版)」と「Minecraft:JavaEdition」を遊ぶ場合の操作について説明しています。スマホやゲーム機では画面表示や操作方法が異なるのでご了承ください)

Minecraft(統合版)でチートをオンにする方法

(Minecraft バージョン1.7.1をパソコンでの操作の例。他のバージョンの場合は、多少異なることがあります)

次のボタンを順にクリックします。

  1. 「遊ぶ」
  2. 「新しく作る」
  3. 「世界を新しく作成」

新しく作る世界の設定をする画面の「世界のオプション」のところで「チートの実行」をオンにします。チートをオンにするとXbox liveの実績を得ることができなくなる旨確認画面が出ますので、了承する場合は「続ける」ボタンを押します。

他の設定を好みによって行い、「作る」ボタンを押して世界を作ります。

Minecraft(統合版)でコマンドを入力する方法

キーボードで「t」を押すと、チャットウィンドウが画面の下に出ます。(ここにキーボードで文字を入力し「Enter」キーを押すと、チャットで発言をすることができます。つまり、画面に自分が入力した文字が表示されます)

「esc」キーを押すと、チャットウィンドウが消えて、通常のゲームの操作ができる状態に戻ります。

コマンドの入力の仕方

チャットウィンドウに、最初に「/」(スラッシュ)を入力してからコマンドを入力し、エンターキーを押すとコマンドが実行されます。


チャットウィンドウに「/weather rain」と入力している。この状態でキーボードの「Enter」キーを押すと…

Minecraft:JavaEditionでチートをオンにする方法

次に、Minecraft:JavaEditionでチートをオンにする方法を説明します。

(Minecraft JavaEditionバージョン1.13.2での操作の例です。他のバージョンの場合や、MODを入れている場合は、多少異なることがあります)

次のボタンを順にクリックします。

  1. シングルプレイ
  2. ワールド新規作成
  3. その他のワールド設定

「チートの許可:オフ」と書いてあるボタンを押し「チートの許可:オン」に変更します。他の設定を好みによって行い、「完了」を押します。

ワールド新規作成の画面に戻るので、「ワールド新規作成」ボタンを押します。

Minecraft:JavaEditionでコマンドを入力する方法

上で紹介した「Minecraft」(統合版)と同じです。

チャットウィンドウのデザインはこのように、少し違っています。

コマンドでできること

簡単に使うことができて、効果を確認しやすいコマンドをいくつかご紹介します。

/difficulty

ゲームの難易度を設定する

難易度ハード /difficulty hard
難易度ノーマル /difficulty normal
難易度イージー /difficulty easy
難易度ピースフル /difficulty peaceful

hardを「h」「3」等と省略形で書く方法もありますが、省略形は今後のアップデートでいずれ使えなくなるとのこと。

/gamemode

ゲームモードを設定する

クリエイティブモード /gamemode creative
サバイバルモード /gamemode survival
アドベンチャーモード /gamemode adventure
スペクテイターモード /gamemode spectator

対象を指定することもできる。対象を指定しない場合は「自分」が対象となります。

例)「taroというプレイヤーのゲームモードをアドベンチャーモードにする」

/gamemode adventure taro

例)「プレイヤー全員をサバイバルモードにする」

/gamemode survival @a

「@a」は「全員に」という意味の記号です。

/help

コマンドの一覧を表示する。

/tell

指定したプレイヤーにメッセージを送る

例)taroというプレイヤーに『hello!』というメッセージを送る

/tell taro hello!

この時、メッセージを送った方の画面には「taroにささやきました:hello!」と表示されます。メッセージを送られた方の画面には「(あなたの名前)にささやかれました:hello!」と表示されます。

例)全員に「help me!」というメッセージを送る

/tell @a help me!

「@a」は「全員に」という意味の記号です。

/time set

指定した時間になる。数値で指定することもできますが、ここでは簡単に朝、正午、夜に変更する方法を紹介します。

朝にする /time set day
正午にする /time set noon
夜にする /time set night
/weather

指定した天候になる。

晴れにする /weather clear
雨にする /weather rain
雷雨にする /weather thunder

雨は寒冷地では雪になります。雷雨は寒冷地では雷をともなう雪になります。

その天候が続く時間を指定することもできます。Java Editionは「秒数」、統合版は「秒数×20」の数字を入れます。指定しない場合は、約5~15分間続きます。設定で「天候の変化」をオンにしている必要があります。

例)雨を10秒間降らせる

統合版の場合: /weather rain 200
Java Editionの場合: /weather rain 10

ここに紹介しているコマンドは、Minecraft(統合版/1.7.1)と、Minecraft:JavaEdition(1.13.2)とどちらでも使えるものです。どちらかしか使えないコマンドや、使い方が異なるコマンドもあります。また、今後バージョンアップにより変更となる可能性があります。2018年11月時点での情報である点をご了承ください。

簡単なものだけを紹介しましたが、コマンドはもっとたくさんあります。

  • 指定したアイテムを好きな数だけプレイヤーに与えるコマンド
  • 指定した位置にプレイヤーをテレポートさせるコマンド
  • 今いる場所から一番近い、海底神殿や村等の座標を表示させるコマンド
  • 経験値を好きなだけプレイヤーに与えるコマンド

などなど…


今いる場所から一番近くの海底神殿の座標を表示させています。

/locate monument

使いこなせば、個性的なゲーム世界を構築することも可能です。

ブロックを置くコマンドについての記事

ここまで紹介した以外にも、マインクラフトにはたくさんのコマンドがあります。

建築に使える、ブロックを置くコマンドもあります。

setblockすきな場所にブロックを1つ置く
fillすきな場所に複数のブロックをまとめて置く

これらのコマンドについては短く説明するのが困難だったので、使い方を説明した記事を別に書きました。コマンドによる整地や建築に興味がある方は、こちらも見てみてくださいね。

「/help」または「/?」でコマンドの一覧を表示させることができます。

また、コマンドを入力しようとすると、コマンドの一覧や、次に入力するべき文字の候補が表示されるので、コマンドのつづりを正確に覚えていなくても、見ながら入力できるようになっています。

もっと詳しく知りたい方は、Minecraft Japan Wikiのページをご覧ください。

Minecraft Japan Wiki Minecraftのコマンドに関するページ

チートのオン/オフを切り替えて

このように、マインクラフトのコマンドを利用することで、ゲームを自分の好きなように作り変えて遊ぶことができます。

こうして遊ぶことで、いつも遊んでいるゲームやアプリが、プログラミングで作られているということが、自然と理解できるのではないでしょうか。

ただし、コマンドを利用をしてアイテムや経験値を手に入れたり、特定の敵をキルしたりできるということは、サバイバルゲームとしてのやりがいやスリルはなくなります。

ゲームを作ったり、プログラミングの学習をしたりという目的の時だけチートをオンにするのがいいと思います。

方法一覧に戻る

…と、今日はここまでとして、記事を投稿します。

以下の章は、今後それぞれ別のページに書いていく予定です。2019年3月5日、すべての章をやっと完成させました。ずいぶん時間がかかってしまいましたが、とても楽しく記事作成できました。興味をひかれるタイトルがあれば、ぜひ読んでくださいね。

3.マインクラフトのコマンドブロックで遊ぶ

4.マインクラフトのレッドストーン回路で遊ぶ

5.マインクラフトMicrosoft MakeCode for Minecraftで遊ぶ(おすすめ)

6.マインクラフトをLuaプログラミングで遊ぶ

7.マインクラフトをスクラッチで遊ぶ

8.マインクラフトをPythonプログラミングで遊ぶ

マインクラフトはやりたいことをやるゲーム

私もマインクラフトと数年前に出会い、ハマりました。

一時期子供と一緒に、かなりの規模の村を作っていました。モンスターが怖い初心者らしく、たいまつだらけ、柵だらけの村でしたね。

今でも、子供と「あの最初に作った家覚えてる?」「あの頃はモンスターが怖かったよね~」なんて会話をして笑いあうことがあります。何年も前のことなのに、子供も意外とよく覚えているので驚きます。

たかがゲームかもしれませんが、協力してモノづくりをしたことは、あたたかい思い出になるんですね。

「〇〇をしなさい」と指示をあたえられ、それを上手にこなすことばかりを、いまの子供は求められています。

それに対して「やりたいことをやる」経験をさせてくれるのがマインクラフトなんじゃないかなと思います。

お子さんは、自分の家や学校を再現した建物を作ろうとするかもしれません。

動物園や遊園地を作るかもしれません。

鉄道網を作り、もっと便利にしたくなって「レッドストーン回路の本を買って」と言い出すかもしれません。

(でももしも子供が何も作らず、延々と整地ばかりしていたとしても、「もっとクリエイティブな遊び方をしなさい」などとは、言わないであげてください。私も、地下からただひたすら「砂利」を抜き取っては倉庫に収める作業を延々とやって、子供に気味悪がられますが、放っといてください(^-^; これが楽しいんです)

これからもマインクラフトについて記事を書いていきますので、またチェックしてくださいね。