開発日誌

テクニック

[ テクニック ] マップ講座(6) 自然地形の鉄則(3) 対称を避ける

2020-09-15 23:47:44

RPGツクールMZの発売により、中途半端なところで途切れていたマップ講座シリーズ。エターならずに続けます。

前回まで、自然地形の鉄則3つ。

  • 直線をなるべく避ける
  • 直角をなるべく避ける
  • 対称をなるべく避ける

ということで、2つ目の「直角を避ける」まで解説してきました。

というわけで今回は最後の対称をなるべく避けることについてです。

これまでと同様、自然の地形は左右対称を形作ることは少ないです。どうしてもいびつな形になります。

今回は森で考えてみます。まずは適当にフリーハンドで描きましょう。

まあまあですね。ただ、右上と左下の角が直角になっているのが気になります。前回の通り、1マスずつ削って直角を避けましょう。

はい、これで直角を避けることができました。めでたし、めでたし。

……ではなくて。とてつもなく人工感がありますね。上下と左右それぞれ対称のせいです。

こういう場合は、いずれかの角を調整して対称でなくすればOKです。今回はさっき直角を調整した、右上と左下を再度調整してみましょう。

右上を思いっきり削ってみました。その一方で左下は1マス削っただけに留めています。

対称の調整の場合、中途半端に調整しても、また別の場所が対称になってしまうことがよくあります。なので、割と大胆に削るか増やすかしてしまうのがオススメです。

以上で、自然地形の三原則について解説してきました。だいたいこれらのポイントを押さえれば、川や洞窟、森などの自然の地形が不自然な形になることはありません。

逆に人の手が入った鉱山や西洋風庭園などを作りたい時は、直線・直角・対称を適宜混ぜてやると、人工感が出せると思います。

ぜひトライしてみてください!

[ テクニック ] [ ツクール情報 ] 柵の向う側

2020-09-13 03:38:13

そう言えば、何の変哲もなさそうなこのマップですが。

実はこのマップを作るのは、ちょっと苦労と工夫があったんですよね。

というのも、何も考えずにこのマップを作ると、こうなります。

上と左右の柵が、何だかゴツいですよね。

柵はオートタイル扱いですが、マップの範囲外にも同じ柵タイルが存在するように扱われていて、それで柵が画面外に繋がっているわけです。下にある道タイルは画面外と繋がっていた方がいいのですが、柵がこうなっているのはちょっと困ります。

▲知らない人も多い機能の一つ、マップのシフト

というわけで、どうしたかと言うと、いったんマップのサイズを1回り大きくして、周囲を1マス空けた上で柵を張り巡らし、マップのシフト機能で上と左にそれぞれ1マスずつシフトして、最後にマップのサイズを元の17x13に戻しました。

あれ。VX版で同じマップを作った時は、こんな苦労をした覚えはないんだけど……と思って確かめてみたら、どうもRPGツクールVX Aceからの仕様のようですね。VXとVX Ace以降では、柵や茂みなどのタイルの扱いが変わったので、それに伴う仕様変更かなとも思うのですが、ちょっと厄介ですよね。

柵以外のオートタイルは、むしろ外側に繋がってくれた方がありがたいと思うので仕方ない気もしますが、一方で何とかならなかったのかという贅沢な気持ちも。

町や村の周囲を柵で囲む、みたいなことはよくあると思いますが、皆さんどうされているのでしょうか?

私の場合は、以前に述べた通り、必ず周囲に余白部分を残すようなマップ作りをしているので、こういう1画面に収まる特殊シーン用マップ以外では、あまり困ることはないのですが。

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

2020-09-06 03:14:15

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

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

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

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

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

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

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

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

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

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

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 重要語句の文字色変更プラグイン

2020-08-30 00:54:45

自分で使うプラグインの開発シリーズ第4弾。

今回は重要語句の文字色変更プラグインです。

先月「重要語句の色を変える」で、今さらながらRPGツクールVX用のスクリプト素材を提供しましたが、それのMV/MZ対応プラグインです。

今回はMZだけでなくMVにも対応しています。

「文章の表示」コマンドや説明文等で<N名前>のようにテキストを囲むと、囲まれた部分の文字色を手軽に変更することができます。Nの部分は語句の種類に応じて任意のアルファベット1文字を定義することができ、対応する色番号も自由に指定が可能となっています。これにより、人名は青、アイテム名は赤のように、語句のタイプに応じて色を変えることができます。

デフォルトでは以下の設定にしていますが、パラメータで自由に変更が可能です。

語句種 意味 色番号 デフォルト色
<N > 人名 4
<E > 敵キャラ名 4
<P > 地名 6
<I > アイテム名 2
<S > スキル名 2
<K > その他のキーワード 27 ピンク

別にプラグインを使わなくても、特殊文字の\C[n]を使って、キーワードの手前で色を変更し、その後で元の文字色に戻してやれば、同じことを実現できます。RPGツクールMZでは「色番号の挿入」で色も選びやすくなりました。

とは言え、人名は青にしてたっけ赤にしてたっけとか、色を戻し忘れたりとか、後から人名はやっぱり黄色にしたいとか、このプラグインが役に立つ場面はいくらでもあるでしょう。私はもう、これがないと文章が書けない体になってしまいました。

※2022-12-06追記:
MZ v1.6.0で追加された色番号指定を適用した新バージョンをリリースしました。旧バージョンやMVをお使いの場合は色番号指定に非対応のため、手動で色番号の入力をお願いします。

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

[ ゲームリリース情報 ] [ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] アイテム発見イベント規格化プラグインとサンプルミニゲーム

2020-08-28 18:53:17

引き続き自分で使うプラグインをRPGツクールMZ向けに作成していっています。

第3弾は、アイテム発見イベント規格化プラグインです。

これはVXの時に作ったRGSSスクリプトのリメイクで、宝箱やタンス、タルなどを調べるとアイテムが見つかる、というイベントを簡単に組むためのRPGツクールMZ用プラグインです。

私はもう、このプラグイン無しでは宝箱ひとつ満足に設置できない体になってしまいました。

宝箱は「イベントの簡単作成」で簡単に設置できますが、後から中身を別の物に変更したい場合、アイテムを増減するイベントと、「○○を手に入れた!」というメッセージ表示の両方を修正しなければならず、面倒かつミスしやすいです。

そんな面倒なアイテム発見イベントを、簡単に作れるようにするプラグインです。導入方法は以下の通り。

  1. 上記プラグインを組み込む。
  2. アイテム発見のコモンイベントを作る。
  3. 宝箱やタンスなどをイベントとして設置する。イベントの名前を入手品のIDとし、2で作ったアイテム発見のコモンイベントを呼び出します。

以下、詳しく説明します。

プラグインパラメータ

このプラグインには2つのパラメータがあります。

入手品の種別(アイテム、武器、防具など)を表す番号と入手品のIDを、それぞれ格納する変数の番号をパラメータとして設定します。

あと、追加のプラグインとして「文章中にアイテムや敵キャラ等の名前を表示」で紹介した「データベースの名前表示プラグイン(PANDA_ConvertDataName.js)」も、併せて導入すると便利です。

これでプラグインの準備は完了です。

アイテム発見コモンイベント

次に、アイテム発見のコモンイベントを作成します。

最初にセルフスイッチAの状態で分岐し、ONなら既に入手している旨のメッセージを出します。セルフスイッチAがOFFなら未入手なので、入手イベントを実行します。

「プラグインコマンド」で導入した「PANDA_FindItemEvent」の「入手イベント起動(Find Item Event)」を実行します。引数の指定はありません。

プラグインのパラメータで指定した「種別変数番号」の変数に入手品の種別を表す数字(お金=1、アイテム=2、武器=3、防具=4、敵グループ=5)、「アイテム変数番号」の変数に入手品や敵グループのIDもしくは入手金額が取得されます。

アイテムやお金の増減はプラグイン内で処理していますので、後は効果音の演出や入手メッセージの表示などを行えばOKです。ミミックなど敵モンスターを出現させる場合は戦闘の処理が必要です。最後にセルフスイッチAをONにしてやれば、同じ場所から再度入手できてしまうのを避けることができます。

併せて導入した「データベースの名前表示プラグイン(PANDA_ConvertDataName.js)」を使うと、メッセージ内で\item[n] \weapon[n] \armor[n] \troop[n]と記述することによって、n番のアイテム、武器、防具、敵グループ名が表示できます。

入手品の種別で分岐させつつ、文章の表示で\item[\V[x]](xはアイテム変数番号)を使えば、入手時のメッセージを共通化させることができます。

こうしておけば、アイテム入手時の演出やメッセージを後から変更したい場合、ここだけを変えればよいので非常に楽です。デフォルトとはちょっと違う、凝った演出などもやりやすくなるでしょう。

イベント設置

コモンイベントを用意したら、実際の宝箱などのオブジェクトをイベントとして設置します。

実行内容は、先ほどのコモンイベントを呼び出すだけでOKです。

そしてここがポイント。イベントの名前を中身の種別+ID番号とします。

アイテムの場合は「i+アイテムID」、武器の場合は「w+武器ID」、防具の場合は「a+防具ID」とします。例えばi1ならば1番のIDのアイテムが、w25ならば25番のIDの武器が手に入ります。また、お金の場合は「g+金額」とし、モンスターを出現させる場合は「e+敵グループID」とすればOKです。

後で中身を変更したくなったら、イベント名を変更するだけでOK。非常に簡単です。

最初はイベントの名前ではなくメモ欄に中身を記述する予定でしたが、いざやってみると、メモ欄だとイベントを開いてみないと記述が分かりません。その点、名前だとMZから登場したイベントリストや右下のステータスバーにも表示されるので、分かりやすかったです。いちいちイベント名を「宝箱」とか「ツボ」とかする人もいないでしょうし……。

サンプルミニゲーム

これだけだと、なんのこっちゃだと思いますので、例によって実際のサンプルプロジェクトを用意しました。

ただのサンプルでは味気ないので、ちょっとしたミニゲームに仕立ててみました。

『夫婦戦争MZ - Find Item MZ -』

  • 部屋の中を調べて、ダンナの浮気の証拠を探しましょう。
  • 宝箱、ツボ、タル、木箱、机、タンス、戸棚、本棚、額縁の裏からベッドの下まで、あらゆるオブジェクトが調べられます。
  • 浮気の証拠だけでなく、便利アイテムや装備品、ストレス解消に役立つ道具もあります。中には敵が潜んでいる場所も……。
  • 探せるチャンスは10回です。10回調べ終わると、ダンナが帰ってきます。
  • それまでに入手したアイテム等によって、エンディングが変わります。
  • エンディングは全部で10種類。ハッピーエンドを目指してがんばってください!

RPGツクールVX用に作ったスクリプトのサンプルゲーム『夫婦戦争 ~ Find Item ~』のMZ版リメイクです。

部屋を広げて調べられるオブジェクトを増やしたほか、アイテムや装備品、ストレス解消法(魔法)も増量。敵モンスターは一新しました。

VX版のリリースから9年の月日が経っていますが、照代さんは1歳しか年を取っていないとか何とか……。

ダウンロードした「FindItemMZ.zip」を解凍してください。解凍されたフォルダの中にある「Game - ショートカット」をダブルクリックすると、ゲームが始まります。

RPGツクールMZをお持ちの方は、「GameData」フォルダー内の「game.rmmzproject」をプロジェクトとして開くと、実際にどのようにイベントが組まれているかを確認することができます。ご利用の際の参考にしてください。

RPGツクールMZをお持ちでない方も、単純にミニゲームとして遊んでいただけます。

バグ報告、ご質問、ご要望等は、お気軽にコメント欄までどうぞ!