過去のデータをいろいろと調べていたら,そんな感じっぽいです。ただデータがまだ不十分なのと,若干丸め方法が判明していない問題があります。
以下の現行のダメージ計算を知っている前提でこの記事は書いています。
よくいろいろな wiki で書かれているけど。
白青紫ヘルメット順にダメージ 10%, 20%, 25% カットって言われているけど,昔はこれで正しい。
- ロングボウDMRで,通常キャラの青ヘルに対して,
round(55 × 2.5 × 0.8) = 110
(https://youtu.be/f3sMEFJf5xA?t=309) - クレーバー.50スナイパーで,通常キャラの青ヘルに対して,
round(145 × 2.05 × 0.8) = 238
(https://youtu.be/f3sMEFJf5xA?t=448)
同じ動画の HS でこうなっているので,多分あってます。計算値通りなので。
いわゆる,HS が 1.333 倍以下の場合,胴体よりもダメージが下がってしまう問題にサイレントで対応していると思われる。
【当時の倍率】
Hlm | HS倍率が1.25 | HS倍率が2.0 |
---|---|---|
Lv. 1 | 1.25 × 0.9 = 1.125 | 2 × 0.9 = 1.8 |
Lv. 2 | 1.25 × 0.8 = 1 | 2 × 0.8 = 1.6 |
Lv. 3 | 1.25 × 0.75 = 0.9375 | 2 × 0.75 = 1.5 |
【現環境の倍率】
Hlm | HS倍率が1.25 | HS倍率が2.0 |
---|---|---|
Lv. 1 | 0.2 + 1.25 × 0.8 = 1.2 | 0.2 + 2 × 0.8 = 1.8 |
Lv. 2 | 0.4 + 1.25 × 0.6 = 1.15 | 0.4 + 2 × 0.6 = 1.6 |
Lv. 3 | 0.5 + 1.25 × 0.5 = 1.125 | 0.5 + 2 × 0.5 = 1.5 |
ヘッドショット倍率が 2 倍の場合は据え置きになるように計算式を作ったようです。どんな HS 倍率でも 1 を下回らないような計算式になっていますね。
- 2019/10/2 チャージライフル登場 HS 1.25
- 2019/11/23 ピースキーパー HS 1.5 → 1.25
- 2020/5/13 マスティフ通常武器化 HS 2.0 → 1.25
時系列を見ると,この齟齬が発生するのは 2019/10/2 のシーズン3 から。その前後から順に動画を見ていくと…
3.1 パッチ前後が怪しい
いろいろ動画を漁っていると,3.1 パッチ前後で値が違うことに気づく。丸め処理はテキトーです。正しい演算式は全データをきちんと正しく取れない以上調べるのが厳しいです……
- [1] ウィングマンで,鉄壁キャラの青ヘルに対して,
round(round(45 × 2.15 × 0.8) × 0.85) = 65
(11/4 の自前動画) - [2] ウィングマンで,通常キャラの青ヘルに対して,
round(45 × 2.15 × 0.8) = round(77.4) = 77??
≠ 78 (これだけ表記とあっていない;; https://youtu.be/ATSG9O_Q88w?t=123) - [3] ウィングマンで,小柄キャラの青ヘルに対して,
round(round(45 × 2.15 × 0.8) × 1.05) = 81
(https://youtu.be/Iukd9VyLWAs?t=93) - [4] クレーバー.50スナイパーで,小柄キャラの紫ヘルに対して,
round(round(145 × 2.05 × 0.75) × 1.05) = 234
(https://youtu.be/Iukd9VyLWAs?t=247) - [5] クレーバー.50スナイパーで,小柄キャラの青ヘルに対して,
round(round(145 × 2.05 × 0.8) × 1.05) = round(249.9) = 250??
≠ 249 (https://youtu.be/Iukd9VyLWAs?t=451) - [6] ウィングマンで,小柄キャラの白ヘルに対して,
round(round(45 × 2.15 × 0.9) × 1.05) = 91
(https://youtu.be/QWTW4flQO60?t=133) - [7] ウィングマンで,通常キャラの白ヘル(デスボ確認済み)に対して,
round(45 × 2.15 × 0.9) = 87
(https://youtu.be/QWTW4flQO60?t=447) - [8] ピースキーパーで,小柄キャラのノーヘルに対して,頭 5 胴 3 で
5 × round(round(10 × 1.5) × 1.05) + 3 × round(10 × 1.05) = 80 + 33 = 113
(https://youtu.be/iFAZWF4bZ2w?t=32) - [9] ピースキーパーで,小柄キャラの白ヘルに対して,頭 2 で
2 × round(round(10 × 1.5 × 0.9) × 1.05) = 28
(https://youtu.be/iFAZWF4bZ2w?t=40)
ここで,小柄の青ヘルだけは部位倍率計算後の丸めが切り捨てであると推測すると,
- [3] ウィングマンで,小柄キャラの青ヘルに対して,
round(⌊45 × 2.15 × 0.8⌋ × 1.05) = round(⌊77.4⌋ × 1.05) = round(80.85) = 81
(https://youtu.be/Iukd9VyLWAs?t=93) - [5] クレーバー.50スナイパーで,小柄キャラの青ヘルに対して,
round(⌊145 × 2.05 × 0.8⌋ × 1.05) = round(⌊237.8⌋ × 1.05) = round(248.85) = 249
(https://youtu.be/Iukd9VyLWAs?t=451)
となり,完全に表示と一致する。例えば,
- [10] R-99 SMG で,小柄キャラの紫ヘルに対して,
round(⌊12 × 1.5 × 0.75⌋ × 1.05) = round(⌊13.5⌋ × 1.05) = round(13.65) = 14
(https://youtu.be/Iukd9VyLWAs?t=586)
※ 現行方式のround(round(12 × 1.25) × 1.05) = round(15.75) = 16
では絶対にでない値である。
また,通常キャラは切り上げ,ただし小数点第1位以下はみていない? 小数点第2以下切り捨ての関数を f(x) とする。
- [2] ウィングマンで,通常キャラの青ヘルに対して,
⌈f(45 × 2.15 × 0.8)⌉ = ⌈f(77.4)⌉ = ⌈77.4⌉ = 78
(https://youtu.be/ATSG9O_Q88w?t=123) - [7] ウィングマンで,通常キャラの白ヘル(デスボ確認済み)に対して,
⌈f(45 × 2.15 × 0.9)⌉ = ⌈f(87.075)⌉ = ⌈87.0⌉ = 87
(https://youtu.be/QWTW4flQO60?t=447)
小柄・鉄壁は後から追加されており,通常キャラとの分岐によって計算式に齟齬が考えられる可能性はあり。現行方式としてはなぜか小柄だけ特殊なケースがみられる(四捨五入だったり五捨五超入だったり)が詳細はわからないのでなんとも言えないが。
次に,以下は現行のダメージ計算に当てはめたもの。
- [11] ロングボウDMRで,鉄壁キャラの紫ヘル(デスボ確認済み)に対して,
round(round(55 × 1.575) × 0.85) = 74
(https://youtu.be/JWzPaT80awI?t=453)
で,2019/11/15 にはすでに修正されているっぽい。 おそらく 3.1 パッチでヘルメットの軽減率調整が入ったと推測できる。
ちょうど,3.1 パッチは射撃訓練場が来ており,厳密にユーザーがダメージ値を知ることができること,そして射撃訓練場はシーズン 3 リリース時にはすでにできており,このダメージの齟齬(胴より頭のほうが低い)を回避するために射撃訓練場は遅れてリリースされたとか? 深読みしすぎですかね。
チャージライフルのダメージテストしているときに気づいてる可能性はあるので,そこでテスターから報告があってリリース前に射撃訓練場を封印して,パッチ 3.1 で対応と。ウィングマンの倍率調整も実はナーフ(2.15 → 2.1 倍)にみえて,内部計算値によってパッチ前後で使用感が変わらないように,シーズン3 のほうを 2.15 という値にあえてしていて,本来 2.1 倍でリリースする予定だったとか?
動画募集中
まだ確信できるほどの情報量がないです。ただシーズン7からシーズン8では自分が全部実測として測ったものがあって,現行方式は一番最初に貼った記事の計算式で間違いないのは確認済みですし,シーズン3 パッチ時点で R-99 SMG のダメージが現行パッチのダメージより小さいことは明白(仮に現行パッチの 11 ダメージを過去の計算式に当てはめると小柄の紫ヘルメットは round(⌊11 × 1.5 × 0.75⌋ × 1.05) = round(⌊12.375⌋ × 1.05) = round(12.6) = 13
ダメージなはずですが,実際の現在のゲーム内では round(round(11 × 1.25) × 1.05) = 15
ダメージです)。
他にも腕に対するダメージが胴体と同じになったり
ダメージに関するサイレント調整として,腕・脚でダメージが下がっていたのが,脚のみでダメージが下がるようになっています。
シーズン2 あたりまでの動画では明らかに胸の高さを撃っているのに,ダメージが胴体より減衰すること,そして現行パッチでは何度腕を打っても胴体と同じダメージが出ることからこれもサイレント調整されているかと。
ちょうど小柄の腕が胴体と同じになったイベント「古の理」以降とは思われます(パッチノートで limb shots を使っており,まだ腕の概念があったと思われます)。
2020/4/23 時点で腕っぽい判定はありますね。この高さで脚に当たることはほぼほぼ 0 なので。 https://youtu.be/oJDE9E49I9o?t=319
多分これはシーズン5 からかな。腕っぽいところに当たっているのに胴体判定になっているので。 https://youtu.be/iBM_l1vYZko?t=225
シーズン5には弾抜けバグがあり,胴・腕判定関連でズレが起こって,解決しづらいから「ええぃ! 胴体と腕同じダメージにしてしまえ」の緊急パッチがそのまま現在も続いているのかもしれませんね。ディヴォーションも 17 to 16dmg の緊急対策パッチで今後調整を検討する,ってのが公式対応でしたが,そのままのダメージが継続していますもんね。Apex Legends は結構緊急対策が本番パッチレベルになることの前例もあるので,胴・腕判定周りもそんなところかも?
ちなみに弾抜け関連は,サーバー側でレイテンシーの違いを吸収するために計算をしているはずですが,そのバグによって起こったと推測(多分開発環境ではレイテンシーがほぼ 0 のみの環境でテストされ,顕著にこの問題が発生しなかった)され,その緊急対応に時間がかかると判断したため,胴と腕を同じダメージとして実装するパッチをまず実装したって可能性が高いですね。
まあ 3 次元空間と,レイテンシーによる時間のずれで,4 次元空間での補正を行う必要がありますし,Apex のキャラは脚が早くなるキャラもいるのでとても大変ですしね……
ちなみに腕が理由で抜けているのは過去判明しています。
弾抜けの原因は 手 ですhttps://t.co/G5Ujs8o2d8 pic.twitter.com/pG9bbxZhtA
— exきゃりばー (@calibur_OP) 2020年5月13日
そして 15 日には緊急パッチ(サーバーサイド)で対応しています。
Hey everyone! We want to let you know that we just pushed a server side patch to all platforms to address a recent issue with hit registration.
— Apex Legends (@PlayApex) 2020年5月14日
ただ対応したと書いてあるだけでどう直したか,とは書いていませんね。
trello の方でも特に。
こちらの問題は引き続き調査中です。