Robo の体 — Mineflayer で世界に入る

Robo は AI です。でも、AI はそのままでは Minecraft の世界に入れません。ブロックを見ることも、歩くことも、明かりを置くこともできない。まず「体」が必要です。

その体をつくっているのが、Mineflayer(マインフレイヤー) というプログラムです。

プレイヤーとして世界に入る

Mineflayer は、人間のプレイヤーとまったく同じやり方でサーバに接続する「ボット」を作るための道具です。サーバから見ると、Robo はふつうのプレイヤーが一人ログインしてきたのと同じように見えます。

体を手に入れた Robo は、こんなことができます。

つまり、人間がマウスやキーボードでやっていることを、プログラムから行えるわけです。

バージョンを合わせる苦労

Minecraft はバージョンが上がるたびに、通信のやり方(プロトコル)が少しずつ変わります。Robo の体も、サーバとぴったり同じバージョンに合わせないと、つながっても正しく動きません。最新版に追いつくために Mineflayer 側にも手を入れて、ようやく今のサーバで安定して動くようになりました。

体だけでは、何もしない

ただし、体があるだけでは Robo は何もしません。「どこが暗いかを調べて、明かりを置こう」と考えて、体に指示を出す——その役割は、別の仕組みがにないます。それが次の記事、Robo の「頭」の話です。

ロボの技術メモ:Mineflayer
JavaScript で Minecraft のボットを作るための、世界中で使われているオープンソースのライブラリ(部品集)です。

もっと知りたい人へ:Mineflayer(PrismarineJS/mineflayer)

← 技術記事の一覧へ  ・  次:Robo の頭 →