■研究室のトップへ
-
■ 3・ゲーム中のユニットの設計方法
-
・3.1 パラメータの初期値と計算式
ゲーム中に登場するユニットの各パラメータは、そのジョブとレベルから計算されます。
その時に必要となるのが各パラメータの初期値です。
初期値はレベル1での各パラメータの基本値で、男性ユニットと女性ユニットとで異なる値に設定されています。
さらにラムザには専用の設定があります。
男性ユニット・女性・ラムザの各パラメータ初期値は次のとおりです。
男性ユニット |
HP | 30〜31.99… |
MP | 14〜14.99… |
Speed | 6 |
物理AT | 5 |
魔法AT | 4 |
|
女性ユニット |
HP | 28〜29.99… |
MP | 15〜15.99… |
Speed | 6 |
物理AT | 4 |
魔法AT | 5 |
|
ラムザ |
HP | 30〜31.99… |
MP | 15〜15.99… |
Speed | 6 |
物理AT | 5 |
魔法AT | 5 |
|
HPとMPにはランダムによる変動があります。Speed・物理AT・魔法ATにはランダム要素はありません。
また、男性は女性よりHPと物理ATが高く、女性は男性よりMPと魔法ATが高く設定されています。
そしてラムザは男性のHPと物理AT、女性のMPと魔法ATを併せ持っています。
特に強化の難しい魔法ATが高いのはラムザの大きな特長になっています。
ゲーム中に登場するユニットの実際の各パラメータは、「そのユニットが就いているジョブで、レベルを1から現在のレベルまで上げた時の値」になります。
具体的には、初期値にジョブごとの成長値とレベルから求められる倍率をかけ、さらに補正率をかけて決まります。
初期値は性別だけで決まり、どんなジョブでも上に示した範囲で一定ですが、
ジョブごとの成長値と補正率が異なることからユニットごとの個性がでてきます。
このとき、各パラメータの計算に用いられる公式があります。
| パラメータ基本値 | = パラメータ初期値 × (レベル + 成長値) / (1 + 成長値) |
パラメータの実際の値 | = 基本値 × 補正率 |
というものです。パラメータ初期値と成長値からパラメータ基本値が求められ、これに補正率をかけて実際のパラメータが決まることが表現されています。
ジョブチェンジをした場合、基本値はそのままで補正率の値が変わり、それによって実際のパラメータ値も変化します。
例として、敵として登場する「レベル 10の男性のアイテム士」のパラメータを求めてみます。
HPはランダム要素がありますが、初期値が最低値の 30だったとします。
アイテム士のHP成長値は 12、HP補正率は 80%なので、
| HP基本値 | = HP初期値 × (レベル + HP成長値) / (1 + HP成長値) |
| = 30 × (10 + 12) / (1 + 12) |
| = 50.76… |
HP | = HP基本値 × HP補正率 |
| = 50.76… × 0.80 |
| = 40.60… |
となり、実際のHPは 40になります。
もし初期値が最大値の 31.99…であれば、HP基本値 = 54.15…、HP = 43となります。
同様に、MP成長値は 16、MP補正率は 75%なので、
| MP基本値 | = MP初期値 × (レベル + HP成長値) / (1 + HP成長値) |
| = 14 〜 14.99… × (10 + 16) / (1 + 16) |
| = 21.41… 〜 22.94… |
MP | = MP基本値 × MP補正率 |
| = 21.41… 〜 22.94… × 0.75 |
| = 16 〜 17 |
となります。
Speed、物理AT、魔法ATは次のようになります。
| Speed基本値 | = 6 × (10 + 100) / (1 + 100) |
| = 6.53… |
Speed | = 6.53… × 1.00 |
| = 6 |
| 物理AT基本値 | = 5 × (10 + 75) / (1 + 75) |
| = 5.59… |
物理AT | = 5.59… × 0.75 |
| = 4 |
| 魔法AT基本値 | = 4 × (10 + 50) / (1 + 50) |
| = 4.70… |
魔法AT | = 4.70… × 0.80 |
| = 3 |
まとめると、HP = 40〜43, MP = 16〜17, Speed = 6, 物理AT = 4, 魔法AT = 3 となります。
・3.2 誤差の補正
ジョブやレベルからパラメータを求める場合、ほとんどの場合は上記の公式を持ち入ればほぼ正確な値が求められますが、
まれに目立つほどの誤差が生じる場合があります。
これは、「パラメータの最終的な計算結果が整数になった場合」に発生します。
以下に、具体例として「レベル42の男ナイトの物理AT」について考えてみます。
男性ユニットの物理AT初期値は 5、ナイトの物理AT成長値は 40, 物理AT補正率は 120[%]なので、
これらの数値を公式に代入して計算すると、
| 物理AT基本値 | = 物理AT初期値 × (レベル + 物理AT成長値) / (1 + 物理AT成長値) |
| = 5 × (42 + 40) / (1 + 40) |
| = 5 × 84 / 41 |
| = 5 × 2 |
| = 10 |
物理AT | = 物理AT基本値 × 物理AT補正率 |
| = 10 × 1.20 |
| = 12 |
となり、物理ATはちょうど12という答えになります。
しかし、実際にゲーム中に登場するレベル42の男ナイトを調べてみると、物理ATは12ではなく11になっています。
そして、より細かく調べてみると、このナイトの物理AT基本値はちょうど10ではなく、10よりもほんのわずかに小さい値( 9.99……)になっていることが分かります。
つまり、実際には「レベルによるパラメータの倍率は、公式で求められる値よりもほんのわずかに小さい値になっている」のです。
上記の例でいえば、 (レベル + 物理AT成長値) / (1 + 物理AT成長値) の値は、ちょうど 2ではなく、実際には 1.99…になっているのです。
この誤差はおそらく、ゲーム中で扱う数値の桁数に限界があり、計算の各過程(特に割り算)でわずかずつ切り捨てられる量があるために
発生しているものと思われます。
通常はほとんど気にするほどのことはない程度の誤差なのですが、
場合によっては上記のように、理論値とゲームの中で実際に登場する値とに明確な差が現れることもあるので気をつけてください。
|