第13回
電子工作部

マインクラフトが現実を動かす!『Minecraft』のスイッチで現実世界のLEDを点灯させてみた

いわたん


マインクラフトが現実を動かす!『Minecraft』のスイッチで現実世界のLEDを点灯させてみた

どうも、DevRelチャンネル外部ライターのいわたん(@iwata_n)です。Minecraftにハマっている組み込み系エンジニアです。

Minecraftをプレイしながら思いました。「ああ、ゲームの世界と現実をつなげられたらおもしろそうだな」と。みなさんもそう思いませんか?

ということで今回は、世界で大人気の箱庭ゲーム「Minecraft」と、アプリで操作できるマイコンボード「Wio Node」を使い、仮想世界と現実世界をつなげるデバイスを作ってみようと思います!

みんな大好き「Minecraft」のおさらい

minecraft

https://minecraft.net/en/

今回、現実世界とつなげる仮想世界として、みんな大好き「Minecraft」を利用します。簡単に説明すると、立方体の箱を組み合わせて自分だけの箱庭を作るというゲームです。

何でも作れる自由さと、無限にフィールドを探索でき冒険心をくすぐる仕組みで、2016年7月現在これまでに約2,400万個のゲームが売れるなど世界中でかなりの人気を博しています(参照)。

 
minecraft-1106253_1280

▲こんなのを作れるのがMinecraft

何度もクリーパーによって家を壊され、どこから打たれているのか分からないスケルトンに苦戦し、建築中に高所から落ちて死ぬMinecraft。オオカミ2匹を手懐けることに成功した時はこれで繁殖ができる!と喜ぶMinecraft。Minecraftをプレイしている人なら分かるかと思います。

そんなMinecraftですが、拡張性の高さや、ゲームの人気もあり、最近では「Project Malmo」という、Minecraft上でAIを作るプロジェクトにも利用されています。

また、MODと呼ばれる拡張機能を追加することも可能です。今回はMODを作成し、Minecraft内で起きたイベントに応じて現実世界にもイベントが起こるようにします。ちなみに自分は、Minecraftとモノが繋がる世界を勝手に「Minecraft of Things(MoT)」と呼んでいます。

こんなのが作れます

Minecraftの中でレッドストーン回路を使い、ブロックに入力すると現実世界のLEDが点灯します。1~2時間ほどで作り上げることができました。

今回使うもの

作り方

おおまかには以下の手順で作っていきます。

  1. WioNodeをセットアップ
  2. Minecraft Forgeの開発キットのセットアップ
  3. MODの開発

それでは作っていきましょう!

1. Wio Nodeのセットアップ

WioNode

まずは、ブレッドボード上にLEDを配置します。
抵抗やジャンパワイヤを写真のように刺してみてください。

 

IMG_20160721_212723

実際に配線した写真がこちらです。

次にWio Nodeの設定をします。今回は、Wio NodeのD0にLEDを配線します。こちらの記事の「1. Wio Nodeのセットアップ」を参考にしてみてください(1-4だけ変更となります)セットアップが完了したら、

 
LEDのカソード側(写真では黒いジャンパワイヤ)をGroveのケーブルの黒色へ、LEDのアノード側(写真では黄色のジャンパワイヤ)をケーブルの黄色へと接続します。

配線後に、アプリからD1にGeneral Digital Outputを設定します。

 

Screenshot_20160721-122727

上記のスクリーンショットのように設定します。

2. Minecraft Forgeの開発キットのダウンロード

Minecraft_Forge

Wio Nodeのセットアップが終わったら、Minecraft Forgeの開発キット(MDK)を公式サイトよりダウンロードします。

今回は、2016年7月現在で最新の1.10.2を使用します。

注意
もし、バージョンが違っている場合には「Minecraft Versions」から選択することが可能です。Minecraft Forgeはバージョンごとで使えるAPIが変わることが多いため、別バージョンだと本手順が異なる可能性があります。

 
Screen Shot 2016-07-14 at 20.31.37

ダウンロードしたMDKを解凍します。

IntelliJで開く

ダウンロードしたプログラムは、JetBrainsが開発しているIDE「IntelliJ」で開きます。

まずターミナルなどでファイルがある場所まで移動し、以下のコマンドを実行します。OSに合ったコマンドを実行してください。Windowsの場合は以下です。

gradlew setupDecompWorkspace

Linux/Mac OSの場合は以下です。

./gradlew setupDecompWorkspace

 
Screen Shot 2016-07-14 at 23.53.59

コマンドが成功したら、IntelliJでプロジェクトをインポートします。

 
Screen Shot 2016-07-15 at 00.10.58

この際に、build.gradleを選択するように注意してください。

 
Screen Shot 2016-07-15 at 00.11.10

この画面では、そのままOKボタンをクリックします。

注意
使用している環境によってはJVMが入っていない可能性がありますので、その場合はJVMのインストールをおこなう必要があります。ダウンロードは下記リンクからおこなえます。
http://www.java.com/ja/download/

インポートが完了したら、ターミナル等で以下のコマンドを実行してください。Windowsの場合は以下です。

gradlew genIntellijRuns

Linux/Mac OSの場合は以下です。

./gradlew genIntellijRuns"

以下のような出力があれば成功です。

~略~
#################################################
         ForgeGradle 2.2-SNAPSHOT-0447b4e
  https://github.com/MinecraftForge/ForgeGradle
#################################################
               Powered by MCP unknown
             http://modcoderpack.com
         by: Searge, ProfMobius, Fesh0r,
         R4wk, ZeuX, IngisKahn, bspkrs
#################################################
:genIntellijRuns

BUILD SUCCESSFUL

Total time: 37.125 secs

This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.7/userguide/gradle_daemon.html

 
Screen Shot 2016-07-15 at 00.46.17

IntelliJが警告を出すことがあります。これは、IntelliJ以外でプロジェクトファイルが変更された場合に出てくる警告なので問題ありません。「Yes」を選択します。

 
Screen Shot 2016-07-15 at 00.12.15

ここまでの工程が正常に終了すると、上のような構成になります。

 

Screen-Shot-2016-07-15-at-01.04.35

右上の実行構成を選ぶコンボボックスから「Minecraft Client」を選択し、実行ボタンを押します。

 
Screen Shot 2016-07-15 at 00.55.08

このとき、画像のようなエラーが出た場合、「Minecraft Client」から「Edit Configurations……」を押してClasspathの設定をおこなう必要があります。

 
Screen Shot 2016-07-15 at 00.55.31

上記のように「Use classpath of module:」で「forge-1.10.2-12.18.1.2014-mdk_main」を選択します。

実行ボタンを押すことでMODが導入されたMinecraftが起動します。これで、開発するための環境が整いました。

1 2
いわたん
この記事を書いた人

関連記事