NPCがいないので CorradeでBot Agentを作る
Second Life は、アバター ≒ ユーザー なので、他のゲームのように NPC が「基本的には」存在しません。
アバターを Bot Agent に設定して、常にログイン。LSLで処理を作り込めばNPCを作ることも出来ますが、かなり手間もかかります。
Corrade : Second Life Bot Agent
今回は Second Life のアバターを Bot Agent にするための Corrade を使用してガイドNPCを構築してみました。
Corrade は、バージョンアップしたことで、WEBからアバターの設定などができるように変わりました。
古いバージョンの Mono GUI でアバター設定して、Mono Serviceで起動する方法だけしか知らなかったので、公式を見ながら作業します。
インストールと基本の立ち上げ
公式サイトは、以下のURLになります。
https://grimore.org/secondlife/scripted_agents/corrade
新しいバージョンでは、以下の環境のパッケージが提供されています。
- Linux Arm
- Linux Arm64
- Linux x64
- Windows Arm
- Windows 64bit(x64)
- Windows 32bit(x86)
Linux Arm にも対応しているので、ちょっと試したりするのであれば RaspberryPi で動かすこともできます。
今回は、外部サービスとの連携などをしたかったので、Azure クラウド上の Ubuntu Server 20.04 LTS に Linux x64 で構築しました。
22.04 LTS も試しましたが openssl ライブラリのバージョンが対応していないため起動できませんでした。
関連ライブラリのインストール
公式にもあるとおり Corrade は、画面処理をする関係で GDI ライブラリが必要になります。
Ubuntu の GDIライブラリ (libgdiplus) を事前にインストールしておきます。
ついでに使いそうなツールもインストールしておくと作業が止まることがありません。
sudo apt install libgdiplus
sudo apt install unzip
sudo apt install build-essential
これで必要な環境は整います。
パッケージの展開 と 設定ファイルのコピー
公式サイトから 配布パッケージをダウンロードして、展開します。
sudo mkdir -p /opt/corrade/Corrade_Resident/
sudo chown -Rf ubuntu:ubuntu /opt/corrade/Corrade_Resident/
cd /opt/corrade/Corrade_Resident/
wget https://corrade.grimore.org/download/corrade/linux-x64/Corrade-11.0.297.383-linux-x64.zip
unzip ./Corrade-11.0.297.383-linux-x64.zip
これで カレントディレクトリ (/opt/corrade/Corrade_Resident/) に Corrade が解凍できます。
次ぎに、起動するための設定ファイルを準備します。
cp CorradeConfiguration.xml.default CorradeConfiguration.xml
CorradeConfiguration.xml は、Corrade のパスワードや、アバターの情報、接続するAPIなどが設定されています。
Corrade の起動
設定ファイルをコピーして準備が整ったら、Corradeを起動します。
サービス化することも出来ますが、最初はログを確認しながらがよいのでターミナルから直接起動します。
sudo ./Corrade
Corrade が起動すると 54377 ポートで、Corrade の管理WEB画面が使えるようになります。
Chrome などの Webブラウザから http://[HOST-IP-ADDRESS]:54377/ で接続します。
Corrade の設定
Corrade が起動したら管理画面で基本的な設定をします。
- ログイン画面で、初期パスワード「nucleus」でログインします。
- 「CONFIGURE」を選択
- 「Login」で 使用するアバターのアカウント情報を入力
- 「Commit Configuration」で設定を保存
- 「Groups」で 画面の下にある 「ADD」をクリック
- アバターを操作する SecondLife グループ名を入力
- 操作時のパスワードを入力
- Group List から初期で入っている [Wizardry and Steamworks]:Support を選択
- 画面下の「DELETE」でグループを削除
- 「Commit Configuration」で設定を保存
基本的には、これで Corrade で操作するアバターの設定が終わりです。
一度、ターミナルで Ctrl-C して Corrade プロセスを kill します。
もう一度同じ手順で Corrade を立ち上げると、設定したアバターが SecondLife に現れます。
初期設定は last になっていますので、Home などに変えたい場合は、先ほどの CONFIGURE で、右上の「Normal」をクリックして「Advance」に切り替えて設定を変更します。
Corrade を自由に操作する
今回は、Corrade で SecondLife のアバターを誕生させるまですすめました。
基本的に Corrade のアバターを制御するには、SecondLife のオブジェクトなどから Instant Message を送信して操作します。
Advance 設定で、Corradeの簡易WEBサーバーでHTTPからコマンドで操作する こともできます。
たまにですが、実験的に IMONI SIM に、Corrade Agent を起動してます。
RaspberryPi Zero W でも動作するようなので、複数の Corrade を動かすのも面白いかもしれませんね。