Tree of Savior開発メーカー「IMC Games」のスタッフが、多くのユーザーに議論され推定されてきた3つの確率計算式が公開された。
- クリティカル確率
- 回避確率
- ブロック確率
主に海外ユーザーが膨大なデータを元に統計的な解析を行って、ある程度正しい計算式は明らかになっていたが、今回開発が明かした計算式は思った以上にシンプルなものだった…。
クリティカル確率/回避確率/ブロック確率の計算式
クリティカル確率の計算式
クリティカル確率 = (MAX(0, クリティカル発生 – クリティカル抵抗)) ^ 0.6
クリティカル発生からクリティカル抵抗を引き算して、その数値に0.6乗すると「クリティカル確率」が求められる。この計算式に基づくと、相手のクリティカル抵抗が100で、こちらの発生が200の場合、16%の確率でクリティカルするらしい。

念のためExcelで確認しておいた。クリティカル確率の計算式を打ち込んで、クリティカル発生を2155固定で、クリティカル抵抗を25ずつズラして計算させるとこのようなグラフになる。
下がクリティカル確率で、左側が相手のクリティカル抵抗です。クリティカル抵抗が2155に達すると0%になり、抵抗が1000だと70%程度に達する。そこからはクリティカル確率が上昇しづらい。
クリティカル確率 | クリティカル発生 | クリティカル抵抗 |
---|---|---|
100.0 | 2155 | 0 |
99.3 | 2155 | 25 |
98.6 | 2155 | 50 |
97.9 | 2155 | 75 |
97.2 | 2155 | 100 |
96.5 | 2155 | 125 |
95.8 | 2155 | 150 |
95.1 | 2155 | 175 |
94.3 | 2155 | 200 |
93.6 | 2155 | 225 |
92.9 | 2155 | 250 |
92.1 | 2155 | 275 |
91.4 | 2155 | 300 |
90.7 | 2155 | 325 |
89.9 | 2155 | 350 |
89.2 | 2155 | 375 |
88.4 | 2155 | 400 |
87.7 | 2155 | 425 |
86.9 | 2155 | 450 |
86.1 | 2155 | 475 |
85.4 | 2155 | 500 |
84.6 | 2155 | 525 |
83.8 | 2155 | 550 |
83.0 | 2155 | 575 |
82.2 | 2155 | 600 |
81.4 | 2155 | 625 |
80.6 | 2155 | 650 |
79.8 | 2155 | 675 |
79.0 | 2155 | 700 |
78.2 | 2155 | 725 |
77.4 | 2155 | 750 |
76.5 | 2155 | 775 |
75.7 | 2155 | 800 |
74.9 | 2155 | 825 |
74.0 | 2155 | 850 |
73.2 | 2155 | 875 |
72.3 | 2155 | 900 |
71.4 | 2155 | 925 |
70.6 | 2155 | 950 |
69.7 | 2155 | 975 |
68.8 | 2155 | 1000 |
67.9 | 2155 | 1025 |
67.0 | 2155 | 1050 |
66.1 | 2155 | 1075 |
65.2 | 2155 | 1100 |
64.2 | 2155 | 1125 |
63.3 | 2155 | 1150 |
62.3 | 2155 | 1175 |
61.4 | 2155 | 1200 |
60.4 | 2155 | 1225 |
59.4 | 2155 | 1250 |
58.4 | 2155 | 1275 |
57.4 | 2155 | 1300 |
56.4 | 2155 | 1325 |
55.4 | 2155 | 1350 |
54.4 | 2155 | 1375 |
53.3 | 2155 | 1400 |
52.2 | 2155 | 1425 |
51.2 | 2155 | 1450 |
50.1 | 2155 | 1475 |
48.9 | 2155 | 1500 |
47.8 | 2155 | 1525 |
46.7 | 2155 | 1550 |
45.5 | 2155 | 1575 |
44.3 | 2155 | 1600 |
43.1 | 2155 | 1625 |
41.9 | 2155 | 1650 |
40.6 | 2155 | 1675 |
39.3 | 2155 | 1700 |
38.0 | 2155 | 1725 |
36.7 | 2155 | 1750 |
35.3 | 2155 | 1775 |
33.9 | 2155 | 1800 |
32.4 | 2155 | 1825 |
30.9 | 2155 | 1850 |
29.4 | 2155 | 1875 |
27.8 | 2155 | 1900 |
26.1 | 2155 | 1925 |
24.4 | 2155 | 1950 |
22.6 | 2155 | 1975 |
20.6 | 2155 | 2000 |
18.6 | 2155 | 2025 |
16.3 | 2155 | 2050 |
13.9 | 2155 | 2075 |
11.1 | 2155 | 2100 |
7.7 | 2155 | 2125 |
2.6 | 2155 | 2150 |
0.0 | 2155 | 2155 |
グラフに使ったデータです。見ての通り100%に近づけば近づくほど、抵抗(または発生)1あたりのクリティカル確率への貢献度は減っていく。最初は1あたり0.5%も変化したのに終盤は0.028%しか変化しない…。
回避確率の計算式
回避確率 = (MAX(0, 回避 – 命中)) ^ 0.65
回避確率も同様の計算式で作られている。回避から命中を引いて残った数値を0.65乗すれば求められる。基本は全く同じなので、おそらく100%に近づくほど数値1あたりの変化量は減少するだろう。

回避1194固定で、命中を25ずつスライドさせて作ったグラフです。相手の命中が1194に達すると回避できる確率は0%になる。
回避確率 | 回避 | 命中 |
---|---|---|
100.0 | 1194 | 0 |
98.6 | 1194 | 25 |
97.3 | 1194 | 50 |
95.9 | 1194 | 75 |
94.5 | 1194 | 100 |
93.1 | 1194 | 125 |
91.7 | 1194 | 150 |
90.2 | 1194 | 175 |
88.8 | 1194 | 200 |
87.3 | 1194 | 225 |
85.8 | 1194 | 250 |
84.4 | 1194 | 275 |
82.9 | 1194 | 300 |
81.4 | 1194 | 325 |
79.8 | 1194 | 350 |
78.3 | 1194 | 375 |
76.7 | 1194 | 400 |
75.1 | 1194 | 425 |
73.5 | 1194 | 450 |
71.9 | 1194 | 475 |
70.3 | 1194 | 500 |
68.6 | 1194 | 525 |
67.0 | 1194 | 550 |
65.3 | 1194 | 575 |
63.5 | 1194 | 600 |
61.8 | 1194 | 625 |
60.0 | 1194 | 650 |
58.2 | 1194 | 675 |
56.4 | 1194 | 700 |
54.5 | 1194 | 725 |
52.6 | 1194 | 750 |
50.6 | 1194 | 775 |
48.6 | 1194 | 800 |
46.6 | 1194 | 825 |
44.5 | 1194 | 850 |
42.4 | 1194 | 875 |
40.2 | 1194 | 900 |
38.0 | 1194 | 925 |
35.6 | 1194 | 950 |
33.2 | 1194 | 975 |
30.7 | 1194 | 1000 |
28.1 | 1194 | 1025 |
25.3 | 1194 | 1050 |
22.3 | 1194 | 1075 |
19.2 | 1194 | 1100 |
15.7 | 1194 | 1125 |
11.7 | 1194 | 1150 |
6.8 | 1194 | 1175 |
0.0 | 1194 | 1194 |
最初ほど回避(または命中)1あたりの回避確率に対する貢献度は大きくて、終盤になるにつれて1あたりの貢献度は減っているのが分かりますね。
常に回避率90%を得るためには、相手の命中と自分の回避を差し引いて「1019」ほどあれば大丈夫ということに。相手の命中が500なら、自分の回避は1519あれば良い。
回避率80%を得るには概ね「845」程度の回避が必要で、これは以前に解説した回避確率と非常に近い数値である。
=(869 – 326)/((0.3605*249+18.64)*(238^0.335)) = 80.09%
こちらの回避は869も必要になる。LV250程度で、回避を800~900ほど用意することは可能なんだろうか。やっちには分からないけれど、それなりに金を積まないと達成は厳しそう。
海外プレイヤーの統計的推定の高い精度が伺える瞬間だった…。ここまで近いとは驚き。
ブロック確率の計算式
ブロック確率 = (MAX(0, ブロック – ブロック貫通)) ^ 0.7
ブロック率の影響など、こちらも回避と同様に難解な計算式と推定されていた(しかもその過程でブロック率が事実上、機能していないことも判明してしまった)。
そんなブロック率も開発が公開した計算式は他のと同様にシンプルなものです。ブロックから相手のブロック貫通を差し引いて、残った数値を0.7乗すればブロック確率が求められる。

自分のブロックを720固定にして、相手のブロック貫通を20ずつスライドさせて作ったグラフです。差し引いて残ったブロックが720あれば100%ブロック可能で、360だと61.6%ブロック可能ということ。
ブロック確率 | ブロック | ブロック貫通 |
---|---|---|
100.0 | 720 | 0 |
98.1 | 720 | 20 |
96.1 | 720 | 40 |
94.1 | 720 | 60 |
92.1 | 720 | 80 |
90.1 | 720 | 100 |
88.0 | 720 | 120 |
86.0 | 720 | 140 |
83.9 | 720 | 160 |
81.8 | 720 | 180 |
79.7 | 720 | 200 |
77.5 | 720 | 220 |
75.3 | 720 | 240 |
73.1 | 720 | 260 |
70.9 | 720 | 280 |
68.6 | 720 | 300 |
66.3 | 720 | 320 |
64.0 | 720 | 340 |
61.6 | 720 | 360 |
59.2 | 720 | 380 |
56.7 | 720 | 400 |
54.2 | 720 | 420 |
51.6 | 720 | 440 |
49.0 | 720 | 460 |
46.4 | 720 | 480 |
43.6 | 720 | 500 |
40.8 | 720 | 520 |
37.9 | 720 | 540 |
34.9 | 720 | 560 |
31.8 | 720 | 580 |
28.5 | 720 | 600 |
25.1 | 720 | 620 |
21.5 | 720 | 640 |
17.6 | 720 | 660 |
13.2 | 720 | 680 |
8.1 | 720 | 700 |
0.0 | 720 | 720 |
グラフに使ったデータです。基本的な傾向はまったく同じ。ブロック確率が低いほど、数値1あたりの貢献度が高くなって、100%に近づけば近づくほど数値1あたりの貢献度は減少していく。
そして「ブロック率」は計算に使われていないこともハッキリした。以前に書いたブロック確率の記事では…。
if isShield > 1 then
isShield = 1;
end
という記述がある。直訳すると「もしブロック率(盾)が1よりも大きい場合、ブロック率を1にせよ」ということ。つまり、ブロック率がいくら高くても・・1をオーバーしてしまうと、それ以上のブロック率は計算に利用されないのです。
ということが判明していて、ブロック率が計算に使われていないじゃん…と。これは開発のミスではなく、そういう仕様だったということですね。
計算式まとめ
各種確率 | Before | After |
---|---|---|
クリティカル確率 | (クリティカル発生 – クリティカル抵抗) * (42 / キャラクターレベル) | (MAX(0, クリティカル発生 – クリティカル抵抗)) ^ 0.6 |
回避確率 | ( 回避 – 命中 ) / ( 0.3605 * 自分のLV + 18.64 ) * 敵のLV ^ 0.335 | (MAX(0, 回避 – 命中)) ^ 0.65 |
ブロック確率 | LV * 0.5 + 体力(CON) + ブロック + ブロック率(盾) * LV * 0.03 | (MAX(0, ブロック – ブロック貫通)) ^ 0.7 |
以前から判明していた計算式を「Before」として、今回開発が明らかにした計算式を「After」としました。驚いたのは、以前から判明していた計算式でも許容できないほどのズレは出ないということ。
このまま開発が何も明らかにしなくても、実際の運用上はそこまで大きく問題にならないくらいでした。しかし、せっかく開発が計算式を明らかにしてくれたので今後は開発の計算式を使えばいいと思います。
こちらが開発が公開している計算式の原文です。興味のある人は読んでみるといいかも(英語です)。
魔法攻撃について
Also, we’d like to clarify that the critical, evasion and block factors we discussed here are not related to magic attack .
原文の最後の方に書いてあるとおり、クリティカル確率 / 回避確率 / ブロック確率は、どれも魔法攻撃に対しては関係性は無いとのこと。
魔法攻撃は以前から言ってきたとおり、全てのタイプのターゲットに対して適用される。したがって魔法攻撃を使う人は細かい計算式を気にする必要は無いですよ、と。
今後も魔法攻撃に関しては現状の仕様を継続していくそうだ。
ということで、以上「開発が明かすクリティカル確率/回避確率/ブロック確率の計算式」の解説でした。
過去に公開した計算式
参考にする必要は無いけれど、過去の時点で明らかになっていた計算式はどんなものだったのか…。振り返ってみたい人はどうぞ。
クリティカル確率を縦軸に持ってきたほうが見やすいですよ。
これ、開発が今までの計算式を公開したわけではなく、
大規模バランス調整後の計算式を公開したびではないでしょうか。
このクリティカル率の式は、現在の実測値とかけ離れていますし、
リンク先も覗きましたが、大規模バランス調整についての内容に見えました。
先にYouTubeでのちもさんを知っていて、たまたま、自分がしているゲームをちもさんもしてると今知った、すごい偶然、面白い