言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

マインクラフト1: アドオン勉強の記録を始めます。

マインクラフトの素晴らしいところは、一通り普通に遊んだ後で、マーケットプレイスや HIVE など色々な追加機能で無限に遊び方が広がる事です。そのマインクラフトの拡張に中心的な役割を果たすのが「アドオン」という機能です。アドオンというのは zip で固められた設定ファイルのようなもので、既存のスキンや動作を上書きしたり、新しいモブやアイテムを作成できます。アドオンの機能は強力で、マイクラの上に FPS人狼など、まったく新しいゲームを構築する事すらできてしまいます。

うちの子供たちも、マイクラを初めるとすぐに「アドオンを作りたい!」と言い始めました。その希望を叶えるために半年前から時間を見つけてはアドオンについて調べているのですが、週末の限られた時間しか無く、すぐに調べたことを忘れてしまうので、ここに記録を残しながら調べていく事にします。

目標

  • 小学生が簡単にマイクラのアドオンを作れる。
  • 好きなスキンのドラゴンを作れる。
  • かっこいい剣を振るとすごいパーティクルが出る。

イクラアドオン基本情報

イクラアドオン開発に必要な基本的な情報を書きます。まずマイクラには統合版と Java 版という二つの種類があります。ここでは統合版のみ触れます。統合版には任天堂スイッチで遊べるという絶大なアドバンテージがあるので、お子様におすすめしやすいです。一方で、残念な事に Mac 版が存在しないという欠点があります。という事でマイクラ統合版のアドオン開発には Windows 機が必須となります。Mac に慣れた自分にはこれが一番キツイが仕方がない。。。

一般に、マイクラアドオンというとマイクラ統合版のアドオンを指します。Java 版の拡張機能は Mod と言って完全に別の仕組みです。

アドオン開発の公式サイトは マインクラフト クリエーター です。Microsoft らしい素晴らしい参考資料ですが、中身は英語なので子供には難しいかも知れません。

サードパーティーのツールによるアドオン開発

アドオン開発には様々なサードパーティーツールが存在します。特に公式サイトで紹介されている Blockbench の Plugin を使えば、小学生でも簡単にアドオンを作成する事ができます。英語ですが Getting Started with Minecraft Entity Wizard に解説があります。BlockBench を使えば、既存のマイクラのモブを元にスキンを変えたり動きを変えたり簡単にできます。例えば空を飛ぶニワトリとかを作れます。

ただ、Blockbench の Plugin だけでは色々機能が不足していて、例えば作ったアドオンを Realms で共有するのが子供には難しいです。Blockbench の本来の目的は低ポリゴンの 3Dモデルを作る事らしいので、Blockbench とほかのツールを組み合わせる必要があるのではないかと思っています。いくつかのツールを紹介します。

  • Blockbench
  • MCreator
    • Java 版の Mod 作成を GUI で行うツールらしい。最近統合版 Add-on にも対応したらしい。
  • Novaskin
    • Web でスキンの作成ができる。
  • SNOWSTORM
    • パーティクルを作成するツール
  • Mine-imator
    • アドオン開発とは関係ないですが、マイクラっぽいアニメを作るツールらしい。

勉強の流れ

やみくもに試行錯誤を繰り返した結果、以下の二つの作業を平行して進める必要があるらしいと分かってきました。

  • Creator Learning Journey を元にまじめにアドオン開発を学ぶ。
    • アドオンの中身は zip で固めた json ファイルと画像などのリソースファイルなどです。まじめなアドオン開発とは、VisualStudio Code などでこれらを作成する事です。
    • 小学生にはまだこの方法は難しいので、サードパーティのツールを使わせる事にします。
    • ただ、サードパーティのツールはまじめなアドオン開発の知識を前提としているので、まじめなアドオン開発の知識は避けて通れないみたいです。
  • サードパーティツールの使い方を学ぶ。
    • VisualStudio Code によるアドオンの直接開発は小学生には難しいので、子供にはサードパーティツールを組み合わせてアドオンを作ってもらいます。
    • 必要に応じて、ツールの拡張や改造を行います。

目次

記事が増えるたびにここに追記する予定です。