⚔️

『RPGツクールMZ』[データベース]-[職業]のヘルプ

2022/05/25に公開約5,200字

『RPGツクールMZ』関連記事 目次

今回は『RPGツクールMZ』の職業の情報をまとめた[データベース]-[職業]の設定方法を取り上げて使い方を解説していきます。
基本的には付属のヘルプを読めばいいし、公式のRPGツクールMZ 初心者講座 やエディタの[ヘルプ]-[チュートリアル]を見ていけば、ひととおりの操作は身につくはずです。
ただ割と説明されていな部分もありますし、説明されていても見逃しやすい部分、あるいは裏技っぽいところも取り上げていきます。
一応いきなり本記事を読んでもわかるようには書いたつもりですが、上記の初心者向けの公式コンテンツを併用していくことをオススメします。
またこの記事の前でも後でも良いので『RPGツクールMZ』の[データベース]共通操作ヘルプを読むのをオススメします。

[職業]は、ほぼ戦闘用の設定なので、戦闘がないゲームなら無視できます。

ショートカットキー

著者がMacユーザなので、基本的にMacでの画面や操作方法で記述しています。
Windowsユーザのかたは、ご自分の環境に合わせて読み替えてください。

記号 Mac Win
command Ctrl
shift Sft
option Alt
control なし

[⌃]はコンテキストメニュー(いわゆる右クリックメニュー)を表すのに使っています。

用語

アクター … 役者(Actor)という意味です。ゲームで操作できるキャラクターのことを指します。
レベル … アクターのだいたいの強さを表す値です。レベルを基準に職業ごとの能力が算出されます。
職業 …職業(Class)はアクターの主に戦闘における特徴をまとめたもので、複数のアクターから指定できます。

職業ウィンドウ

[データベース]-[職業]は、このようなウィンドウです。

メニューやツールバーのボタンから[データベース]を選び、左側のタブから[職業]をクリック!

個々のキャラクターの性質は[アクター]で設定されますが、実のところ[職業]がキャラクターの基本的な性質を決めます。
というのも[職業]で成長ペースと、成長によってどういった基本能力やスキルが獲得されるかが設定されるからです。

初期値では職業に剣士が用意されていて、アクターに 剣士のリード剣士のミシェル が用意されています。
このように、複数のアクターが同じ職業を選べます。
この両者の能力は[アクター]データベースで[特徴]が設定されていないので、まったく同じです。

両者に個性を持たせようと思う場合、まず[アクター]-[特徴]に設定を追加する方法があります。
さらに強い個性を持たせたいならアクターごとに専用の職業を作り、たとえば 重剣士のリード軽剣士のミシェル のように「1職業1アクター」にすると良いでしょう。

①職業リスト

プロジェクトに含まれる職業を管理します。

②基本設定

基本設定というか、画面にレイアウトした時に分類できなかった残りを枠でくくった、という感じです。

[名前]…ステータスメニューで表示される職業名です。
[経験値曲線]…経験値とレベルの関係を設定したものです。

経験値曲線

[経験値曲線]のボタンをクリックすると表示されるウィンドウで、経験値とレベルの関係を表しています。

[次のレベルまで]タブは、レベルごとに必要な経験値が表とグラフで表示されます。
[累計]タブは、レベルごとに必要な経験値の累計が表とグラフで表示されます。

必要経験値のグラフを形作るのは次の4つの値です。

  • [基本値]…基礎となる値です。全体的な値の大きさを決めます。(10〜50)
  • [補正値]…指定値を加算します。序盤の影響が高い値です。(10〜40)
  • [増加度A]…レベルと比例的に増加します。(10〜50)
  • [増加度B]…高いレベルで増加します。(10〜50)

計算式は非常に複雑なので、バーを動かして雰囲気で決める他ありません。
敵を倒して手に入る経験値なども関わってくるので、基本的にはそのままで良いと思います。

豆知識

以上のパラメータを元にコアスクリプトの、次の部分で必要経験値は算出されています。

Game_Actor.prototype.expForLevel = function(level) {
    const c = this.currentClass();
    const basis = c.expParams[0];
    const extra = c.expParams[1];
    const acc_a = c.expParams[2];
    const acc_b = c.expParams[3];
    return Math.round(
        (basis * Math.pow(level - 1, 0.9 + acc_a / 250) * level * (level + 1)) /
            (6 + Math.pow(level, 2) / 50 / acc_b) +
            (level - 1) * extra
    );
};

一般的な数式として書き直してみます。

基本値 \times レベル \times (レベル + 1) \times (レベル - 1)^{\frac {増加度A} {250} + 0.9} / ({ \frac {レベル^2} {増加度B \times 50} + 6 }) + (レベル - 1) \times 補正値

<Bad!>わからん!

なんでこんなに複雑にする必要があるのか?学術シミュレーションの精度はいらないよ。ゲームだよ!
数式、ちゃんと書き直せているのか自信ないぐらい複雑。

ダメージ計算式みたいに式書かせていいんじゃないのかな?
全数値指定式方式と選択できるとなおよし。

③能力値曲線

レベルアップ時の基本能力の上昇設定をします。
表示されているグラフをダブルクリックする(または選択してスペースキー)とそれぞれの値に対応したウィンドウが開きます。

ウィンドウを開いた後も、上部のタブをクリックすることで設定する値を選択できます。

指定できる値は次の範囲です。

  • [レベル] 1~99
  • [最大HP] 1~9999
  • [最大MP] 0~9999
  • それ以外の能力値 0~999

[簡単設定]…[A]~[E]のボタンを押すと設定済みのグラフが適用されます。[A]が一番高い能力が設定されています。
[レベル] > [値]…[レベル]に対応した [値]を直接入力して決めます。
[曲線生成]…クリックすると開くウィンドウで、半自動で値を設定します。
* [終点の値]…設定したレベル1と99の値からグラフを生成します。
* [成長タイプ]…早熟は序盤で値が上昇し、逆に晩熟は後半に値が上昇します。

[グラフ]…クリックすると [レベル] > [値] に値が反映されます。

豆知識

[経験値曲線]は用意された計算式のパラメータを設定する形で決められていますが、[能力値曲線]はレベルと対応する全数値指定式方式です。
逆に[能力値曲線]は計算式による決定方法も用意して欲しかったように思います。

ちなみに > は矢印の意味で書かれていると思うのですが …数学記号(比較演算子)のように見えて、ちょっと混乱します。

④習得するスキル

レベルごとに習得するスキルを設定します。

この設定をするには、あらかじめ[データベース]の[スキル]を設定しておく必要があります。
これらのデータベース設定は非常に大きな労力を必要とするので、慣れないうちは初期値のままで構わないと思います。

  • [レベル]…スキルを取得するレベル。
  • [スキル]…取得するスキル。
  • [メモ]…ゲームの動作に影響しない、製作用メモ欄。

⑤特徴

アクターごとの追加能力で、[データベース]の[アクター]、[武器]、[防具]、[敵キャラ]および[ステート]の[特徴]とほぼ同じです。

参照:『RPGツクールMZ』の[特徴]一覧

⑥メモ

純粋にメモとして制作の覚書に使うほか、メタタグの記述にも使われます。

終わりに

『RPGツクールMZ』は職業がアクターとは別に設定されるようになっている割には、職業を途中で変えることをあまり意識していない作りになっています。
いわゆる「転職」が可能なゲームを作るのは、茨の道な気がします。

また、RPGではレベルアップ時にある程度ランダムで能力値が上昇するものや、コストを使ってプレイヤーが上昇させる能力値や(パッシブ)スキルを選ぶようなシステムも珍しくありませんが『RPGツクールMZ』は、標準ではどちらの方式も選べません。
いわゆる「スキルツリー」のあるゲームも、なかなかの茨の道です。

という感じで、少々立ち位置の微妙なところがある職業ですが、特徴や取得スキルの工夫で、かなり面白いキャラも作れるみたいです。
「みたいです?」そう!僕はほとんど使ったことがないのでイマイチよくわかってないのです。わははははー。

レッツ エンジョイ ツクールライフ!

Discussion

ログインするとコメントできます