総力と実際の強さ 公開: 2026年8月 / 更新: 2026年10月
戦闘モデル ダメージ計算 バフ 部隊総力
はじめに
部隊総力が大きければ必ず勝つわけではありません。この記事では、バフの取り扱い方と総力の計算方法を整理し、なぜ総力が実際の強さを過大に見積もることがあるのかを説明します。
バフの取り扱い
簡単のため、まず与ダメージ側を説明します。
A = a 0 × ( 1 + B atta ) × ( 1 + B leth ) × 1 + P atta 1 + M atta × 1 + P leth 1 + M leth A = a_0
\times (1 + B_\text{atta} ) \times ( 1 + B_\text{leth} )
\times
\frac{1 + P_\text{atta} }
{1 + M_\text{atta} }
\times
\frac{ 1 + P_\text{leth} }
{ 1 + M_\text{leth} } A = a 0 × ( 1 + B atta ) × ( 1 + B leth ) × 1 + M atta 1 + P atta × 1 + M leth 1 + P leth
a 0 a_0 a 0 はダメージの基礎値とその計算 の記事を参照ください。
この P P P は英雄スキルなどでレポートに直接表示されないバフであり、M M M は同様のデバフです。atta, leth は攻撃と殺傷を表します。
ここで、B atta B_\text{atta} B atta と B leth B_\text{leth} B leth が2つあることの意味を説明します。例えば、B atta B_\text{atta} B atta が100%で B leth B_\text{leth} B leth が0%の場合、
( 1 + B atta ) × ( 1 + B leth ) = 2 × 1 = 2 (1 + B_\text{atta} ) \times ( 1 + B_\text{leth} )
= 2 \times 1 = 2 ( 1 + B atta ) × ( 1 + B leth ) = 2 × 1 = 2
と2倍です。一方、B atta B_\text{atta} B atta が50%で B leth B_\text{leth} B leth が50%の場合、
( 1 + B atta ) × ( 1 + B leth ) = 1.5 × 1.5 = 2.25 (1 + B_\text{atta} ) \times ( 1 + B_\text{leth} )
= 1.5 \times 1.5 = 2.25 ( 1 + B atta ) × ( 1 + B leth ) = 1.5 × 1.5 = 2.25
と2.25倍なのです。端的に言えば、同じカテゴリーのバフは等しい方が効果的です。
さらに、10% のバフ増加があるとき、その効果は基本の ( 1 + B + 0.1 ) (1 + B + 0.1) ( 1 + B + 0.1 ) 倍になることを意味しますが、これは現在の ( 1 + B + 0.1 ) / ( 1 + B ) (1 + B + 0.1)/(1+B) ( 1 + B + 0.1 ) / ( 1 + B ) の効果しかありません。つまり、追加バフ Δ B \Delta B Δ B は Δ B / ( 1 + B ) \Delta B/(1+ B) Δ B / ( 1 + B ) の効果しかないのです。
このようなバフを世間では「加算バフ」と呼んでおり、P atta P_\text{atta} P atta のように別に掛け算するものを「乗算バフ」と呼んでいます。通常、乗算バフがあったとしてもレポートにはその結果が示されます。例えば、通常バフが B B B で乗算バフが P P P の場合、レポートには ( 1 + B ) ( 1 + P ) − 1 (1+B)(1+P)-1 ( 1 + B ) ( 1 + P ) − 1 を100倍したパーセント表示がされます。
同様に防御側も:
D = d 0 × ( 1 + B defe ) × ( 1 + B heal ) × 1 + P def 1 + M def × 1 + P heal 1 + M heal D = d_0
\times (1 + B_\text{defe} ) \times ( 1 + B_\text{heal} )
\times
\frac{1 + P_\text{def} }
{1 + M_\text{def} }
\times
\frac{ 1 + P_\text{heal} }
{ 1 + M_\text{heal} } D = d 0 × ( 1 + B defe ) × ( 1 + B heal ) × 1 + M def 1 + P def × 1 + M heal 1 + P heal
defe, heal は防御とHPを表します。ここで、B defe B_\text{defe} B defe と B heal B_\text{heal} B heal が同じぐらいの方が効率的です。
多くの場合、B atta B_\text{atta} B atta と B defe B_\text{defe} B defe が近く、B leth B_\text{leth} B leth と B heal B_\text{heal} B heal が近い値になるような仕組みになっています。これが運営の罠ですかね♩
部隊総力の計算方法
さて、ここからが面白いところです! 総力は次の式で表されます。k k k を兵種として、部隊総力 Q Q Q は:
Q = Z ∑ k p k Y k ( 1 + ( B atta ) k + ( B leth ) k + ( B defe ) k + ( B heal ) k ) Q = Z \sum_{k} p_k Y_k (
1+
(B_\text{atta})_k + (B_\text{leth})_k
+
(B_\text{defe})_k + (B_\text{heal})_k
) Q = Z k ∑ p k Y k ( 1 + ( B atta ) k + ( B leth ) k + ( B defe ) k + ( B heal ) k )
p k p_k p k は各兵の総力です。Z Z Z は兵士数で、Y k Y_k Y k は ∑ k Y k = 1 \sum_k Y_k = 1 ∑ k Y k = 1 の兵種比率です。つまり Z Y k Z Y_k Z Y k がその兵種の人数です。
そして面白いのが、バフ値(100で割って割合にしたもの)を全部足したものを総力に反映しているということです。
つまり、本来掛け合わせるものを足すことで総力を出しています。これも運営の罠だと思います♩ 総力はバフをどこに足そうと同じだけ上がります。しかし、実際にはバランスを崩すとダメージはそれほど上がらないわけです。
この部隊総力ですが、部隊総力が小さいのに実際には強い方が有利になる場面が多いです。これは総力を使ってマッチングするという理由もありますし、自分の方が強いと思って挑んできた時に実は勝てるということがあるからです。
ざっくり言えば、本来の強さは A D Z n A D Z^n A D Z n (0.5 ≤ n ≤ 1.5 0.5 \leq n \leq 1.5 0.5 ≤ n ≤ 1.5 )のようなものです。この n n n は兵の使われ方や戦いの状況によって変化するのですが、A A A や D D D は大きさも大事ですが、A A A と D D D のバランスが戦略に影響します。実際の強さは様々な要素があるので理論だけで示すことは難しそうです。これはシミュレータの出番です!
実測でも、シミュレータ上でこの n n n がほぼ 1.5 1.5 1.5 (S = A D Z 3 2 S = A D Z^{\frac{3}{2}} S = A D Z 2 3 )に合うことを確認しました。兵種スキルを入れても傾向は変わらず、戦闘の残存率は強さの比で決まる? での理論導出とも一致します。ただしこの実測は英雄スキルを入れない条件で、偏ったバフをかけた場合の確認はまだです。
一方で、A A A や D D D が大きい方が良いわけですので、そのためにどうしたら良いかということは理論的に明らかです。
バフ損
以上を踏まえると、同じバフ増加に対する A A A や D D D への貢献が低いということは、見た目の部隊総力を高くするが実際には強くないということを意味します。この損失を「バフ損 E E E 」と呼んでいます。
バフ損を計算することで、見た目よりも実際は ( 1 + E ) (1+E) ( 1 + E ) 大きく見えているという捉え方ができます。バフ損は、同じカテゴリーの2つのバフ b 1 b_1 b 1 , b 2 b_2 b 2 の偏りによって生じます。最適な b o b_o b o バフに対して、
( 1 + b o ) 2 = ( 1 + b 1 ) ( 1 + b 2 ) (1+b_o)^2 = (1+b_1)(1 + b_2) ( 1 + b o ) 2 = ( 1 + b 1 ) ( 1 + b 2 )
という関係があり、
b o = ( 1 + b 1 ) ( 1 + b 2 ) − 1 b_o = \sqrt{(1+b_1)(1+b_2)}-1 b o = ( 1 + b 1 ) ( 1 + b 2 ) − 1
です。そして、バフ損 E E E は
E = b 1 + b 2 − 2 ( 1 + b 1 ) ( 1 + b 2 ) + 2 E = b_1 + b_2 - 2\sqrt{(1+b_1)(1+b_2)} + 2 E = b 1 + b 2 − 2 ( 1 + b 1 ) ( 1 + b 2 ) + 2
と表されます。なお、これは攻撃と殺傷の2つで起きており、その2つを足した分が総力に反映されていると考えて良いです。
例えば、
だとしたら、攻撃側のバフ損は:
E = 8 + 1.25 − 2 9 × 2.25 + 2 = 2.25 E = 8 + 1.25 - 2\sqrt{9\times2.25} + 2 = 2.25 E = 8 + 1.25 − 2 9 × 2.25 + 2 = 2.25
なので、225%のバフを損しています。さらに防御側のバフ損は:
E = 3 + 0.96 − 2 4 × 1.96 + 2 = 0.36 E = 3 + 0.96 - 2\sqrt{4\times1.96} + 2 = 0.36 E = 3 + 0.96 − 2 4 × 1.96 + 2 = 0.36
なので、36%のバフを損しています。よって、総力は 3.61 3.61 3.61 倍も高く出てしまうのです。
巨獣や地下は平均的なので、バフ損はしていません。一方、適切な兵種比率ではないということ自体が総力に対して弱く出るため、格上に勝れるということは、バフ損を上回る強さを兵種比率の適正さやスキル攻撃で上回っていると言えます。
バフ損計算ツール