開発日誌

テクニック

[ テクニック ] [ 素材 ] [ プラグイン/スクリプト ] 文章中にアイテムや敵キャラ等の名前を表示

2020-08-22 12:41:50

天下御免!からくり屋敷』の歴史編制作と並行して、RPGツクールMZも触っていこうと思っているので、さっそく自分で使いそうなプラグインを作ってみました。

MZ用に作ったものですが、試したらMVでも普通に動作しました。

「文章の表示」コマンドやアイテム等の説明文で、以下の制御文字をそれぞれの名前に置き換えてくれるプラグインです。

\class[n] n番の職業名
\skill[n] n番のスキル名
\item[n] n番のアイテム名
\weapon[n] n番の武器名
\armor[n] n番の防具名
\enemy[n] n番の敵キャラ名
\troop[n] n番の敵グループ名
\state[n] n番のステート名

\item[\V[1]]のように、nに変数を用いることも可能です。この場合、1番の変数に格納されているID番号のアイテム名が表示されます。

さらに\*skill[n]のように頭に*を付けると、そのスキルのアイコンを表示できます。item、weapon、armor、stateも同様です。もちろんclass、enemy、troopは、*を付けてもアイコンは表示されません(付けてもエラーにはなりません)。

具体的な使い方は以下の通り。

上のように書いておくと、下のように表示されます。

こうしておけば、アイテム名や敵キャラ名を後で変更した時に、台詞もいちいち変更して回る必要がなくなるので、非常に便利だと思います。

プレビューだと正しく表示されないのですが、実際のゲームではちゃんと置き換わって表示されます。ウィンドウの横幅からはみ出さないようにご注意ください。

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

[ テクニック ] マップ講座(5) 自然地形の鉄則(2) 直角を避ける

2020-08-18 21:39:34

前回に引き続き、洞窟や川など自然の地形をキレイに作るための鉄則を解説します。

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

以上の3つのうち、今回は2つ目。直角をなるべく避けるについて解説します。

1つ目の直線と同様に、自然の地形が直角になることは少ないです。

もちろんこれも前回同様、RPGツクールはマス目が基本なので、デフォルトのタイルセットではどうしても直角になってしまいますが、その点は除外して考えてください。

今回は洞窟の壁で考えてみましょう。まずは壁の天井にあたる部分を輪郭としてフリーハンドで描きます。左側が入口で行き止まりとなる洞窟の小部屋をイメージしました。

繋がっていない部分を修正しつつ、壁面と地面を描き入れました。最初の段階では右端が狭まった形をしていましたが、壁面の2マスと地面の1マスで、合わせて3マス分を空けておかないと、ちゃんとした地形にならないので注意です。

ここで、2マス×2マス以上の辺で作られる角は、直角に見えます。

なので、角を削って2マス×2マスの辺ができないようにします。

これで直角はなくなり、最初に比べてかなり自然になりましたが、右の先端部分がいかにも削って整えました感を出していて、不自然さが残ります。

不自然さの原因は、ここが鋭角になっているせいです。

直角と同様に鋭角も、避けた方が自然です。もともと左右の端は壁面と地面で合わせて3マス分を空ける必要があるため、フリーハンドで描いた地形をもとに調整すると、どうしても鋭角が形成されやすくなります。

こういう場合は、右端を思い切って1マス削ってしまうのがお勧めです。

これで右端もスムーズな弧を描き、自然な地形になりました。

最後の欲を言うと、左下の部分です。ここは、1マス×1マスの辺が4マス続いており、45度の斜めの直線が見えてしまいます。

こういう場合は、どこか1カ所を1マス×2マスの辺にしてやれば、直線感がなくなります。

これで、自然な洞窟の小部屋を作ることができました。

ポイントは、2マス×2マス以上の辺を作らないことです。1マス×1マス、1マス×2マス、1マス×3マスなどの辺を組み合わせて、自然なカーブを描くようにしていけば、直線や直角を避けて自然な地形を作ることができます。

洞窟の壁だけでなく、川や森林でも同じことです。

鉄則を押さえて自然な地形を作っていってください!

[ テクニック ] マップ講座(4) 自然地形の鉄則(1) 直線を避ける

2020-08-15 15:06:08

マップ制作講座の第4回。

今回は特に、洞窟や川など自然の地形をキレイに作るための鉄則を解説します。

その鉄則とは、以下の3つです。

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

もちろんRPGツクールはマス目が基本なので、よほど凝らない限りは直線や直角ができるのですが、そういうことではありません。あくまでデフォルトのマス目タイルの範囲で、自然なマップを作ることも目的としていますので、ご注意を。

今回はそのうちの1番目。直線をなるべく避けるについて解説します。

まず、自然の地形はあまり一直線を形作ることがありません。形成時の力の作用や風化・浸食などによって、ランダムな曲線を描くのが普通です。

マップを作る際も、そのことを念頭に置いて描くと、自然な地形が描けます。

試しに、川を横に引いてみましょう。まずは一直線に引いてみます。

まったく自然ではありませんね。人工的に引いた用水路のようです。

これを自然な川に見せるためには、いい感じに蛇行させてあげればよいのですが、そのいい感じってのをどうすればいいんだよって話ですね。

まずは、フリーハンドで川を引きます。

なるべく一直線にならないよう、波線を描くように引くといいです。スケールを1/4(25%)ぐらいに縮小すれば引きやすいと思います。まずは深く考えずに引きましょう。途中で川が切れたり太くなったりするのは、気にしなくて構いません。

だいたいのラインが引けたら、途中で切れたり太くなったりしている部分を修正します。

これで十分、自然な川になりました。

しかし、欲を言うともうひとつ。波線の下端と上端が、一直線上に並んでしまっています。

こういう揃っているラインが見えると自然な感じが薄れます。より自然な川を目指すなら、できるだけ揃わないようにしましょう。

というわけで、右側の下端と上端を1マスずつ下にずらしてみました。

これでだいぶ自然に蛇行する川ができました。

ポイントは、まずフリーハンドで引くことです。こうすれば直線を避けることは難しくありません。最初にフリーハンドで大体の形を引いて、途切れたり重なったりした部分を修正すれば、それだけでもOKです。

それに加えて、端のラインが揃わないように気を付けることがポイントです。隣のカーブと上下左右の端が揃わないように、ずらしてあげましょう。

今回は川で解説しましたが、森林や洞窟の壁などでも同じです。

鉄則を押さえて自然な地形を作っていってください!

[ 天下御免!からくり屋敷 ] [ テクニック ] [ 素材 ] お行儀良く寝ましょう

2020-08-09 22:48:30

和風マップチップの豪華なお布団って、横に2マス分ありますね。

ここに一人を寝かすと、布団の左右どちらかに寄ってしまって、見栄えが良くありません。

そんなにこだわらなくても、という気もしますが、シリアスなシーンでは、そういう突っ込み甲斐のある部分はできるだけ避けた方が無難です。

というわけで、ちゃんとお布団の真ん中で寝てくれるように直しました。

具体的にどうしたかと言うと、専用のキャラクターチップを作って対処しました。

専用キャラチップは、横幅が通常の2倍になっており、そのうち左右どちらかにキャラを寄せた形にしています。

キャラクターチップは置いたマスの下端中央が基準になるので、こうすれば布団の中央にキャラを寝かすことができます。

しかし、ここで問題がいくつか。

2マス分の布団のうち、イベントが設置されているのは左右どちらかだけになるので、このままだと話しかけたりした場合に片方でしかイベントが発生しませんし、反対側から話しかけようとすると顔の半分を踏んづけてしまうことになります。

というわけで、もう片方にも通行不可の空のイベントを設置して、同じイベントが発生するようにしました。これだとセルフスイッチとかは使えなくなるので、スイッチやコモンイベントを多用することになりますが。

これでちゃんと布団の中央で寝てくれるようになりましたが、今度は目が開いたままなのが気になってきました。

特に死に別れのシーンなどでは、「目を開けてくれ!」などの台詞も飛び出しているのに、キャラは目が開いてるじゃん、というのもオマヌケな感じです。これはキャラチップを加工して、閉じた目のキャラ画像にしました。この程度なら何とかできます。

さらに、フキダシアイコンは元のマスが基準になるので、このままだとずれて表示されてしまいます。

これはスクリプトを作って対処しました。相変わらずRPGツクールVX用ですが、スクリプトを公開します。

指定した番号の変数にX座標・Y座標の調整値を代入しておくと、その分だけフキダシアイコンがずれて表示されるようになります。X座標だけで十分でしたが、ついでなのでY座標も調整できるようにしました。表示後に変数の値を0にするのを、忘れないようにしてください。

質問やアドバイスなどはコメント欄まで、お気軽にどうぞ。素材利用条件などについては、このサイトについての「提供素材について」の項目などをご覧ください。

簡易な実装なので、いくつか制約があります。

調整は同時に表示されているフキダシアイコン全てに適用されます。特定のキャラのフキダシアイコンのみを調整することはできません。また、調整値の変数はフキダシアイコンが消えるまで保持しておかないといけません。「フキダシアイコンの表示」コマンドの直後で調整値の変数を0に戻すと、調整値が反映されなくなってしまいます。必ずフキダシアイコンが消えるまで待ってから、調整値を戻しましょう。

うーん……。

最初はお布団の真ん中でお行儀良く寝かせたいだけだったのに、一つを直したことによって連鎖的に他の部分も直す必要が出てきてしまうという。まさに角を矯めて牛を殺す状態になるため、ある程度のところで割り切るのが必須だと思いました。

[ テクニック ] マップ講座(3) ダンジョンは先に動線を決める

2020-08-02 06:50:32

マップ制作講座の第3回。

今回はダンジョンの作り方です。

ダンジョン制作は苦手な方が多いようで、RPGツクールVXの頃からダンジョンの自動生成機能が備わっています。自動生成してから細かい部分を手動で調整するのが、よくあるダンジョン制作の方法かもしれませんが、今回はダンジョンをイチから作るコツを解説します。

ダンジョン作りの一番のポイントは、先に動線を決めることです。

大まかな手順としてはこんな感じ。

  1. マップのある程度の広さを決める
  2. スタート地点とゴール地点を決める
  3. スタートからゴールまでなるべく長い距離を通る正規ルートを決める
  4. 正規ルートに寄り道を追加する

以下、具体的に説明します。

まず始めに、マップのある程度の広さを決めましょう。

マップの広さは、最初はとりあえずで構いません。

計算尽くでやるならエンカウントの平均歩数と回数とで決めたりもしますが、そこまでしなくても、小さめのダンジョンか大きめのダンジョンかで、だいたい決めればOKです。正規ルートや寄り道ルートの動線を固めながら、後で徐々に調整していっても問題ありません。

ちなみに『天下御免!からくり屋敷』の各階層は、余白込みで91x75となっています。最初はもっと狭かったのですが、段階的に広くしていって今の大きさになりました。

次に、スタート&ゴール地点を決めます。

スタート地点はダンジョンの入口や、前の階からの階段の位置などです。ゴール地点は、ボスや目的の宝箱、もしくは出口や次の階への階段の位置などです。

『天下御免!からくり屋敷』の場合は、スタートは前の階の階段の位置で、ゴールが首領部屋となっています。首領部屋が次の階のスタート位置になるので、それを踏まえてゴール地点を決めている感じですね。だいたい、スタート地点の点対称の位置にゴールを置くことが多いですが、常に点対称だとダンジョンの構造がマンネリ化するので、適度に変えたりします。

また『天下御免!からくり屋敷』には階層を自由に行き来できる「エレベ板」があり、この位置は固定です。このような既に決まった構造物(吹き抜けとか)がある場合は、この時点でマップに組み入れておきましょう。

いよいよメイン作業。

スタート地点とゴール地点を結ぶ動線(正規ルート)を描きます。

スタートからゴールまで直線ではなく、マップ全体を迂回するように動線を引くと、効果的なダンジョンとなります。

全体を迂回すると言っても、あまり隙間なく動線を引いてしまうと、寄り道(宝箱や外れのルート)の余地がなくなってしまうので、ある程度は隙間を残しましょう。

『天下御免!からくり屋敷』の場合は、スタート地点から間もなく「エレベ板」に至り、しばらくして「からくり部屋」を通過し、しばらくすると「エレベ板」の近くを通過してショートカットの「かんぬき扉」があり、そこからさらに進んでゴールの「首領部屋」を配置しています。このように経由する施設が多い場合は、各施設の距離感を考慮する必要があるため少し頭を使いますが、通常のダンジョンであれば、スタートとゴールを結ぶだけで十分でしょう。

慣れていれば動線を引きながらマップを作ることも可能ですが、慣れないうちはまず紙などに書いてみるのがいいでしょう。

最後に、正規ルートの隙間に寄り道ルートを引いていきます。

寄り道ルートとは、外れのルートや宝箱などのルートです。

寄り道ルートは行き当たりばったりで作るよりも、あらかじめ宝箱をいくつ置くか決めた上で作っていくのがいいでしょう。ただ、実際のマップに組み込む際に、上手く寄り道ルートを作れないといったことも起こりうるので、宝箱の数はガチガチに決めるのではなく、5〜7個ぐらい、みたいに緩く決めておくのがコツです。

『天下御免!からくり屋敷』の場合は、1階層で小部屋が5つ、通常のつづら(宝箱)が8つと数を決めていたので、これに沿って寄り道ルートを作っています。実際にはマップを作る上でさらに隙間とかができてしまうことがあるので、そういう時は「小さな鈴」の置き場とかに活用しています。

また寄り道ルートは、短距離のものや長距離のもの、1つの寄り道ルートからさらに分岐するルートなど、いくつかバリエーションを設けるのがポイントです。

今回のマップ講座はここまで。

最終的なマップは右のようになりました。動線の細かい部分は、実際にマップを作りながら微調整しています。動線を引いてからここに至るまでは、まだいくつもポイントがありますが、それはまた次回以降で解説します。

いきなりダンジョンを作り始めるのではなくて、最初にしっかり正規ルートと寄り道ルートを決めましょう、というのが今回のポイントになります。

ダンジョンに限らずマップの制作方法は、人の数だけ流儀が存在すると思います。ですが、キレイなマップはたいてい行き当たりばったりではなく、動線がちゃんと考えられているはずです。

小さいマップならともかく、ある程度の大きさを持ったマップであれば、最初にしっかりと動線を引いてから作ると、キレイなマップができると思いますので、ぜひ試してみてください!