開発日誌

王国の英雄

[ 王国の英雄 ] [ サイト情報 ] [ その他の雑記 ] ツクラーショウケースに出演しました

2025-07-14 22:29:16

少し時間が経ってしまいましたが、2025年6月15日の「ツクラーショウケース」にサプライズツクラーとして出演させていただきました。

ツクラーショウケースとは、shinさん主催のYouTubeチャンネルで年に数回開催されている、ツクールを中心としたゲーム製作者のプレゼンテーション企画で、今回で5回目となります。

毎回、事前に出演者が知らされていないサプライズツクラーという枠があって、意外な人物の登場に湧いたり誰かを予想して楽しむなど盛り上がる企画となっていましたが、第5回の今回はなんと14人全員がサプライズツクラーということで、自分はその中で11番目のサプライズツクラーとして出演させていただきました。

こちらが当日放送したPVです。

出演オファー

3月の頭頃にshinさんから光栄にも出演オファーの連絡をいただきました。

ショウケースを何度か視聴して一度は自分でも出てみたいと思っていたのと、6月頃ならちょうど制作中の長編大河RPG『王国の英雄』が完成……間近になっている頃なのでプロモーションにもぴったりということで、二つ返事でお受けさせていただきました。

PV作成

もともとリリース時に作ろうと思ってPVの案は構想していたので、それを当日のPVとして完成させることにしました。

こんな感じでExcelに使うシーンと秒数、BGMなどを記して整理していました。コンテのLv1みたいな感じですね。

PVの主な構成としては

  1. 序盤のストーリー紹介
  2. オープニングムービー
  3. システムの特徴紹介

の三部構成で、5分程度の長さを目指しました。

いろいろ詰め込んだり、しっかりシーンを見せるためには想定よりも秒数かかったりで、結局6分の長さになってしまいましたが……。

ゲーム画面の録画はWindows標準のWinキー+Rでできる録画機能、動画編集はMicrosoft公式の無料動画編集ツールであるClipchampを使いました。

動画編集は普段あまりやったことがなく、希望の演出を実現するのにかなり手こずりましたが、とにかく触って覚える感じで試行錯誤しながら作りました。

▲主人公コバルトの立ち絵(by oka様)

またオープニングムービーの制作にあたっては、キャラクターの立ち絵をokaさんに描いていただきました。

もともと作品中にオープニングムービーを流す予定で、1年半ほど前に依頼することだけはお話しさせていただいていたのですが、ようやく依頼することが叶いました。

キャラクタージェネレーターで作成した顔グラに身体を生やしてくれ、という無茶なお願いにもかかわらず、快く応じてくださって本当にありがとうございました。

工夫した点

今回はサプライズツクラーでの出演ということですが、サプライズツクラーでいつも困るのは、いまいちどなたなのか分からない点。

もちろんサプライズ枠だけに、名前を言われれば存じ上げている方々ばかりなのですが、普段からよく交流させていただいている方でなければ、画面だけ見て即座にどなたなのかは結びつかないものです。

だいたいあの方だと察しはついても、間違ってると失礼なので、誰かが名前を出してくれるまでコメントできなかったり……。

▲冒頭5秒目で表示したロゴ

そこで自分は、冒頭にパンダのアイコンとwerepanda.jpのロゴを持ってきて、誰なのかを明示するようにしました。

このアイコンはシンプルで特徴があるので、これがあれば誰なのかは分かるだろうと思いました。

▲冒頭で表示したゲーム開始シーン

ただ最初から誰なのか答えが出ているのも味気なく、普段仲良くさせていただいている方々には「コバルト」の名前を出すだけでも反応していただけるのではないかと思い、冒頭の5秒間はゲーム開始の呼びかけシーンを挿入して、その後にロゴを表示するようにしました。

こうすれば、「コバルト! ということはpandaさんだ!」と5秒の間に思っていただけるのかなと。意図通りに行ったかな?

苦労した点

これまでプラグインの解説や制作状況の紹介などで動画は編集したことがありますが、複数の動画の切り貼りや簡単な文字入れ程度しかやったことはなく、本格的なPVの作成というのは初めてでした。

▲様々な効果があるが何が何やら……

Microsoft Clipchampは無料ながらもひととおりの機能は揃っており、文字テロップの挿入やフェードイン・フェードアウト、動画の切り替え(トランジション)や各種エフェクトなど、必要な演出効果は使いたいものを選択してパラメーターを指定するだけで簡単に実現することができました。

ただ効果は「パルス」とか「VHS」とか言われても具体的に指定してみないとどんな効果なのかよく分からなかったり、パラメーターもどの値にすればいい感じになるのか、とにかく実際に指定して試してみないと分からない、というのは苦労しました。

無料版だからなのか、エフェクトもいまいちイメージした演出には物足りない感じで、ある程度は妥協しながらの作成となりました。

また、動画を編集していざ実際に再生してみると、タイミングがいまいちだったり位置がずれていたり、そうしたミリ秒単位、1ドット単位の調整も根気のいる作業でした。まるでツクールみたい。

▲恐怖のキャッシュ切れ

中でも一番苦労したのが、無料版だからなのか、PCのスペックの問題なのか、HDDの残容量の問題なのか、はたまたネットワークの問題なのか、たびたびClipchampのキャッシュが壊れて素材ファイルの読み直しが必要になったこと。

酷い時は1操作するだけで再読み込みが必要になったりして、これが上述のミリ秒や1ドット単位の調整をしている時に起きると、思わず諦めたくなりました。

良かった点

しかし何とか粘り強く編集を続けたお陰で、我ながら満足のいく動画が出来上がりました。一時は10分に1回ぐらい見返したりしてたw

おそらくshinさんの意図通り、当日はとても盛り上がったのが良かったです。

デフォルト素材の使い方が上手いとか、ピクチャなどを使わずに印象的なシーンを作るとか、普段意識している点をお褒めいただけたのもとても嬉しかったです。

Discordで通話するのが初めてだったので、事前に一応shinさんと通話テストを行っただけで、特に話す内容の打ち合わせとか事前準備とかも何もなかったのですが、shinさんがPVの内容や話した内容を上手く拾ってくださって、会話を広げてくださったのも有り難かったです。

何より今回こうして機会をいただけたことで、βテスト版を公開する良いきっかけになりました。

企画とお声がけいただいたshinさん、司会アシスタントで嬉しいコメントをくださったツバスさん、素敵な立ち絵とタイトルロゴを描いてくださったokaさん、そして配信時に有り難いコメントをくださった視聴者の皆さん、本当にどうもありがとうございました!

[ ゲームリリース情報 ] [ 王国の英雄 ] [ サイト情報 ] 長編大河RPG『王国の英雄』βテスト版公開!

2025-06-16 02:49:35

RPGツクールMZの発売直後から制作を開始して約5年。

長編大河RPGと銘打って制作してきた

『王国の英雄 - The Hero of the Kingdom - 』

体験版および正式リリース版に先立つβテスト版を公開しました!

『王国の英雄』公式サイトβテスト版公開のページから作品ページに飛ぶことができます。

フリーゲーム公開サイトのPLiCyで限定公開しているもので、アクセス時にパスワードが要求されますので、βテスト版公開のページの記述に従ってパスワードを入力してください。

βテスト版ということで、上記ページの注意事項をよくご確認ください。特に、現バージョンでは最後までプレイはできない点にご注意ください。また、バランスの悪い部分や進行不能になる深刻なバグ等も残っている可能性があります。不具合等を見つけましたら、ぜひ報告いただけると助かります。

まだ突貫工事でとりあえず公開したレベルですので、公式サイトは順次整備していきます。ぜひプレイしていただき、感想やバグ報告など些細な内容でも構いませんので、コメントをお寄せいただけると助かります。

いただいたプレイの感想やバグ報告などをもとに修正を加えて、最後までプレイできる体験版を8月頃、正式リリース版を9月頃に公開する予定です。

それではどうぞよろしくお願いします!

[ 王国の英雄 ] [ テクニック ] 運の扱いにウンウン悩む

2020-10-20 02:59:45

RPGツクールVXからVX Aceになった際に追加された基本パラメーターで、魔法力と魔法防御については以前記事にしました。結局、魔法の威力のみを高めるスキルや、敵から受ける魔法の威力を軽減のみできる防具などに活用するため、デフォルト通り魔法力と魔法防御を採用することにしました。

さて今回は、もう一つの追加パラメーターである「運」についてのお話。

運の効果はデフォルトでは、自分と相手の運の差1につき、状態異常にかかる確率が0.1%変わるというものです。100の差があってようやく10%ほど変動するので、実際のゲーム中ではほとんど効果が体感できないのではないでしょうか。

パラメーターの数値の桁数にもよりますが、他のパラメーターの値とのバランスも考えると、自分の作品ではだいたい2桁ぐらいの値をとるのが妥当です。

だとするとやはり0.1%の変動では微妙すぎるので、これを0.5%に増やしてみました。こうすると、運の差が100あると50%変動するので、なかなか効果を感じられるのではないでしょうか。

実際には20前後の差に留まることが多いと思われるので、通常状態で10%程度の変動になり、スキル等で運を倍とかにしてやると、変動が30〜40%になるので、状態異常を多発してくる敵に対しては有効な戦術になり得ます。

しかし、せっかくのパラメーターを状態異常の確率だけに使うのはもったいないので、もう少しいろいろなところに運が影響するようにしたいです。

すぐ思いつくのは回避率や会心率に影響させることですが、回避率や会心率が10%も変動すると大変ですし、かといって変動率が0.01%とかだと全くありがたみがありません。

そこで、分散度の振れ幅に運を影響させてみました。

分散度はダメージ量のばらつきに関係するパラメーターで、分散度が20%であれば算出されたダメージから-20%〜+20%の範囲で最終的なダメージが変動します。

この変動幅を運の差によって動かしてみました。具体的には、運が相手より1高いとマイナス方向の分散度の数字が1%(分散度が20%なら0.2%)減るように、相手より1低いとプラス方向が1%減るようにしました。例えば分散度が20%の場合、運が相手より10高いと分散度が-18%〜+20%の範囲で、50低いと-20%〜+10%の範囲になるようにしました。運が高いほど大きいダメージが出やすい仕組みです。

と、言うと戦略的に使えそうな気がしますが、実際には基本ダメージが50で運の差が10あってようやく1変わるレベルなので、やっぱりほとんど影響ないかも。加えて、そのために運を上げるくらいなら、素直に攻撃力や魔法力を上げた方がいいという。

うーん……。

[ 王国の英雄 ] [ テクニック ] [ ツクール情報 ] タイルセットと戯れる

2020-09-24 23:11:10

先日は「SAKAN - タイルセットビルダー -」をRPGツクールMZで使う方法について書いたわけですが、そもそもSAKANがMZで普通には使えないことに不満を言う人も見当たらなければ、MZ発売から1ヶ月も経つのにアップデートパッチも提供されないことが、不思議だったわけです。

でも実際に使ってみて分かった。SAKAN、恐ろしく使いづれーわ。

書き出しの際に1回ずつ保存しないといけないのはまだ許すとして、直前に保存したファイル名を覚えていてくれないので、毎回ファイル名を選ぶ必要があるのが面倒くさすぎます。一般の画像編集ソフトを使った方がはるかに楽で、パーツ素材集として以外に誰も使ってないんじゃないの? これ。

と言いつつ、「GIMP」だと画像ファイルによってはアルファチャネルの透過処理が上手くいかないこともあったりで、結局タイルセットの組み替えはSAKANで行うことに……。

あらかじめ書き出すタイルセットのファイル名を「!A1.png」とかにして先頭に来るようにしておけば、いちいちファイル名を選び直すのも幾分かは楽になります。他のタイルセットからピックアップしてくる際はドラッグで範囲指定もできるので、本当に1タイル1タイル保存していく必要もありません。

こうして出来上がったタイルセット画像は、このままだとRGBカラーで重いため、「PNGoo」を使ってインデックスカラーに圧縮しました。「GIMP」だとやはりアルファチャネルの処理が上手くいかなかったため、専用のフリーソフトを使用しました。

なんか書いてるだけでもめんどk……

▲外から直接室内に入れる

そもそも何か違和感あるなと思ったら、『小さな大冒険』の時は外観と内装が別々のマップになっているのではなく、ファミコン時代のドラクエみたいに建物の中が素通しになっていて、外と室内が繋がっているタイプのマップにしていました。

現在もこういうのが通用するのか分かりませんが、いちいちマップ移動が発生しないので、街歩きは確実にしやすくなるはずです。

お屋敷とか特別な建物はちゃんと外観を作る予定ですが、普通のお店や民家にいちいち外観を作らなくてもいいんじゃないかな? 外から室内の様子や人物が見えるので、この家はもう入ったっけ?というのも減らせるのではと思います。

しかし、それをするためには、現状の外観と内装が分かれたタイルセットは不向きです。

外観のB、C、および内装のB、CはそのままB〜Eのタイルセットに割り当てるとして、問題はAのタイル群。外観と内装で使うタイル、使わないタイルを厳選して、組み替えました。

床や壁などは先日の日誌で述べたように、MV版の方が一般庶民の家向けで汎用性があるため、主にそちらを採用しました。それとのバランスを考えると他のタイルもMV版の方が合うため、結局ほとんどMV版のタイルセットを生かすことに。

とにかくタイルセットが完成しないことにはマップもイベントも作れないので、何とか連休後半で奮闘。A5のタイルを厳選するのが大変でしたね。

というわけで完成したタイルセットを使って少しマップを組んでみたところ。

▲レイヤーを駆使して屋上を作る

▲村唯一のお店。周囲はもう少し木で飾る予定

[ 王国の英雄 ] [ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] PRGツクールMZでルビを振る

2020-09-20 20:29:55

RPGツクールMZで新作を作るにあたって、早期に必要なシステムがルビ振りシステムでした。

天下御免!からくり屋敷』では、和風というコンセプトのもと、難しい固有名詞や漢字熟語が多数登場するため、独自にルビ振りのスクリプトを組んで実現していました。

今回のゲームは和風とかではないので、ルビがなくても大きな支障はないのですが、それでもやはり普段使わない語句なんかは読みにくいので、ルビはあるに超したことはありません。

というわけでルビ表示プラグインを作りました!

これを導入すると、こんな感じでテキストにルビを振ることができます。

ルビの入力は、先日のVX版での記事と同じで、{漢|かん}{字|じ}のようにルビを振りたい文字を{ }で囲んで、|の手前に漢字、後ろにルビを記述すれば、ルビ付きのテキストとして表示されるようになります。

VX版では漢字1文字につきルビ3文字までが限界でしたが、MZ版ではどうやら4文字でも大丈夫そうですね。候(そうろう)とか使うことはないと思いますが、妹(いもうと)とか狼(おおかみ)とかは使いそうです(組み合わせがヒドい)。源順(みなもとのしたごう)さえ登場させなければ問題なさそう。

このプラグインの一番のポイントは、文章の表示だけでなく、アクター名、職業名、スキル名、アイテム名、敵キャラ名、およびスキルやアイテムの説明文や、戦闘メッセージ、マップ名など、必要と思われる場所は基本的に全て対応している点です。

下は装備変更画面ですが、装備アイテム名や説明文にもちゃんとルビが反映されています。

VX版の時は、ルビ分のスペースを確保するために、テキストの1行の高さを標準の24から32に拡大しており、そのせいでほとんど全てのウィンドウのレイアウトを調整する必要がありました。これがかなり、それ以外の画面レイアウト変更と競合するため、スクリプト素材として提供できていませんでした。

しかしMZでは、1行の標準の高さが36で、デフォルトのフォントサイズが26なので、行間には10の余裕があります。このくらいあれば、何とか高さを変えずにルビを押し込めるのではないか、と思って押し込んでみたところ、ちょっと詰まっている感はあるものの、まあまあ許容範囲に収まったので、晴れてウィンドウの高さ調整をすることなくルビ振りが完成しました。

レイアウト調整が不要なため、今回はプラグインとしての提供も可能になっています。

フォントサイズや1行の高さを標準から変更する場合は、おそらくレイアウトの調整が必要になると思いますが、そこまではこのプラグインでは対応していないのであしからず。

まあよく見ると、アイコンの位置がルビを含んだ行高の中央に来てしまっているのが気になるほか、魔法名のようにルビのない語句が下に寄りすぎているように見えるところや、アイテム個数や消費MPなども微妙にズレている感じがするのが、気にはなるところですかね。

ショップ画面の購入数・売却数を指定するウィンドウ(Window_ShopNumber)のみ、×記号と個数は下に寄っているのがかなり気になったので、中央に来るように調整しました。

どうせこのあたりの画面レイアウトは、ルビとは関係なくいじる予定なので、デフォルトのルビ振りプラグインとしてはこんな感じで十分かと。

技術的には、

Window_StatusBase.prototype.isRuby = function() {
  return true;
};

という感じで、ルビに対応させるウィンドウオブジェクトでisRubyを定義して、trueを返すようにしています。falseにすればルビは付かなくなります。falseにした場合、もともとルビ付きのテキストであっても、ちゃんとルビが削れて表示されます。

標準では、所持金表示ウィンドウ、名前や数値の入力ウィンドウ、セーブファイルの選択ウィンドウと、メニューコマンド選択肢全般(タイトル画面や基本メニュー、アイテムやスキルの種別選択、最強装備や購入・売却の選択肢、オプション画面など)、およびデバッグ画面はルビ非対応にしています。「最強装備」とかにもルビを振りたいという場合は、該当ウィンドウのisRubyをtrueに変更すればOKです。

上記のショップ画面の購入個数などの表示位置調整は、

const _Window_ShopNumber_drawNumber = Window_ShopNumber.prototype.drawNumber;
Window_ShopNumber.prototype.drawNumber = function() {
  Window_ShopNumber.prototype.isRuby = function() { return false; };
  _Window_ShopNumber_drawNumber.call(this);
  Window_ShopNumber.prototype.isRuby = function() { return true; };
};

という風に、直前でルビ対応をfalseにして、個数表示後にtrueに戻しています。たぶんこれを応用すれば、前述のアイコンとか消費MP量表示とかの位置も調整できると思いますが、ここから先はご自由にどうぞ。

アラビア語などのRTLにも一応対応させたつもりですが、確認はしていません。日本語以外で使うこともないと思うので、まあいいよね。

質問やアドバイスなどはコメント欄まで、お気軽にどうぞ。プラグイン素材の利用条件についてはMITライセンスとしています。丸パクリなどでなければ基本的に利用は自由です。このサイトについての「提供素材について」の項目なども併せてご覧ください。