Minecraftとは
Minecraftは、PCだけでなくNintendo SwitchやPlayStation 4など様々なプラットフォームで遊ぶことの出来る子供に人気のゲームです。
ゲームの世界は、鉱石や水、植物など様々なブロックで構成されており、キャラクターを操作してブロックを加工したり配置したりすることで家などの建造物を作ったりして楽しむことが出来ます。
Minecraftでは、ブロックを配置する操作をAI開発などでよく使われるPythonや子供向けのScratchというプログラム言語などを使って行うことが出来ます。
日本でも小学校からプログラム授業が必修化されSTEM教育が注目されていますが、子供が好きなMinecraftで興味を持たせて遊びながら学んでいくことが出来る教材にすることが出来ます。
MinecraftのEdition
Minecraftには数多くのEditionがありますが、プログラムを行うことの出来るEditionとして下の表のようなものがあります。
Edition | 購入先 | 内容 |
---|---|---|
Minecraft Windows 10 スターター コレクション | Windows10で動作可能なEditionです。 Nintendo Switch版など別の機種のプレーヤとクロスマルチプレイを行うことが出来ます。 Code Connection for MinecraftをインストールすることMinecraftをプログラムで操作することが出来ます。 | |
Minecraft Java Edition | amazon等から購入するより公式のページの方が安いようです。 | Windows、Mac、Linuxで動作可能なEditionです。 MODを入れることでMinecraftを拡張することが出来ます。 ForgeをインストールしComputerCraftやComputerCraftEduを入れることでMinecraftをプログラムで操作することが出来ます。 |
Minecraft Pi Edition | コンピュータ教育などに使用される安価なコンピュータであるRaspberry Piがあれば無料で利用出来るEditionです。 他のEditionと比較して機能が限定されているのとアップデートが行われなくなっていますが、プログラムを勉強するには十分なEditionです。 mcpiやScratch2MCPIをインストールすることMinecraftをプログラムで操作することが出来ます。 |
Raspberry Piの準備
今回は、コンピュータ自体の勉強もかねてRaspberry Piを準備するところから始めて、Raspberry Piがあれば無料で利用出来るMinecraft Pi Editionを使ってプログラムを勉強出来るようにしていきます。
最初にRaspberry Piの準備が必要なのですが、Raspberry Piとは、元々教育で利用されることを目的に開発された数千円程度で購入可能なコンピュータで、パソコンとして使用したり、電子工作キットなどと組み合わせることでロボットを作ったりすることが出来ます。
今回は、Minecraftでプログラムするためのパソコンとして組み立てていきます。
ある程度コンピュータに関する知識がある場合は、自分でケースや電源ケーブルなど必要な部品を選んで作っていくのも楽しいですが、あまり知識がない場合は、必要な部品が一通り揃ったスタータキットを使用するのがお手軽でお勧めです。
まずは、スタータキットで組み立ててみて、ある程度コンピュータの知識がついてきたら電子部品を追加購入して自分好みにカスタマイズしてみたりすることでコンピュータの知識を効率的に深めていくことが出来るのではないかと思います。
Raspberry Piを操作するには、モニタ、キーボード、マウスが必要になってきます。
モニタについては、HDMI端子のついているテレビに接続することで表示することができます。上に紹介しているスタータキットであれば、テレビに接続するためのHDMIケーブルも含まれています。
キーボードとマウスは、Bluetoothなどの無線方式だとRaspberry Piに認識されない場合があるので、コンピュータに詳しくなく自分で解決出来ない可能性がある場合は、USBの有線方式のキーボードとマウスを安いものでいいので購入しておくことをお勧めします。
今回購入したスタータキットとキーボードです。スタータキットには、ドライバも含まれていたので特に何も用意しなくても組み立てが出来ます。

スタータキットに含まれている取扱説明書に従って組み立てていきます。

30分もかからず完成してしまいました。

Raspberry Piを起動するには、SDカードにRaspberry Pi OSがインストールされているか必要があります。
上で紹介したRaspberry Piスタータキットであれば、最初からSDカードにRaspberry Pi OSがインストールされているのでインストールするためのパソコンがない場合やコンピュータに詳しくない場合は、スタータキットを使用するのが無難です。
インストールされていない場合は、ここからRaspberry Pi ImagerをダウンロードしてSDカードにインストールします。
準備が整ったらRaspberry PiにSDカード・キーボード・マウス・電源ケーブル・HDMIケーブルを接続し電源を入れます。
しばらく待っているとRaspberry Pi OSが起動し、下のようなデスクトップ画面に「Welcome to Raspberry Pi」ウィンドウが表示されます。
「Welcome to Raspberry Pi」ウィンドウをNaxtボタンで進めていくと国や言語、時刻の設定、パスワードの設定、Wi-Fiの設定、OSの更新などを行った後、再起動を行いRaspberry Pi OSの基本的な設定は完了となります。
あまりないと思いますが、LXTerminalでsudo -i piwiz
コマンドを実行すると「Welcome to Raspberry Pi」ウィンドウを再表示することが出来ます。

プログラムの準備
Raspberry Pi OSのインストールが完了したのでMinecraftをプログラムから操作するための準備を行っていきます。
デスクトップの左上にあるをクリックしてメニューを開くと「プログラミング」の中にPythonやScratchといったプログラム言語、「ゲーム」の中にMinecraft Piがすでにインストールされています。


プログラムからMinecraftを操作するには、AI開発などでよく使われるPythonの場合はmcpi、子供向けのScratchの場合はScratch2MCPIというMinecraftとプログラム言語の間を仲介するソフトウェアが必要になります。
mcpiは、最初からインストールされていますが、Scratch2MCPIは、インストールされていないのでLXTerminalでコマンドを入力してインストールを行う必要があります。
まずは、下の赤枠で囲まれたアイコンをクリックしてLXTerminalを起動します。

起動すると下のようなウィンドウが表示されます。

ここにsudo curl http://scratch2mcpi.github.io/install.sh | sh
とコマンドを入力し、Enterを押すとインストールが開始されます。
デスクトップに「Scratch2MCPI」と「Scratch2MCPI Terminal」の二つのショートカットが作成されインストールは完了です。

ScratchでMinecraftを操作
ここまでの準備でScratchを使ってMinecraftを操作出来るようになったはずですので、簡単なプログラムで確認してみます。
デスクトップの左上にあるをクリックしてメニューから「ゲーム」ー「Minecraft Pi」をクリックします。

Minecraft Piが起動すると下の画面が表示されるので「Start Game」をクリックします。

画面が切り替わるので「Create new」をクリックし、Worldを作成します。

Worldの作成が完了すると下のような画面が表示されます。表示される内容は、Worldの作成結果によってランダムになります。

Minecraftの準備が完了したのでScratchをMinecraftに接続します。
まずは、「Tab」キーを押してMinecraftから抜け、デスクトップにある「Scratch2MCPI」をダブルクリックします。

下のようなメッセージが表示されるので「実行(E)」をクリックします。

下の画面のようにScratchとターミナルがMinecraftに接続された状態で起動します。

Scratchのウィンドウにある緑の旗をクリックします。

緑の旗をクリックするとScratchにサンプルで作成されている下のプログラムが実行されます。
このプログラムは、記述通りで緑の旗がクリックされると「hello minecraft」という文字をMicecraftに送るという意味になります。

Scratchのプログラムが実行された結果、Minecraftの画面に「hello minecraft」と表示されます。

これでMinecraftとScratchが接続出来ていることが確認出来たので、Scratchを使ってプログラムの学習を開始することが出来るようになりました。
PythonでMinecraftを操作
上ではScratchを使ってMinecraftの世界に「hello minecraft」と表示しました。これと全く同じことをPythonを使って行います。
デスクトップの左上にあるをクリックしてメニューから「プログラミング」ー「Thonny Python IDE」をクリックします。

Thonny Python IDEが起動し、下の画面が表示されます。
Thonny Python IDEは、Pythonでプログラムを行うための初心者向けの統合開発環境=IDEと呼ばれるものになります。この画面でプログラムのコーディングを行ったり、デバッグと呼ばれるプログラムが正常に動くかの動作確認作業などを行っていくことになります。
IDEとして有名なものは、Microsoft社のVisual StudioやVS Codeといったものがあります。多くの場合、プログラムの開発はIDEを使って行うことになります。IDEについては、ここを参照してください。

Thonny Python IDEのテキスト編集領域に下のプログラムをコーディングします。
このプログラムは、最初のimport mcpi.minecraft as minecraft
でPythonのプログラムでMnecraftを操作するための機能を追加しています。
次のmc = minecraft.Minecraft.create()
でMinecrafへ接続しています。
最後のmc.postToChat("hello minecraft")
でMinecraftへ「hello minecraft」を送る処理を行っています。
import mcpi.minecraft as minecraft
mc = minecraft.Minecraft.create()
mc.postToChat("hello minecraft")
コーディングが出来たら、Thonny Python IDEにあるをクリックして「hello-world.py」と名前をつけてOKをクリックしプログラムをファイルに保存します。

Minecraftを起動し、Worldが表示された下の状態にします。

これでプログラムを実行する準備が出来たので、Thonny Python IDEにあるをクリックして実際にプログラムを実行するとMinecraftの画面に「hello minecraft」と表示されます。

これでScratchに続き、PythonでもMinecraftを使ってプログラムの学習を開始することが出来るようになりました。
Comment