記事一覧

戦闘計算式初級講座
桝田 省治

 戦闘で最も多頻度で使用するコマンドは「戦う」。剣などの武器による通常攻撃だ。
 このバランスさえしっかりしていれば、それなりに遊べるゲームになる。
 よって、ここでは、基本的な通常攻撃のダメージ計算式の作り方を解説する。

 まず念頭に置くのは「適正なバランスどり」だ。
 ここで言う「適正なバランスどり」には、ふたつの意味がある。
 ひとつは、ゲーム内の戦闘におけるプレイヤーの緊張感の維持。ふたつ目は、制作者があとあとイメージどおりにチューニングしやすいこと。

 緊張感のある戦闘とは、ようするに、いくつかのミスや不運が重なれば「死ぬ」リスクを感じるということだ。これは、具体的に「何発なぐれば敵を倒せるか」「敵に何発なぐられればやられるか」とイメージする。
 この「死ぬまでに何発」は、ボス戦では当然変わる。想定するターゲット、マップの広さや体力の回復手段等によっても変わる。
 ここでは、多くの人がイメージしやすいように、ごくオーソドックスなRPGの標準的なバランスをイメージする。

 今どきのRPGなら4対4あたりの集団戦が普通。
 雑魚戦なら「2発か3発たたけば敵を倒せる」、それに対して「1戦闘で平均2発なぐられ、それを回復せず放置すれば5戦闘、10発で死ぬ」。だいたいこんなイメージだろうか。

「10発で死ぬ」ということは、1発なぐられると最大体力の1/10が削られる。N発で死ぬなら、1発当たり1/Nだ。
 これを式にする。
 話をわかりやすくするために、敵も味方も、体力も攻撃力も守備力も全部100でイメージすればいい。

 攻撃力100-A×守備力100。
 Aは、「N発で死ぬ」補正値で、1-(1/N)だ。
 これで体力100の1/Nが1発ごとに削られていく。
 味方側の攻撃時のAは2.5(2発か3発で敵は死ぬ)、敵側の攻撃時のAは10(1戦闘2発で5戦闘はもつ)だ。
 いわゆるボスキャラに関しては、20発で倒せるならNは20。Aの値は(1-1/20)だ。回復魔法を使うボスなら16発とか、そのへんは適当に。逆に、ボスキャラの通常攻撃が味方を3発で殺すほど強烈なら、Nは3。Aの値は(1-1/3)となる。

 話をわかりやすくするために、敵も味方も全パラメータを100として説明した。だが、実際は攻撃力と守備力と体力は同じ数値ではないし、レベルが上がれば200にも500にもなる。こんな単純な式にはならないと、思うかもしれない。
 でもね、あなたはゲームデザイナーなのだから、単純にしてしまえばいい。そうすれば、あとあと調整もしやすくなる。たとえばパラメータの最大値は999。50レベル、全パラメータが600でラスボスに勝てる。ゲームスタート時は全部100。
 とりあえずこんな風に目安を立てる。そうすると1レベルでパラメータは10上がる。
 ただし攻撃力や守備力は、その半分程度が武器防具に依存するから、1レベルあたり5前後だ。だから、たとえば、20レベルなら体力は300、攻撃力も300(腕力200+剣100)となる。
 また、20レベルの主人公がそれなりの緊張感を維持しつつ戦う適正な敵は、体力、攻撃力、守備力がすべて300だ。
 こういう管理にしておけば、常に体力、攻撃力、守備力が同じ数値になり、先の「攻撃力-A×守備力」が、そのまま使用できる。

 これで各レベルの主人公の強さ、各レベルの敵の標準的な強さ、各レベルの主人公の標準的な装備の値が大まかに決まった。
 これらはここで固定してしまう。どうせ強さは相対で決まる。何かを最初に固定して基準にしないと先に進まない。

 次は、仲間キャラや敵の個性づけだ。
 これらは、主人公、あるいは標準的な敵の「変種」と位置づける。
 魔法使いなら体力が主人公の2割引とか、戦士なら攻撃力は1割増とか、適当な数値を先の「攻撃力100-A×守備力100」に放り込んでみよう。
 何度か違う数値で試して調整する。で、イメージに合う数値Bを見つけら、「B:100」の比でもって、各レベルの魔法使いや戦士のパラメータを割り出し、そこから武器防具の数値を決める。
 敵のパラメータの決め方も基本は同じだ。妙に硬いヤツ、体力は少ないが攻撃力が高いヤツなどの曲者は、「攻撃力100-A×守備力100」に適当な数値を放り込んで、イメージに合う数値を見つける。その比を汎用化して各レベルの曲者を同じ手順で作る。

 次は、「ここで主人公はMレベルに達しているだろう」という想定レベルを、「この塔は高いからここで3レベル上がるな」とか「この洞窟は抜けるだけ、抜けた先に町が見えるから簡単」とか主人公が冒険するマップの順路に割り振ってみよう。
 この想定レベルに従って、敵も配置する。
 よって、シナリオをスムーズに進めたいときは、緩やかに想定レベルを上げ、逆に難関の城などを演出し、プレイヤーを足止めしてたいときは、あえて2レベルほど飛ばして割り振る。

「攻撃力<A×守備力」のとき、「攻撃力-A×守備力」ではダメージが出ない。そういうときのためによくやるのは、「(攻撃力-A×守備力)+p」だ。pの値は、DQなら0~4あたり、いわゆる桝田ゲーなら攻撃力/64~攻撃力/32とか、そのへんだ。

 あと、気を配らなければならないのは、回復魔法の回復量と修得するレベルだろう。
 でも、これはすでに各レベルの体力が出ているから目処はつく。放置すれば5戦闘で死ぬとわかってるから、使用頻度も当たりがつく。そこから消費するMPの適正も導ける。

 ここから先は、そのゲームの特徴づけにより、まちまちだ。
 攻撃魔法や補助魔法を主体に魔法使いの話、フォーメーションや職業の組み換えをメインにした指揮官の話。「世代交代」をテーマに復讐劇。その趣向に合わせて、攻撃力-A×守備力を加工すればいい。

 以上