鳥小屋.txt

主に自作ゲームをつくったりしているよ。制作に関することやそうじゃないことのごった煮ブログ

鳥小屋プラグインの裏技(?)の話

鳥小屋プラグイン置き場 というサイトがあります。
あります、というか僕のサイトですが……。

鳥小屋プラグイン置き場ではRPGツクールMV/MZ向けのプラグインを公開しています。いわゆるプラグイン素材屋さんですね。

プラグイン素材屋さんではありますが、プラグイン素材を日々作っているというわけではなく、僕が自分のゲームを作る中で作ったものの中から素材化できそうな部分を抽出&整理して公開しているみたいな感じです。そのため、他のプラグイン素材屋さんと比べると置かれているプラグインの偏りがすごかったり、あんまり要望とか受け入れてくれなかったりと、ちょっと我が道行くタイプになってるかもしれません。僕のゲームが普通じゃないからね……

で、素材として公開していますが、いくつか説明に書いてない機能を持っているプラグインがあります。裏技みたいな機能。
これらは主にプラグインをいじる人(=僕)向けの機能なので、わざわざ説明書いても多くの人には特に役に立たないため書いていません。

そんな秘密の機能・仕様をここではいくつかご紹介します!

実績プラグイン:Torigoya_Achievement2

鳥小屋プラグイン置き場の目玉プラグイン!(自称)

いわゆるトロフィーとか実績とかを実現できるプラグイン。もともとは魔導箱のグリモワール用のシステムだったやつをプラグイン化したもので、実績の仕組みの基礎+簡易的なUIを提供するものになっています。ちなみにこのプラグインは 2 なので当然 1 があります

実績の仕組みの基礎、の部分にいろいろと仕掛けがあるのですが、その中でも便利そう(?)な部分を紹介します。

実績獲得したら通知

このプラグインでは実績を獲得すると画面端からピョコっと表示が出たりしますが、そのタイミングで他の処理を走らせたくなることがあります。例えば Steam の実績をアンロックするとか。

Torigoya_Achievement2 には実績獲得のタイミングで走る処理を登録する仕組みがあります

Torigoya.Achievement2.Manager.on(({achievement, unlockInfo}) => {
  // ここに処理を書こう!
});

獲得した実績が achievement に、獲得日時などの情報が unlockInfo に入ってきます。
オリジナルの通知機構が欲しくなったときとかにも使えるかも。

ちなみに僕はこの仕組みを使って「実績数が一定以上になった時に獲得できる実績」を作っています。

お手軽スタッフロールプラグイン:Torigoya_EasyStaffRoll

鳥小屋プラグイン置き場随一の便利プラグイン!(自称)

スタッフロール、様々なゲームで作ることになるものの、実際つくるの結構たいへん!一応ツクールには「文章のスクロール表示」がありますが、細かい調整しづらいのでスタッフロール用途だと結構難しいですね><
時間指定で表示できるので表示項目増えたり減ったりしても困らないやつ!

そんなスタッフロールプラグインにも裏口、というか隠し仕様があります。

スタッフロール情報の定義

普通にこのプラグインを使う場合は、プラグイン設定でスタッフロールの情報を定義します。

ですが、ゲームによっては動的にスタッフロールの情報を定義したくなる場合があります。例えば、外部ファイルから読み込みたいとか、ゲームの進行状況に応じてスタッフロールの中身を変えたい(?)とか。

そんなときは Torigoya.EasyStaffRoll.Manager.loadStaffRollContent を再定義だ!

Torigoya.EasyStaffRoll.Manager.loadStaffRollContent = () => {
  return Promise.resolve([
    {
      title: 'つくったひと',
      items: [ { title: 'Ruたん', description: '', icon: '' } ],
    },
    ...
  ]);
};

loadStaffRollContent はスタッフロールの定義を Promise で返すメソッドです。デフォルトではプラグイン設定で設定した内容を Promise で返すメソッドとして実装されています。

Promise なので外部ファイルの読み込みのような非同期処理が挟まっても問題ありません。というよりは外部ファイル読み込めるようにするために Promise にしてあります。僕のゲームのためにね。

おわり

今回はこの2つをご紹介しました。

僕のプラグインは他にもいろいろ仕掛けが眠ってるやつがあったりします。特に見た目系はゲームごとに変わってくる可能性が高いので、あくまでプラグインとしては汎用的な見た目を1つだけ提供し、全然違う見た目にしたい場合はプラグインの各所を再定義して見た目を差し替えられるような仕組みになっています。僕のゲームのためにね。

鳥小屋プラグイン置き場のプラグインは僕の思想がとても強いプラグインですが、いろいろ上から捻じ曲げられるような作りにはなっていたりするので、ご利用の方は今後も末永くご利用いただければと思います(?)