プログラムでMinecraftを操作するプラットフォーム - Minecraftではじめるプログラミング(1)

こんにちは、さくらインターネットの大喜多です。

今回から数回にわたり、Minecraftを使ったプログラミングについてご紹介いたします。よろしくお願いいたします。

Minecraftとは?

『Minecraft』は、NotchことMarkus Persson氏と、彼が設立した会社・Mojang AB(現在はマイクロソフトの子会社)の社員が開発したサンドボックスゲームです。サバイバル生活を楽しんだり、自由にブロックを配置し建築等を楽しむことができるコンピュータゲームです。ゲームとして楽しむほか、プログラミングやアクティブ・ラーニングなどの教育分野においても有用であるとされており、授業や学習に取り入れられているケースがあります。

Minecraftでプログラミングをするには?

基本的にはMinecraftそのものにはプログラミングをする機能はついておらず、MODと呼ばれるMinecraftの機能を拡張するソフトウェアや、外部ソフトウェアを使うことでプログラミングができるようになります。ここではその中からいくつかをご紹介いたします。

Code Connection for Minecraft

Minecraft for Windows 10と接続して、プログラミングによるMinecraftの操作を実現するソフトウェアです。マイクロソフトが提供するブロックプログラミング環境「MakeCode」のほか、Scratch、Code.org、Tynkerなどを使ってプログラミングすることも可能です。次回以降はCode Connection for Minecraftを使ってプログラミングするための手順について紹介していきます。

ComputerCraft/ComputerCraftEdu

Minecraft: Java Editionで利用できるMODとして提供されています。ComputerCraftはLua言語を使ったプログラミング、ComputerCraftEduは独自のブロックプログラミングができる環境を提供します。MODを利用するためにMinecraft Forgeが必要になります。

Scratch2MCPI

Raspberry Pi上のScratchからMinecraft Pi Edition(Raspberry Pi版のMinecraft)を操作できるようにするプログラムです。

Minecraft Hour of Code

Minecraftの世界観を題材とした、ブロックプログラミングでパズルを解いていく教材です。ここまでで紹介した他のソフトウェアが、Minecraftのワールド上でプログラミングすることを前提にしているのに対して、こちらはMinecraftの世界観を用いた全く別物のプログラミング教材だと言えます。

MinecraftのEditionの違いについて

MinecraftにはいくつものEditionが存在します。ここで紹介したソフトウェアがどのEditionに対応しているのかをまとめました。

ソフトウェア名 対応しているEdition Editionの説明
Code Connection for Minecraft Minecraft for Windows 10 Windows Storeで入手(有償)
ComputerCraft/ComputerCraftEdu Minecraft: Java Edition MojangのWebサイトで入手(有償)
Scratch2MCPI Minecraft Pi Edition aptコマンドでインストール(無償)

※このほか、教育機関向けに‎Minecraft: Education Editionというものも提供されています。
※その他多くのEditionが存在しますが、本記事で紹介したソフトウェアが対応しているEdition以外の紹介はここでは省略させていただきます。

セットアップの容易さ

ブラウザのみで動くMinecraft Hour of Codeは例外として、他のソフトウェアを利用する場合はMinecraftのセットアップと、各ソフトウェアのセットアップが必要になります。

一番セットアップが容易なのはCode Connection for MinecraftMinecraft for Windows 10の組み合わせです。どちらもバージョンなどを意識する必要がなくインストールすれば動きます。

ComputerCraft/ComputerCraftEduMinecraft: Java Editionの組み合わせは、Minecraft Forgeが必要であったり、バージョンを意識してセットアップする必要があるなど、やや難解な点があります。またMinecraft Forgeはアンチウイルスソフトやブラウザによってはブロックされることもあるのでその点も注意が必要です。

Scratch2MCPIMinecraft Pi Editionの組み合わせは、Raspberry Pi(Raspbian)自体を管理するためにLinuxの知識が必要になるため、他の組み合わせと比較すると(特に学校現場で採用するのは)難しいでしょう。

できること・できないこと

Minecraftを使ったプログラミングには、いくつかの制約事項があります。

  • Minecraft Pi Editionのみ無償ですが、代わりにクリエイティブモードのみとなっています(通常のゲームモードがありません)。プログラミングを体験するという目的では問題ないと思いますが、念のためご承知おきください。
  • マルチサーバーへの接続が可能なのはMinecraft: Java Editionのみですが、ComputerCraft/ComputerCraftEduの対応バージョンが1.8.9と古いため、さくらのGaming Scriptで構築したマルチサーバーには接続できません。

まとめ

というわけで、第1回となる今回は、Minecraftでプログラミングを体験するための環境はいくつかの種類があること、それぞれに特徴があること、などをご紹介しました。できる限り一覧性の高い記事を目指して書きましたが、他にもMinecraftのプログラミング環境があるよ!という方はぜひ編集部大喜多宛(knowledge-ml[at]sakura.ad.jp)にご連絡いただければと思います。次回からは、Code Connection for MinecraftMinecraft for Windows 10の組み合わせのインストール方法や使い方についてご紹介してまいりたいと思います。