マインクラフト(Minecraft)をプログラミング教材として利用する(準備編)

2019年6月17日

はじめに

数年前にMicrosoftのイベント会場でMinecraftのプログラミング教材のデモをやっていて、少し触らせてもらったことがあるのですが、マウス操作で「繰り返し」とか「ブロックを積む」とかのピースを並べて配置するだけで簡単にMinecraftの画面上でキャラクターが指示した通りに動いて、ふつうに「すげー」と思っていました。

子供も小学4年生になって、学校でもプログラミングの授業が5年生くらいから始まるとのことで、少しこの「Minecraftでプログラミング」について調べてみました。

自分の誤解

どうやらMinecraft Education Editionというものがあって、プログラミングの学習とかは製品版ではなくて、こちらのEditionを利用しないとダメなんだと(勝手に)思っていました。

Education Editionは学生及び学校関係者のみの利用が可能で、どうやってもサラリーマンの自分には縁がなく、子供が小学校でMinecraftがプログラミング教材として採用されたなら利用できるものだと思っていました。

しかし、実はEducation Editionは教育現場様に先生が生徒の画面をミラーしたり、リモート操作できたりといったアシスト機能が追加されていたり、チュートリアルが充実してたり、利用料金が安かったりといった違いがあるだけで、金に糸目を付けなければ(自分で製品版を購入すれば)、別に製品版のMinecraftで同等のプログラミング学習ができるということを最近しりました。

プログラミング学習をするには

以下のものがあれば、大丈夫そうです。

  • Windows 10が動作するPC
  • Minecraft for Windows 10
  • Code Connection for Minecraft

Minecraft for Windows 10は\3,150です。Code Connection for Minecraftは無料でダウンロード可能です。両方共Windows 10のMincrosoft Storeからインストールします。

色々な記事を見ると、Education Editionには化合物の合成ができるようになって、自分で色々と化学の実験もできるとありますが、実はMinecraft for Windows 10(Bedrock Editionともいいます)にも同じ機能が含まれています。

プログラミング学習の準備

早速準備しましょう。子供に使わせる前に、まずは事前準備として試してみます。

Minecraftで新しいワールドを作成

はじめにMinecraftアプリを起動して、最初の画面で「新しく作る」をクリックします。

「世界を新しく作成」をクリックします。

ゲームの設定
「世界の名前」は適当に。
「デフォルトゲームモード」は「クリエイティブ」を選択。
「難易度」は「イージー」を選択。
「開始時のちず所有」は有効に。

(つづき)
「世界のタイプ」は「フラット」を選択。
「座標を表示」をチェック。

(つづき)
「Education Edition」を有効にすると化学式が使えるようになるので、一応チェック。
「常に昼間」をチェック

最後に「作る」をクリックしてワールドを生成します。

無事平面で何か動物が遠くに見えますが、Minecraftのワールド設定はできました。

Code Connection for Minecraftの起動と接続

Code Connection for Minecraftを起動すると、環境によってはWindows 10のファイアーウォールの設定を有効にするか確認画面が開きますので、こちらは許可にします。(画面キャプチャなくてすみません)

続いて以下の画面がでるので、書類アイコンをクリックして文字列をクリップボードにコピーします。

Minecraft側の画面に戻って、キーボードから「T」もしくは「Enter」を押してチャット入力画面モードになったら、下の入力フィールドにカーソルを合わせて(中をクリックして)、「Ctrl」+「C」で先にクリップボードにコピーした接続文字列をペーストします。

最後に「Enter」を押すと、Cone Connection側の画面が切り替わるので、「試用するエディタ」では「MakeCode」をクリックします。

無事Code Connection(MakeCode)とMinecraftが繋がって準備ができました。

動かしてみる

チュートリアルも色々充実していて、良いのですが。残念ながら現時点ではチュートリアルの説明文は全て英語となっており、このまま小学生の子供に「ほらよ」って渡すわけにはいかなそうです。

各社から日本語の書籍がすでに色々出ているようですが、とりあえず今回は自分でプロジェクトを一つ作って動かしてみます。

「新しいプロジェクト」をクリックします。

エディタを駆使して以下のようなロジックを作成しました。

エージェントといわれるプレイヤーの相棒がいるので、こいつを操作します。

Minecraftのチャットコマンドで「round」と入力されたら、このエージェントを自分の目の前に連れてきた後に、周りを5ブロックずつ一周させるプログラムをかきました。

実行は先と同様に「T」か「Enter」でチャット画面を開いて、入力欄に「round」と入力するだけです。

すぐにエージェントがプログラミングされた通りにアクションします。

Java Scriptでも書けるらしい

Code Connectionの画面上部の「{}」アイコンをクリックすると、作成したプログラムのJava Script版編集画面に切り替わります。

高度なことをする場合にはこちらを利用するのもいいのかも。

他に、簡単なコードの配布にも利用できそうです。

以下のコードをCode Connectionで新しいプロジェクトを開いて、Java Script編集画面で全てペーストすれば簡単に複製が可能です。

 player.onChat("round", function () {
    agent.teleportToPlayer()
    for (let i = 0; i < 4; i++) {
        agent.move(SixDirection.Forward, 5)
        agent.turn(TurnDirection.Right)
    }
})

複雑なロジックを大量に記述する場合でも、最初はビジュアルな編集画面でベースを作って、Java Script画面でコピペを利用すると捗りそうです。

おわりに

今回は「準備編」ということで、Minecraftのプログラミング環境の準備までを試しました。

子供に使わせるために、もう少し独自のチュートリアル作ったり、色々と調べておきたいと思います。