v1.14 制作途中経過・その7
能力値がごちゃごちゃしていて複雑に見える問題。
ようやく解決のめどが立ったので、以下その内容を。
能力値のレベル累積方式
能力値にまた機能が増えてしまうのだが、便利に感じたので採用決定。
キャラクタのレベルの上昇に併せて、能力値のベース値が自動的に増加していく仕組み。
- 何レベルで+1にして(整数)
- 何レベルおきに(整数)
- いくつずつ上昇(単精度実数)
という定義を、属性単位で行えるようになった。たとえば以下のような感じ。
- 忍者のアーマークラスを1レベルで+1して、2レベルおきに+1する
これによって、忍者のアーマークラスの自動減少、レベルアップに伴う攻撃回数の増加、呪文の習得速度といったレベル上昇に依存した成長項目が設定しやすくなる。
また、レベル制の好きな人にとっては、ACや攻撃回数に限らず、この機能を使うといろいろなルールに応用が利いて楽しいかもしれない。
アクション系統の習得条件追加
- 消耗能力値A「消耗能力値の当該最大数がゼロの場合は習得しない」設定
これは実際に見てみないと分かりづらい設定項目なのだが、Wiz方式の呪文の習得ルールを設定するときに役に立つ。
従来は、レベルの上昇に連動した成長判定用の能力値を準備して、その値が一定値になったら該当レベルの呪文を習得するようにしていたが、Wizの呪文ルールを踏襲するだけであればこの方法がいらなくなる。
チェックボックスにチェックをしておくと、呪文の使用回数がゼロのレベルの呪文を習得しなくなる。
逆に言えば、呪文の使用回数が1以上になったレベルの呪文は習得できることになり、能力値に関してはこれだけが習得の条件になる。
「1レベルのときに3回、3レベルのときに5/3回、5レベルでは7/5/3となる」といった呪文の使用回数の上昇設定は能力値の画面から行うことになっているが、そこの設定がそのまま習得条件となる。
ただし相変わらず、習得割合の設定はできない。本家WizではI.Q.やPietyの値によって習得できる呪文の個数が変わっていたが、Desigeonでそれをやろうとするとそれなりに複雑になってしまう(やろうと思えば似たような仕組みを実装できないこともないが)。
サンプルゲームの段階ではあまり複雑にしたくないので、単純に、あるレベルに達すると同レベルのすべての呪文を憶える仕組みにとどめる予定である。
最初の画像にでてきた能力値の半分くらいは、上記二つの機能追加によって不要になる(はず)。ちなみに視界に関する能力値は固定で配置されることになるので、ほとんどそのまま残る。
エネミーレベルに応じた能力値自動決定
この機能は、前述の二つとは目的が異なる。
詳細な説明は省くが、エネミー(モンスター)にレベルを設定する機能を導入してみることにした。
設定されたレベルによって、能力値が自動的に決まっていく仕組みにして、パラメータ設定に必要な労力を省く。経験値と金も自動的に決まる。
能力値の自動決定には、以下の画像にある成長曲線を用いる。モンスター用の能力値に成長曲線を設定して、モンスターレベルに対する能力値の値が自動的に決まる仕組み。(レベルの異なるモンスターが自動的に生成されるわけではないので“成長曲線”という名は語弊を招くが、ゲーム序盤のモンスターに対して終盤のモンスターが“成長”していると見なした上での名付けである)
(画像中、“val-zero”と表示されているのはバグである)
グラフを修正すると、そのグラフを使用しているモンスターの能力値も自動的に書き換わる。つまり、モンスターの強さを変更するには成長曲線(能力値の最小値と最大値)を編集することによって行い、これによって一括の作業で全体のバランスを修正することができるはず。
現在のところ、あまり複雑な成長曲線は定義できないので、複数のグラフを活用したり(能力値あたり二十個の曲線が設定可能)、ところどころ従来の方法(ダイレクト値)で設定したりして補う。
これがどれほど開発コストに影響を与えるかは不明だが、とりあえずやってみようと思う。