開発日誌

素材

[ 王国の英雄 ] [ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 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ライセンスとしています。丸パクリなどでなければ基本的に利用は自由です。このサイトについての「提供素材について」の項目なども併せてご覧ください。

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 必要経験値をExcelで計算

2020-09-17 05:02:01
  • 次のレベルに上がるまでどのくらいの経験値が必要か。
  • 敵を1体倒すごとに得られる経験値はどのくらいか。

この両者のバランスを誤ると、レベル上げ作業が苦痛になったり、逆に普通に進めるだけで適正レベルをはるかに超えてヌルゲー化したりしてしまいます。

そこで、その調整をやりやすくするためのエクセルファイルを作ったので公開します。もちろん利用にはMicrosoft Office Excelが必要です。

RPGツクールVX Ace以降の経験値計算を対象としています。もちろんMVや最新のRPGツクールMZも対象です。

使い方はいたって簡単。

まずは、経験値曲線の4つのパラメーターである「基本値」「補正値」「増加度A」「増加度B」を入力します。

すると各レベルにおいて、次のレベルまでの必要な経験値と、累積経験値がそれぞれ算出されます。

次に、1回の戦闘で出現する敵キャラ数の平均値を「平均敵数」欄に入力します。だいたい2〜3体で出現することが多ければ、2.5ぐらいじゃないでしょうか。

そして「戦闘回数」の欄に、次のレベルに上がるまでに想定している必要戦闘回数を入力します。だいたい1つのダンジョンに入って出てくるまでにレベルが1上がると想定していたら、そのダンジョンでだいたい何回ぐらいの戦闘を想定しているか、ということです。最初は少なく、だんだん必要回数が増えていくのが、それっぽいのかなと思います。

以上で、各レベル帯において、敵1体に設定すべき獲得経験値の目安が求められます。

つまり、レベル10ぐらいで到達している地域で出現する敵の経験値は、どのぐらいが適正なのか、ということが算出できるというわけです。

昔のRPGだと、たびたびレベル上げ作業を強いられてもプレイしてもらえましたが、最近ではレベル上げが必要となろうものなら、まず投げ出されてしまいます。しかも一本道ストーリーも喜ばれず、いろいろな寄り道要素があるのが好まれるため、適正レベルの調整は並大抵のものではありません。

しかし、VX Ace以降の経験値計算法は、VXの頃に比べて適正経験値量の調整が難しくなったような。まあこれについてはまた別で述べたいと思います。

[ ゲームリリース情報 ] [ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] アイテム獲得メッセージにアイコンを表示

2020-09-06 03:14:15

自分で使うプラグインの開発シリーズ第5弾。今回もRPGツクールMV/MZ共通対応です。

プラグイン第1弾として公開した「データベースの名前表示プラグイン(PANDA_ConvertDataName.js)」を使うと、文章中でアイテム名の頭にアイコンを表示させることができますが、敵を倒してアイテムを入手した際のメッセージでは、アイコンを表示させることができません。

というわけで作りました。

このプラグインを導入すれば、戦闘終了時のアイテム獲得メッセージで、アイテム名の頭にアイコンを表示させることができます。

サンプル画像ではアイテム名の色も変わっていますが、これは「用語」の「メッセージ」で色を変更しているだけです。

色の変更は前回紹介した「重要語句の文字色変更プラグイン(PANDA_KeywordColor.js)」を使うと便利です。

戦闘終了時のメッセージは、他のプラグインで大きく変更している場合も多いと思います。そういう場合には、このプラグインはおそらく正常に動作しません。あくまでデフォルトのメッセージ表示の場合にのみ動作を保証します。

RPGアツマールで公開中のミニゲーム『夫婦戦争MZ(まさに絶体絶命)』にも、このプラグインを組み込んで更新しました。

まだプレイされていない方はこの機会にぜひプレイしてみてください。既にプレイされたという方も、再度プレイして見た目の違いをお楽しみください。

ちなみにハッピーエンドにたどり着けるルートは、作者が想定しているだけでも6通りあります。ぜひ全てのルートで攻略してみてください!

[ 天下御免!からくり屋敷 ] [ 素材 ] [ ツクール情報 ] [ その他の雑記 ] MV Trinity素材集を紐解いてみる

2020-09-01 23:01:03

RPGツクールMZのバンドル版で付属してきた(現在は通常DLC製品として購入可)「RPGツクールMV Trinity グラフィック&音楽素材集」。

PS4やSwitch用のツクールとして発売された「RPGツクールMV Trinity」に同梱されていた素材が、MZ向け(MVでも使用可)の素材集としてリパッケージされたものです。

まあいくつか使えるものがあればいいな、ぐらいの気持ちで購入しましたが、収録点数がとにかく多いです。戦闘背景が50点、歩行グラが48人分+扉などのオブジェクト多数、顔グラ48人分、敵キャラ50体、タイルセットがなんと133ファイル、BGMが100弱、SEが200弱、バストアップイラストが250点あまり。過去素材の再録とは言え、この点数は半端ないですね。

もともとMV Trinityは、ファンタジー、SF、和風、中華、アラビアン、現代、スチームパンク、ダークファンタジーの8種類のテーマが設定されており、タイルセットや敵キャラ、BGMなども各テーマに沿ったものが収録されています。

ただ、タイルセットはともかく、敵キャラなどは各テーマで10体前後しかないため、中華やアラビアを舞台にした長編RPGを作るには足りない感じがします。どちらかというと「ドラクエ3」のジパングみたいに(例えが古い)、そういう雰囲気の地方・町が1つ存在する、といった使い方が適している気がします。アラビアン素材は砂漠の町を作るのに役立ちそうですね。

基本はVX Aceや素材集・和の素材を、MVの素材規格およびテイストに合わせて描き直したものが多く、MVやMZの素材と混ぜても違和感のない、それでいてMVのような紛い物感もない、使いやすそうな素材が多い印象です。

和風のタイルセットも、もともとMV用に発売されていた公式素材集の和・闇/光/黄昏の、どうしても作り物っぽさが拭えない質感とは異なり、VX時代に発売された素材集・和をベースにしたものとなっているため、MV/MZで和風モノを作るのにも困らなそうです。

実際には、和素材集の時にはなかった小物が追加された反面、一部の小物はなくなったりもしているため、全く問題ないかと言われると、そんなことはありません。ただ、これだけベースがあれば、他の素材と組み合わせるなど工夫次第で、それなりの和風モノは作れそうです。

実はこのところ、『天下御免!からくり屋敷』の続編完成が例えば10年後になるとして、今のままVXで作り続けていていいのかという問題に悩み始めていたのですが、この素材があればMZでリメイクすることも不可能ではなさそうです。その前に、10年後になるのを何とかしろって感じもしますが……。

あと、敵キャラにこんな奴もいました。

中華テーマということで収録されてるんだろうと思いますが、お前、和素材集のヒグマを塗り直しただけじゃねーか。騙されないぞ!

作者降臨させたい時に役立ちそうです。

実は『天下御免!からくり屋敷』の歴史編では、2017年頃に行けるようになっていて、そこで作品のリリースを断念しそうな作者を倒す、というシナリオ構想があったのですが、作者がボスで襲ってくるというのはクソゲーすぎて、歴史編の数を減らすとともにボツにした経緯があるので、日の目を見ることはなさそうです。

顔グラやご丁寧に立ち絵まであるので、ネタ画像の素材にはなってくれそうですけど。

[ 王国の英雄 ] [ 素材 ] [ ツクール情報 ] MZのキャラ生成をいじり倒す

2020-08-31 00:40:41

RPGツクールMZのキャラクタージェネレーターをいろいろといじってみました。

MVのキャラジェネと比べると、顔のサイズが一回り大きくなっているようですね。それによって、新たに追加されたオフセット機能も生きてきます。

オフセットは、同じキャラの少年時代と青年時代とかで使う(目の位置が低いと子供っぽく、高いと大人っぽく見える)くらいで、そんなに使うことはないかな?と思っていたのですが、割とよく使いますね。顔の輪郭や他のパーツとのバランスで、けっこうポチポチと調整しました。1ドット違うだけでも、かなり印象が変わります。

あとは、肌の色のバリエーションが増えたため、色白キャラや日焼け健康キャラといった差が付けやすくなりました。MVの頃は白すぎ黒すぎで事実上デフォルト一択だったのですが、これは便利です。あとは服飾品のカラーバリエーションがまだ少ない気がするので、デフォルトでもっと増やしてくれると嬉しいです。

服や装飾品の種類がまだ少なくて限界があるのですが、ヒーロー&ヒロインタイプのキャラクターはMVの時よりも作りやすくなっている気がしますね。

別に私だって、好き好んでオッサンオバサンばっかり作ってるわけじゃありません。

というわけで、新作で想定しているメインキャラを、勢いに任せて作ってみました。

まだ細かい部分は調整するかもしれませんが、主人公組はなかなかいい感じの出来に仕上がったかと思います。え……? 下段……?

えーと、スキンヘッドに眼帯だと、眼帯が途中で切れちゃってますね。MVの時はちゃんとなっていたのに。このくらいなら自分でも何とか修正できるかな。いや、オッサンの話は今日はいいから!

きゅっと口角の上がった口のパーツが多く、自信たっぷりのヒーロー&ヒロインキャラが作りやすいのでしょう。反面、MVで多かった口角の下がった口パーツはあまりないので、悩み多きキャラみたいなのは作りにくい印象です。

それと、パーツの数自体はたくさんありますが、しっくり来るパーツの組み合わせは限られているので、何も考えずに作ると、前のキャラとパーツが被ってしまうことがよくあります。眉や目はぱっと見で似た形状のパーツも多く、いろいろ試行錯誤しながら作っていると、最終的にどのパーツにしたのか覚えてなかったりします。この辺、何か良い方法はありませんかね……。

あと気になっているのは、2人目のキャラの首に巻いてあるモノ。プレオーダー版特典に付いてきたキャラクタージェネレーター素材集の服パーツですが、この首に巻いてあるのって何なの? 色を黄土色とかにすると、首吊り寸前にしか見えない。中尾彬みたいなやつ? って、結局オッサンの話かよ!

プレオーダー版特典と言えば、リミックス楽曲素材集のMZre_Battle5とNew_Battle1ってカッコいいですよね! この辺の曲をずっと流しながら作業してます。どっちかの曲で、各キャラの立ち絵4〜5枚が流れていくようなオープニング映像を作ってみたいですね。作らないけど。