C#でのマイクラプログラミングに向けて・・・

「マイクラプログラミング」で色々調べてみると、PythonJavaScriptJava あるいはビジュアルプログラミングの資料が色々でてきます。また、Minecraft Education Edition または Win10版 にて MakeCode for Minecraft というアプリを使用すれば JavaScriptPython でプログラミングができます。しかし、Education Edition は学生アカウントが必須のため、一般の人や学生アカウントがない場合は残念ながら利用することができません。

さらに、JavaMinecraft にはプログラミング学習教材がMod開発 or プラグイン開発しかなく、Forgeのファイル構成を知らないと手のつけようがないので初心者にはかなりハードルが高いと思います。

したがって、問題点は

  • Minecraftプログラミングには C# を使うものがない
  • Education Edition は学生アカウントが必須
  • Java版はMod開発 or プラグイン開発しかない

の3つです。これを解決するには

  • Minecraftプログラミングに C# を使えるようにする
  • 学生アカウントが必要ない Java 版をターゲットにする
  • Mod開発、プラグイン開発以外の「何か」を作る

ということになります。そこで私は Minecraft with Code Project を進めてきたわけです。

ここまでの道のり

記念すべき初のプロジェクトは「マイクラ自動化」でした。以前にも記事にしましたが、ネタは「くらでべちゃんねる」を参考にしました。動画では Python でしたが、これを C# でできれば面白いと思い、色々調べてみました。そんなとき、見つけたのが xin9le さんの記事です。

blog.xin9le.net

この記事を見て、CoreRCON というライブラリを使用すればマイクラにコマンドを投げられることを知りました。

そこからは CoreRCON を使用しながら様々なコマンドを試していき、「何がどこまでできるのか」を色々と考えていました。自動化というのはこの工程のことですね。

ライブラリ公開へ

CoreRCON を使い続けていくのも良いのですが、「非同期処理わからん」や「マイクラのコマンド知らん」という人がいると思います。また、CoreRCONはマイクラ用に作られたものではなく、RCONプロトコルによる通信を行うためのものです。

そこで、「マイクラC#プログラミングができるようなライブラリを作ってしまえば良いのでは!」という考えに至りました。そして作ったのが MinecraftConnection です。

github.com

このライブラリは非同期なメソッドを準備する必要がなく、マイクラのコマンドも用意(まだ全部ではありませんがある程度)されています。なので、初心者の方でも簡単に利用することができると思います。

これからの活動

まずはライブラリを多くの方に使用していただき、C#によるマイクラプログラミングを楽しんでもらいたいと思います。そして、もう1つのプロジェクト Minecraft Fireworks を進めます。これはマイクラで花火大会を楽しめるようなコンテンツ作りになります。

コロナによる自粛で娯楽が色々と制限を受けており、花火大会も中止するところがでてきています。子供から大人まで人気のマイクラならば多くの人が楽しめるだけでなく、花火をきっかけにプログラミングに目覚める子供も出てくるかもしれません。

ということで、これからの目標は

となります。

今後とも Minecraft with Code Project と たくのろじぃ をよろしくお願いします。

f:id:takunology:20210701125548p:plain

イベントのお知らせ

2021年7月21日(木)20:00 より、MS Tech Camp #9 を開催します!
イベントでは Azure Cognitive Service の1つである Face API を使って、ある画像内の顔を分析します。興味のある方はぜひご参加ください!(社会人の方も大歓迎です!)

mspjp.connpass.com