<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF xmlns="http://purl.org/rss/1.0/"
	xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xml:lang="ja">

	<channel rdf:about="https://www.werepanda.jp/rss.xml">
		<title>werepanda.jp</title>
		<link>https://www.werepanda.jp/</link>
		<description>pandaによるRPG制作サイト</description>
		<items>
			<rdf:Seq>
				
				<rdf:li rdf:resource="https://www.werepanda.jp/blog/20260310193812.html" />
				
				<rdf:li rdf:resource="https://www.werepanda.jp/blog/20260119191123.html" />
				
				<rdf:li rdf:resource="https://www.werepanda.jp/blog/20260112220829.html" />
				
				<rdf:li rdf:resource="https://www.werepanda.jp/blog/20251231122112.html" />
				
				<rdf:li rdf:resource="https://www.werepanda.jp/blog/20251209000006.html" />
				
			</rdf:Seq>
		</items>
	</channel>


	<item rdf:about="https://www.werepanda.jp/blog/20260310193812.html">
		<title>『王国の英雄』がアプリになった</title>
		<link>https://www.werepanda.jp/blog/20260310193812.html</link>
		<description>昨年夏にリリースした長編大河RPG『王国の英雄』が、このたびなんとスマホアプリになりました！
以前、ミニゲーム『夫婦戦争MZ(まさに絶体絶命)』をスマホアプリ化していただいた、ぬか漬けパリピマン様に、今回もアプリ化していただきました。ありがとうございます。
ただし現状はAndroid版のみの提供で、iOS(iPhone)版は未定です。
ダウンロード、プレイともに無料です。
Android版 (Google Play)
アプリアイコンには、okaさんに描いていただいた主人公コバルトの上半身立ち絵も付いています。
Androidをお持ちの方は、Google Playストアで今すぐ「王国の英雄」を検索！
これまでもPLiCyのブラウザプレイ版であればスマホでもプレイは可能でしたが、アプリ化によってより手軽にプレイできるようになったほか、スマホ向け仮想パッドが付いたので、より操作が快適になっています。
課金要素はなく無料でプレイできますが、スマホアプリという性格上、一定時間ごとのプレイ開始時や宿屋宿泊時に動画広告が流れます。
なお、動画広告からの復帰時に音声が止まる場合があるため、確認ダイアログが表示されます。いちいちOKを押さないといけないので少々面倒ですが、お付き合いください。
基本的にゲームの内容に違いはありませんが、アプリ版の特典として「アイテムくじ引き」の機能が加わっています。
1時間に1回、メニュー画面からくじ引きができ、動画広告の視聴と引き換えに、貴重な消耗品アイテムやお金が手に入ります。
そこそこのお金やMPを回復する魔法の薬草などがもらえるので、こまめに引けば冒険がぐっと楽になります。
レア枠としてエリクサーなども当たるので、これでもうエリクサー症候群に陥ることはありません。ピンチになったら躊躇することなく使いましょう。
数量限定だった回帰の砂時計も当たるので、スキルポイント(SP)の振り直しもそこそこ柔軟にできるようになりました。レア枠なので、そこまで自由自在というわけにはいきませんが。
また、機種変更などに備えてセーブデータの保存や上書きができる機能も付けていただきました。ただし、アプリ版のセーブデータと、PLiCyのブラウザプレイ版やPCのダウンロード版との連携はできませんので、ご了承ください。
難易度はやや高めですが、詳しい攻略情報なども当サイトに用意してあります。
スマホアプリ(Android)版『王国の英雄』も、ぜひプレイしてみてください！</description>
		<dc:creator>panda</dc:creator>
		<dc:date>2026-03-10T19:38:12+09:00</dc:date>
	</item>

	<item rdf:about="https://www.werepanda.jp/blog/20260119191123.html">
		<title>ルビ表示プラグインを大幅機能拡張</title>
		<link>https://www.werepanda.jp/blog/20260119191123.html</link>
		<description>過去に公開した「ルビ表示プラグイン(PANDA_RubyText.js)」の機能を大幅に拡張しました。
旧バージョンとプラグイン名は同じであり、機能的にもアップデートであるため、旧バージョンを利用されていた方も今回の新しいバージョンに差し替えれば、そのままお使いいただけます。
ただし、独自のUI要素に合わせて改造されていたりした場合には、プラグインパラメータの再設定が必要になる場合もあります。念のため、旧バージョンのプラグインファイルをバックアップしておいてから新しいバージョンに差し替えて、支障が出ないか確認の上でご利用ください。
なお、テキスト表示周りの仕様が異なるため、前回に引き続きRPGツクールMZ専用のプラグインとなります。
2026-01-23追記：「選択肢の表示」の高さ調整に対応しました。
2026-02-11追記：選択肢にルビの有無が混在した時に高さがズレる不具合と、通貨単位にルビを含むと金額の位置がおかしくなる不具合を修正しました。
ルビ表示プラグイン(PANDA_RubyText.js)
ルビプラグインの基本機能
この「ルビ表示プラグイン(PANDA_RubyText.js)」は、RPGツクールMZが発売された1ヶ月後くらいに公開したかなり古いものですが、拙作プラグインの中でも非常に好評いただいているプラグインです。
具体的には{漢字|かんじ}のように、ルビ（ふりがな）を振りたい文字を{ }で囲んで、|の手前に漢字、後ろにルビを記述すれば、ルビ付きのテキストとして表示されるようになります。
この手軽さと、「文章の表示」によるメッセージテキストだけでなく、アクター名、職業名、スキル名、アイテム名、敵キャラ名、およびスキルやアイテムの説明文や、戦闘メッセージ、マップ名など、必要と思われる場所は基本的に全てルビ表示に対応している点で、非常に便利なプラグインとなっていました。
今回の拡張機能
そんな便利なプラグインでしたが、不満がないわけではありませんでした。
今回、その不満点をできる限り解消し、Version 2としてアップデートしました。
フォントサイズ変更時の不具合修正
メッセージの表示では制御文字の\{や\}、\FS[n]でフォントのサイズを変えることができます。
行の途中でフォントサイズを変えた時、本来は文字が行の高さの中央揃えになるべきところ、このルビプラグインを導入していると上辺に揃ってしまうという不具合がありました。
自分ではフォントサイズの変更を使うことがなかったので気付きませんでしたが、ギャグテイストの作品では多用される傾向にあります。
新バージョンではその挙動を改善して、ちゃんと文字が行の縦中央に揃うようになりました。
ルビの字間調整
例えば{不死身|ふじみ}のような漢字3文字に対してルビ3文字の場合、これまではルビが漢字3文字の中央に寄ってしまい、あまり見栄えが良くありませんでした。
{不|ふ}{死|じ}{身|み}のように1字ずつ設定すればいいのですが、かなり面倒です。
新バージョンでは、プラグインパラメータの「ルビの字間調整」をONにすると（デフォルトでON）、漢字に比べてルビの文字数が少ない時に、ルビの字間を適宜調整して、中央に寄りすぎないようにしてくれます。
地味に気になっていた部分なので、今回キレイに調整できたのがよかったです。
ルビのない行の高さ調整
旧バージョンは、ルビが有効なウィンドウでは常にルビ分の高さを確保するため、アイテムやスキルでルビを含まない名前の場合、文字が項目枠の下に寄ってしまって見栄えがよろしくありませんでした。
そこで、プラグインパラメータの「ルビ無しの行高さ調整」をONにすると（デフォルトでON）、ルビを含まない項目の表示では、ルビ分の高さを確保せず通常の高さで文字を表示するようにしました。
もともとは、ルビのある項目とない項目とで文字の縦位置が異なるのは気になるかと思い、旧バージョンではそれを調整していませんでした。ですが実際に調整してみたところ、項目同士がかなり離れているため高さの違いはそこまで気にならず、逆にアイコンと縦位置が揃うことで見栄えがきれいになりました。
なお、「文章の表示」によるメッセージや、戦闘ログの表示、アイテムやスキルの説明欄など、文章を表示するウィンドウでは、行によって高さが異なると違和感があるため、この調整は反映されません。
2026-01-23追記
当初は「選択肢の表示」で出る選択肢も調整が無効でしたが、Ver.2.0.1で高さ調整に対応しました。
ルビ有効/無効の設定方法
旧バージョンではデフォルトでルビの表示は無効になっており、特定のウィンドウのみ有効にする方式をとっていました。
これは、前述の「ルビ無しの行高さ調整」が旧バージョンにはなかったため、全てのウィンドウでルビを有効にしてしまうと、タイトル画面のコマンドウィンドウなどルビが不要なウィンドウでは、項目名が枠の下辺に寄ってしまって見栄えが悪いという理由でした。
しかしこの方式だと、標準以外のプラグイン等で追加されるウィンドウについては、プラグインを改造しない限りルビが有効になりません。
Window_***.prototype.isRuby = function() {
　　return true;
};
という感じに、該当ウィンドウにisRuby関数を作成してtrueを返すようにするだけなので、書き換えは比較的簡単にしてありましたが、スクリプトが得意でないユーザーにとっては敷居の高いものでした。
今回、「ルビ無しの行高さ調整」の実装で項目名の見栄えも解消したこともあり、全てのウィンドウにおいてデフォルトでルビを有効にしました。
これにより、プラグインで追加したカスタマイズのウィンドウについても、特に改造なしでルビが自動的に有効になります。
特定のウィンドウではルビを無効にしたい場合は、プラグインパラメータの「ルビ無効ウィンドウ」で当該ウィンドウクラス名を指定します。
以下のウィンドウはほとんどのケースでルビが不要と思われるため、デフォルトで無効対象にしています。もし有効にしたい場合は、指定を削除してください。
Window_NameEdit（名前の入力欄）
Window_NameInput（名前の文字選択欄）
Window_DebugRange（デバッグ画面の範囲指定欄）
Window_DebugEdit（デバッグ画面のスイッチ・変数一覧）
注意点として、ウィンドウクラス名はWindow_StatusBaseなどの継承元の上位クラスではなく、Window_MenuActorなどの下位クラス名で指定する必要があります。上位クラス名を指定しても、そこから継承される下位のウィンドウがルビ無効になるということはありません。
なお、旧バージョンと挙動を同じにすることもでき、その場合はプラグインパラメータの「デフォルトでルビ有効」をOFFにし（デフォルトはON）、「ルビ有効ウィンドウ」でルビ有効にしたいウィンドウクラス名を指定します。
「ルビ無効ウィンドウ」と「ルビ有効ウィンドウ」で同じウィンドウクラスが指定された場合は、無効の方が優先されます。
戦闘画面のアクター名
現状、標準の戦闘画面におけるアクターステータスのみ、ルビ表示に対応していません。
理由は、このウィンドウのみコアスクリプト上の文字描画方法が異なるためです。
顔グラフィックに文字が被っているため、無理にルビを表示させても見づらくなるのと、アクター名は他の場所でも頻繁に目にするため、ここでルビがなくても大きな支障はないことから、無理に対応させる必要性は薄いと判断しました。
戦闘のUIはカスタマイズされることも多く、それによってはアクター名も支障なくルビが表示できる場合もあるかと思います。
ルビ振りの歴史
当サイトではもう15年前の和風探索RPG『天下御免！からくり屋敷』の制作初期からルビを振るシステムを実装しており、これまでも「RubyでRubyを…」、「ツクールでルビを振る」、「RPGツクールMZでルビを振る」と、数多くの記事を公開してきました。
昨年末から、新作の中華風探索RPG『蟠桃会(ばんとうえ)異聞～仙界の宴』（仮題）の制作に取り掛かっています。今回は中華風ということで『天下御免！からくり屋敷』同様、漢字の難しい固有名詞が多数登場する予定です。やはりルビが必須となるため、既存のルビ表示プラグインで気になっていた部分や要望のあったところを改善し、大幅な機能強化版として公開することができました。
ルビがあれば少々難しい言葉も躊躇せず使えて、文章の格を落とさずに済みます。実況プレイでもルビがあれば漢字が読めずに詰まるということがなくなるので安心です。和風や中華風の作品に限らず、積極的にとり入れて損はないと思いますので、ぜひご利用ください。
質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。</description>
		<dc:creator>panda</dc:creator>
		<dc:date>2026-01-19T19:11:23+09:00</dc:date>
	</item>

	<item rdf:about="https://www.werepanda.jp/blog/20260112220829.html">
		<title>画像・音声・アニメーションのラグを改善</title>
		<link>https://www.werepanda.jp/blog/20260112220829.html</link>
		<description>RPGツクールMZにおいて、画像・音声・アニメーションを先読み（プリロード）し、表示・再生時のラグ（遅延）を軽減するプラグインを公開しました。
キャッシュの仕組みがMZとMVとで異なるため、本プラグインはRPGツクールMZ専用となります。
※ 2026-01-13追記 テストコードが残っていたので修正しました。
※ 2026-01-18追記 「敵キャラの変身」でエラーが出る不具合を修正しました。最新バージョンはVer.2.0.4です。
リソース先読みプラグイン(PANDA_ResourcePreLoad.js)
過去に「画像先読み改善プラグイン(PANDA_ImagePreLoad.js)」として似たようなプラグインを公開していますが、画像だけでなく音声（BGM/BGS/ME/SE）やアニメーションの先読みにも対応した、拡張版となります。
キャッシュと遅延
テストプレイ時やダウンロード版の場合はローカルから読み込むため、特にラグ（遅延）が気になるということはありません。
一方、PLiCyなどブラウザ版でプレイする場合は、画像や音声ファイルをサーバーからダウンロードしてくる必要があります。そのため、ファイルサイズが大きい場合やサーバーが混雑している場合は、表示・再生時のラグが顕著に発生します。
一度読み込んだファイルはブラウザの機能としてキャッシュされるため、次からは遅延なく表示・再生されますが、最初は一定のラグが生じます。特にサーバーが重い場合は、かなりの遅延になることもあります。
RPGツクールMZの先読みの仕組み
RPGツクールMZのコアスクリプトには、ラグを軽減するための仕組みが標準で備わっています。
過去の記事でも詳しく書いていますが、RPGツクールMZのデフォルトシステムでは、イベントの開始時にイベントコマンドの先頭から200行目までを走査して、その中に登場する「文章の表示」の顔グラフィック画像と「ピクチャの表示」のピクチャ画像を、先に読み込むようになっています。
事前にファイルを読み込んでキャッシュしておくことにより、実際に画像を表示する際に素早く表示できる仕組みになっています。
しかしながら、イベントコマンドが200行を超えるような場合、途中で200行目以降を追加で先読みするといったことはないため、長いイベントの場合は途中からラグが目立つようになってしまいます。
また先読みされるのは「文章の表示」の顔グラフィックと「ピクチャの表示」のピクチャ画像だけなので、それ以外の画像や音声、アニメーションなどは別の方法で事前に読み込むしかありません。
画像先読み改善プラグイン(PANDA_ImagePreLoad.js)の限界
過去に公開した「画像先読み改善プラグイン(PANDA_ImagePreLoad.js)」は、デフォルトの仕組みを改善し、任意の行数（イベントコマンド全行も可）を対象に先読みできるようになり、また先読み対象のイベントコマンドも「遠景の変更」と、「移動ルートの設定」の中の「画像の変更」に対応しました。
これはかなり画期的なプラグインでしたが、「アクター画像の変更」や「タイルセットの変更」など、全ての画像ファイルには対応していなかったのと、音声ファイルやアニメーションにも未対応だったため、これで万事解決というわけには行きませんでした。
リソース先読みプラグイン(PANDA_ResourcePreLoad.js)
そこで今回、画像ファイルのダウンロードを要するほぼ全てのイベントコマンドと、音声・アニメーションの先読みにも対応した拡張版を、作成・公開しました。
具体的には以下のイベントコマンドに対応しています。
頭に*が付いているのが今回新たに追加されたコマンドです。旧プラグインにあった機能は全て、今回の新プラグインにも含まれています。
「文章の表示」で使用される顔グラフィック
*「メンバーの入れ替え」で加えられたアクターの各種画像ファイル
「移動ルートの設定」中の「画像の変更」で使用される画像ファイル
*「移動ルートの設定」中の「SEの演奏」で使用される音声ファイル
*「アニメーションの表示」で使用されるアニメーション
「ピクチャの表示」で使用される画像ファイル
*「BGM/BGS/ME/SEの演奏」で使用される音声ファイル
*「戦闘BGM/勝利ME/敗北ME/乗り物BGMの変更」で使用される音声ファイル
*「アクターの画像変更」で使用される各種画像ファイル
*「乗り物の画像変更」で使用される画像ファイル
*「タイルセットの変更」で使用される画像ファイル
*「戦闘背景の変更」で使用される画像ファイル
「遠景の変更」で使用される画像ファイル
*「敵キャラの変身」で変身後の敵キャラの画像ファイル
*「戦闘アニメーションの表示」で使用されるアニメーション
先日の記事「ブラウザプレイでBGMと演出のズレをなくす方法」の時はまだ本プラグインがなかったので、「タイルセットの変更」など一部機能は工夫して対処が必要でしたが、今回のこのプラグインで「タイルセットの変更」にも対応しました。遅延対策がより簡単にできるようになったので、ぜひご利用ください。
プラグインコマンド
また、イベント開始時の自動的な先読み以外にも、任意のタイミングで任意の画像・音声・アニメーションを個別に先読みできるよう、プラグインコマンドも各種用意しました。
イベント開始時の先読みだけでは対応できないケースなど、必要に応じてお使いください。
プラグインコマンドはそれぞれ以下のようになっています。
画像先読み
/img/フォルダ以下の任意の画像ファイルを先読みします
タイルセット先読み
指定したタイルセットの画像ファイルを先読みします
音声先読み
/audio/フォルダ以下の任意の音声ファイルを先読みします
アニメーション先読み
任意のアニメーションを先読みします
先読み行数指定の廃止
以前のプラグインは、先読み対象の行数をデフォルトの200行から、プラグインパラメータで指定した任意の行数に変更するという仕様で、行数を0と指定すると全ての行が対象になるというものでした。
あまりに長いイベントの場合は全行読み込みにすると、イベント開始時に先読みの時間がかかりすぎてしまうための仕様でしたが、実際にこの制約に引っかかることは稀で、ほとんどの場合が全行先読みにしていると考えられることから、行数の指定は廃止し、常にイベントコマンドの全行を開始時に走査する仕様に改めました。
これによってプラグインパラメータの指定が不要になり、単純に導入するだけで使えるようになりました。
ただし、本当に膨大なイベントであったり、大量のリソース先読みを必要とするイベントの場合には、事前読み込みの処理に時間がかかってしまう可能性もありますので、ご注意ください。
プラグイン更新の際の注意点
もともとは「PANDA_ImagePreLoad.js」というプラグイン名でしたが、画像だけでなく音声やアニメーションにも対応したことで「Image」では誤解を招くため、プラグイン名を「PANDA_ResourcePreLoad.js」に変更しました。
プラグイン名の変更により、「画像先読み」のプラグインコマンドを使用している場合は、プラグインコマンドの再設定が必要になります。
「画像先読み」のプラグインコマンドを使用していない場合は、そのまま今回の新プラグインに置き換えが可能です。
プラグインコマンドの使用が数カ所の場合も、今回の新プラグインの方が高機能なため、なるべく置き換えをお勧めします。その場合、お手数ですがプラグインコマンドは新しいプラグインのもので再設定をお願いします。
「画像先読み」のプラグインコマンドを大量に使用しており、全て修正するのが現実的でない場合は、旧プラグインと新プラグインの併用も可能です。併用による実害はないはずですが、イベントコマンドの走査や画像の読み込みを二度行うことになるため、多少重くなることがあり得ます。なお、併用する場合は必ず今回の新プラグインの方を後にしてください。
未対応事項とまとめ
前提としてそのイベント内のリソースを先読みするものであるため、戦闘で出現する敵キャラの画像や、戦闘行動で使用するスキルのアニメーションなどを先読みする機能はありません。
またキャッシュの仕様上、移動先のマップデータを先に読み込むとか、次に起動するイベントの内容を事前に読み込んだりといった機能もありません。
デフォルト機能以外の、立ち絵の自動表示やUI関連の表示なども特に対応していないので、プラグインコマンドによる先読みを適宜利用して工夫してください。
イベントコマンドの「ムービーの再生」も、動画ファイルはファイルサイズが大きく、先読みするとかえって重くなる可能性があるため、対応していません。
このように未対応の機能はいくつかありますが、現実的なラグ対策としては十分な機能を備えていると考えています。ぜひ導入していただき、快適なプレイ体験を提供してください。
質問やアドバイスなどはコメント欄まで、お気軽にお願いします。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。</description>
		<dc:creator>panda</dc:creator>
		<dc:date>2026-01-12T22:08:29+09:00</dc:date>
	</item>

	<item rdf:about="https://www.werepanda.jp/blog/20251231122112.html">
		<title>2025年総括</title>
		<link>https://www.werepanda.jp/blog/20251231122112.html</link>
		<description>早いもので2025年ももう大晦日。
21世紀ももう四半世紀が過ぎるということで、時の流れの速さに恐れおののきつつ、年末恒例の総括のお時間です。
長編大河RPG『王国の英雄』完成！
まず今年は何と言っても長編大河RPG『王国の英雄』の完成・公開です。
2020年の9月から制作を開始し、毎年のように来年には完成を目指していますと言ってきた本作ですが、丸5年の歳月をかけて2025年8月末に完成しました。
6月にβテスト版として先行公開した時から多くの方にプレイいただき、8月末にPLiCyで正式リリースしてからは、現在までに1万を超えるプレイ数を記録しています。
けっこうな長編であり、同じ人が数十回はプレイするため、他の作品と単純に比較できるものではないですが、かなり多い部類には違いなく、嬉しい限りです。
9月末に出したダウンロード版も通算で約1500回となりました。これも何度かアップデートをしているため、単純なプレイ人数とは異なりますが、大勢の方にプレイしていただけたものと思っています。
お陰様でPLiCyの「ゲームコンテスト2025」では敢闘賞を受賞しました。自作品の受賞は初めてで、スタッフからのコメントも「攻略のヒントが幅広く散りばめられている」「ボス戦がなるべく強制突入にならない」など、意識した点を的確に評価していただきました。ありがとうございます！
プレイ動画やプレイレポート、感想やレビューなど、数多くいただいており、ありがたい限りです。引き続きよろしくお願いいたします。
ツクラーショウケース
上記に関連して、6月にはshinさん主催の「ツクラーショウケース」にサプライズツクラーとして出演させていただきました（ただし当該回は出演者全員がサプライズツクラー枠）。
3月頃に出演オファーをいただき、6月中頃ならば『王国の英雄』も完成……が見えている頃で、作品のプロモーションにもちょうど良いよいうことで、引き受けさせていただきました。
詳しくは「ツクラーショウケースに出演しました」の記事をご覧ください。
PV制作は苦労した点も多かったですが、根気強く修正を続けた結果、満足のいく出来になりました。何より当日、とても盛り上がったのが嬉しかったです。
こちらが当日放送したPVです。
このツクラーショウケースの翌日に先述のβテスト版を公開することにしました。まさに作品完成のきっかけを作ってくれたと、感謝しています。
イベント参加
去年の総括で、来年はイベント参加やイベント出展も視野に入れていると述べた通り、2月に「東京ゲームダンジョン」に顔を出して以来、リアルのインディーゲームイベントにちょくちょく参加し、同じツクラー、ゲーム制作者さんと交流させていただきました。
出展の方は、11月の「クリエイターズ文化祭」と12月の「マイゲームフェス」に出展参加させていただき、『王国の英雄 モブキャラファンブック』という謎の本を配布しました。普段は見過ごされがちなモブキャラについて、設置コンセプトや台詞の裏の意味、制作時の苦労話などを余すところなく書けたので、作っていてとても楽しかったです。
イベントの出展については、前述のツクラーショウケース出演も含めていずれもオンラインイベントばかりでしたが、来年はリアルイベントへの出展も視野に入れようかと思っています。
プラグイン
プラグインは今年もいくつか公開しました。
既に重要なプラグインは昨年までに開発してしまったので、今年は比較的小規模なプラグインが多かったですが、それでも『王国の英雄』の正式リリースを控えて作品の仕上げで作成したプラグインを、7～8月頃に立て続けに公開しました。
「ステート重複付与無効プラグイン(PANDA_NoDuplicateStates.js)」や「混乱時行動改善プラグイン(PANDA_FixedConfusionAction.js)」など、地味な機能が多いですが、どれもデフォルトの仕様の今イチな点を修正するプラグインなので、戦闘や演出の調整にこだわりたい方には役に立つものだと思います。
反響の多かったものとしては、11月に公開した「ターゲット条件指定プラグイン(PANDA_ActionTargetCondition.js)」です。2月頃に仮組みしてからずっと温めていたもので、『王国の英雄』に組み込んでみて特に問題が出なかったことから、ようやく公開したものです。メモ欄を使わずに設定ができる点と、賢い敵の行動が簡単に実装できるため、自分でも気に入っているプラグインです。
また、9月公開の「ダミータイル非表示プラグイン(PANDA_EditorOnlyTiles.js)」は、来年に予告されているRPGツクールMZのアップデートで通行可不可の可視化機能が実装されると不要になりますが、MVでは引き続き必要になるのと、カウンター属性や四方向通行設定など単純な通行可不可以外の設定はおそらく可視化してくれないので、MZにおいても引き続き有効なプラグインなのではないかと思っています。
他にも、『王国の英雄』で作成したもののまだ公開していないプラグインなどもいくつかあるので、来年はそういったものも整備して公開していければと思います。
その他の活動
「SSL対応になりました」で述べたように、8月に当サイト「werepanda.jp」が開設15周年を迎え、それと同時にサイトがSSL対応となりました。
ただの個人サイトでそこまでするのは……と思って保留していましたが、プラグイン等をダウンロードする際にブラウザで警告が出てしまうという実害が出ていたのと、先述のリアルイベント参加に向けて名刺を作る（名刺にサイトのURLを掲載する）ため、SSL対応するなら今だとなりました。
また12月には毎年恒例の「アドベントカレンダー」に参加して、「ブラウザプレイでBGMと演出のズレをなくす方法」という記事を投稿しました。
特にPLiCyなどのブラウザ版で顕著な遅延対策をいくつか記述しました。どれもやっておくに越したことはない対策ばかりで、ブラウザ版に限らずダウンロード版でも若干の遅延は発生するので、ぜひ参考にしていただければと思います。
2026年の抱負
さて、来年2026年に向けて。
12月の頭頃から、新作の制作に取り掛かっています。
その名も中華風探索RPG『蟠桃会(ばんとうえ)異聞～仙界の宴』（仮題）。
過去作である和風探索RPG『天下御免！からくり屋敷』のEXボスとして登場した西王母・麻姑・百花仙子・嫦娥を主人公パーティーに据えて、『天下御免！からくり屋敷』と同様のハクスラ系ダンジョン探索RPGを、今度は舞台を中華世界に置き換えた作品です。
構想自体は5年前に『王国の英雄』を制作開始する際に、別の作品案として浮かんでいたものですが、5年の歳月を経て新作として制作開始することになりました。
今回はストーリーも特にないハクスラ系で、『天下御免！からくり屋敷』の時のような続編ダンジョンなども特に予定しておらず、かつこれまでの作品を通じて制作ノウハウはかなり溜まっているので、1年半程度での完成を目標にしています（ホントかな）。
さすがに来年中の完成は考えていませんが、完成の目途が立っている程度にはなっていることを目標に頑張ります。進捗はX（旧twitter）でも上げていきますので、楽しみにしていてください。
本年はどうもありがとうございました。
また来年もどうぞよろしくお願い申し上げます。</description>
		<dc:creator>panda</dc:creator>
		<dc:date>2025-12-31T12:21:12+09:00</dc:date>
	</item>

	<item rdf:about="https://www.werepanda.jp/blog/20251209000006.html">
		<title>ブラウザプレイでBGMと演出のズレをなくす方法</title>
		<link>https://www.werepanda.jp/blog/20251209000006.html</link>
		<description>本記事は「ゲーム制作アドベントカレンダー（旧ツクールアドベントカレンダー）Advent Calendar 2025」12月9日分の投稿記事です。
今年2025年はついに、5年にわたって制作してきた長編大河RPG『王国の英雄』を完成させ、公開しました。
今回は、その時にエンディングのイベントを作った経験から、エンディングの演出でよくある、画面上のキャラの動きとBGMとをシンクロさせる時の注意点とその対処法について解説します。
エンディングに限らず、BGMと演出を同期させるようなシーンで役立ちます。
またブラウザプレイで顕著ですが、ダウンロード版でも多少の遅延は発生しうるので、対策するに越したことはありません。
BGMと演出の同期
エンディングでよくある演出が、メッセージを表示せずキャラの動きだけでシーンを連続して見せるような演出。これまでの冒険の回想や主人公たちのその後の様子などが、いわゆる「人形劇」で次々と流れていく演出です。
この時、BGMの盛り上がりや転調のタイミングが演出とシンクロしていると、とても印象的に映ります。
しかし、どんなにタイミングをバッチリ合わせたとしても、バックグラウンド処理の影響や画像等の読み込みの遅延により、微妙にズレが発生します。
制作時は自分のPCのローカル環境でテストプレイするためなかなか気付きませんが、スペックの低いPCでプレイした場合や、特にPLiCyなどブラウザプレイの場合には、顕著な遅れが出てしまいます。
そういうのを「気にしない」というのも一つの方法ですが、せっかくBGMと演出とを合わせたのなら、その状態で見てほしいものです。それにBGMが微妙にズレていると、遅延のせいとは知らないプレイヤーには「残念」と映ってしまうでしょう。せっかくの苦労が水の泡になってしまいます。
ではどうすればいいのか？ 可能な限りズレを解消する方法について解説します。
エンディングでよくある演出と言っていますが、それ以外でもオープニングやその他、BGMと動きがシンクロするようなシーン全般で使えるテクニックです。拙作『王国の英雄』でもエンディングのほか、オープニングムービーや三人娘のダンスショーのシーンなどで用いています。
なお、通常の「文章の表示」で台詞を表示させる場合、制御文字の\^で自動メッセージ送りをしていない限りは、プレイヤーの操作によってタイミングは全く変わってくるので、そもそもBGMとの同期には合いません。ご注意ください。
早送りの禁止
まず忘れてはならないのが、RPGツクールに標準機能として備わっている、早送り機能の無効化です。
イベント中に決定キーを押しっぱなしにしていると、メッセージが早送りされるのはもちろん、各キャラの動きも倍速になります。しかしBGMまでは倍速では流れないため、どんどんズレていってしまいます。
そこで、決定キー押しっぱなしによる倍速化機能を、該当シーン中は無効化しておく必要があります。
この早送りの無効化は、イベントコマンドではできないので、プラグインに頼ることになります。
同様の機能を持つプラグインは多数ありますが、拙作プラグイン「イベント早送り無効化プラグイン(PANDA_DisableFastForward.js)」でも高速化のON/OFFが簡単に切り替えられます。
スイッチを一つ用意してプラグインパラメータで指定し、該当シーンの直前でそのスイッチをONにし、終わったらOFFにすれば、該当シーン中は早送りができなくなります。
画像の先読み
次に必要なのは、画像の先読み（プリロード）です。
ローカルの環境ではほとんど気にはなりませんが、ブラウザプレイ環境の場合、サーバーやネットワークに起因する画像の読み込みの遅延は顕著に起こります。
ツクールには使用する画像ファイルをキャッシュしておく仕組みがあります。過去記事「画像の先読みを改善して画像表示のラグ解消」で紹介したように、RPGツクールMZではイベントの開始時にそのイベントで使用される画像をあらかじめ読み込んでキャッシュする仕組みになっています。
しかし、キャッシュが効くのはイベントコマンドの200行目までに登場する画像となっており、長いイベントだと途中からキャッシュが効かなくなってしまいます。エンディングのイベントなどは長くなりがちなので、この影響を顕著に受けます。
それを改善するのが、上記の記事で紹介している拙作「画像先読み改善プラグイン(PANDA_ImagePreLoad.js)」です。
このプラグインを導入すると、200行という制限が解除されるほか、通常では先読み対象にならない「遠景の変更」や「移動ルートの設定」中の「画像の変更」も対象になります。
※ 2026-01-13追記
画像だけでなく音声ファイルやアニメーションにも対応したほか、後述の「タイルセットの変更」にも対応した拡張版のプラグイン「リソース先読みプラグイン(PANDA_ResourcePreLoad.js)」を公開しました。今後はこちらをご利用ください。
1つのマップに全て収める
意外と盲点なのが、マップ間の移動を行うと、マップの読み込みが走って遅延が生じる点です。
連続で回想シーンを流すような演出の場合、各回想シーンごとに1つのマップで構成し、場所移動と自動実行イベントでシーンを繋いでいくことが多いですが、そのような構成にすると、マップ移動の際にマップの読み込みが行われ、そこで遅延が発生します。
それを防ぐためには力業ですが、そのシーンで使用するマップを、全て1つのマップに収める方法です。
同一マップ内の場所移動であればマップの読み込みは発生しないので、1つのマップ、1つの自動実行イベントに全てのシーンを収めます。そうすれば解決します。
次のマップをプリロードするプラグインなども存在しますが、さらにその先のイベント内での画像の先読みなどもあるため、1つのマップに押し込めてしまうのが最も手っ取り早いです。
ただその場合、タイルセットの異なるマップを1マップに統合する際は、場所移動時の暗転中にイベントコマンドの「タイルセットの変更」で切り替えてやる必要があります。
先述の「画像先読み改善プラグイン」は「タイルセットの変更」によるタイルセット画像のプリロードには対応していないため、イベント冒頭でフェードアウト中に「タイルセットの変更」を行って、キャッシュに保存しておく必要があります。
※ 2026-01-13追記
先述の「リソース先読みプラグイン(PANDA_ResourcePreLoad.js)」では「タイルセットの変更」にも対応しています。今後はこちらをご利用ください。
ウェイトで時間調整
そして、ここが最大のポイントです。
上記の対策を行っても、PCのバックグラウンドでの処理などの影響により、秒単位以下の遅延は生じます。これはブラウザプレイに限らず、ローカルの環境でも起こりえます。
1～2フレーム（1フレーム=1/60秒）の遅れならまだしも、それが累積して数フレーム以上の遅れになると、BGMとの同期に明らかなズレが見られます。
その時の対策として有効なのが、ウェイトで時間調整をする方法です。
この手の演出を作る場合、たいてい数十フレームから2～3秒程度のウェイトが入ります。このウェイトの長さが数フレーム短くなったところで、基本的に演出には影響がありません。
そこで、ウェイトの時間を調整してBGMのタイミングを合わせるのです。そうすれば、数フレームのズレが起きていたとしても、ウェイトのところでズレが解消されるため、結果としてズレを最小限に抑えることができます。
RPGツクールのコアスクリプトでは、AudioManager.saveBgm().posで現在のBGMの再生位置を秒数で取得することができます。この値が一定値になるまで、1フレームずつのウェイトをループ処理で繰り返し、一定値になったらループを抜けるようにすれば、ウェイトで時間調整が可能です。
具体的には、まず以下のようにして、ちょうど良いタイミングにおけるBGMの再生位置を取得します。
◆ウェイト：90フレーム
◆変数の操作：変数A = AudioManager.saveBgm().pos * 1000
◆文章：なし, なし, ウィンドウ, 下
：　　：\V[1]
再生位置の数値の単位は秒ですが、実際の値はフレーム単位まで取得されるため、返される値は小数点以下の値になります。そのままだとイベントコマンドで扱いにくいので、1000倍して整数で扱えるようにしています。
ちょうど良いタイミングにおけるBGMの再生位置が取得できたら今度は以下のようにして、その位置になるまでループするようにします。
◆ウェイト：45フレーム
◆ループ
　◆変数の操作：変数A = AudioManager.saveBgm().pos * 1000
　◆条件分岐：変数A &amp;lt; 57500
　　◆ループの中断
　：分岐終了
　◆条件分岐：変数A &amp;gt;= 58650
　　◆ループの中断
　：分岐終了
　◆ウェイト：1フレーム
：以上繰り返し
全体のウェイトが90フレームとして、半分の45フレームは必ず入れるようにします。これがないと、遅延が激しかった時にウェイトがなくなってしまうため、それはそれで演出として違和感が出てしまいます。どのくらい強制ウェイトを入れるかは、半分くらいを目安に感覚で構いません。
再生位置の値は1/60フレーム単位=16.66…と端数が出るため、適当にキリの良い値に切り捨てて、その値よりも現在の再生位置が大きければ、ループを抜けてウェイトを終了するようにしています。ぴったりの値にすると、誤差で1フレームズレる可能性があります。
また、BGMがループすると再生位置は0にリセットされます。そのため、何らかの理由で大幅に遅延し、BGMが周回遅れになっていると、BGM1周分に近いウェイトが発生することになります。しばらく動きが止まることになって、それはBGMとのズレ以上に不自然なため、そういう場合は同期を諦めて、再生位置が一定値以下だった時も即座にループを抜けるようにしています。
こういった調整を、ある程度の長さのウェイトがあるところで何カ所か仕込んでおけば、途中で遅延が発生してもすぐに解消されます。
フォーカス喪失対策
RPGツクールの、というかPCアプリケーション全般の仕様として、そのアプリ（ゲーム）のウィンドウがフォーカスを失ってアクティブでなくなると、画面の更新は停止する一方、BGMは再生され続けます。そのため画面の動きとBGMに著しいズレが生じます。
これは特に、全画面表示をせずにマウスで操作をしていると、弾みでウィンドウ外のところをクリックしてしまったりして起こりがちです。そのほか、スクリーンショットを撮ろうとして別のアプリを立ち上げたりすると起こります。
それへの対策プラグインも存在します。
mattuup様の「音声強制停止プラグイン(MAT_AudioFocusResume.js)」を導入すると、ウィンドウがアクティブでない時にBGMの再生を停止できるようです。
また逆に、はどはど様の「H2A_DontPauseWhenBlur」を導入すると、ウィンドウがフォーカスを失っても動きが停止しないようにできるようです。
『王国の英雄』ではここまでは導入していないのですが、気になる場合は導入すると完璧でしょう。
最後に
重要なシーンでキャラの動きとBGMとをシンクロさせるのは、かなり労力がかかりますが、きれいにハマると印象に残ります。
しかし、それが環境によってズレてしまうとなると、せっかくの労力がもったいないばかりか、ズレのせいで逆に残念な演出になってしまいます。
特にPLiCyをはじめとするブラウザプレイでは遅延によるズレが顕著なため、今回挙げた対策は非常に有効に働きます。また、ダウンロード版でも多少のズレは発生するため、対策しておいて損はないはずです。
せっかくの手間が無駄にならないよう、さらにもう一手間加えることで、完璧なシーンに仕上げましょう！
では、最後まで読んでいただき、ありがとうございました。</description>
		<dc:creator>panda</dc:creator>
		<dc:date>2025-12-09T00:00:06+09:00</dc:date>
	</item>


</rdf:RDF>
