見出し画像

Ⅰー(ⅲ)ー01 攻撃間隔に関する仕様とDPSの計算式について

この記事では、以降の記事でDPSを考えるにあたり、前段としてその基礎となる攻撃間隔の仕様及び計算式について記述する。

目録

(1)攻撃間隔を構成する要素に関する基礎知識
(2)攻略wikiの実行フレーム計算式およびその留意点
(2)武器種別 攻撃フレーム数と1秒当たり攻撃回数一覧

(1)攻撃間隔を構成する要素に関する基礎知識

こんな場末のややこしい記事に目を通される方にとって、もうじゅうぶんに既知のことと思うが、城プロの攻撃の1クールは、【攻撃速度+隙】で構成されている。
そうすると、攻撃速度と隙の違いが何か、となるが、これについて公式の説明があるわけではないので、通釈ではあるけれども、
・攻撃速度は、攻撃モーションそれ自体の速度
・隙は、攻撃後、再度攻撃態勢に入るまでのクールタイム
とされている。

射撃でたとえると、
・銃を構えている状態から、狙いを定めて弾丸が射出されるまでの時間が攻撃速度
・弾丸射出後、弾を込めて再度構えの状態に戻るまでの時間が
という感じだろうか。

ちなみに、攻撃速度とは別に【着弾時間】という要素もあり、矢・弾状のモノ(含むクマ・クリスマスツリー)が画面上を動く武器種については、モノが動いている間がタイムラグとなり、標的に当たってようやくダメージが発生する。
したがって、
・近接武器種は【攻撃開始からダメージが発生するまでの時間=攻撃速度】となるのに対し、
・遠隔武器種のうち大砲や法術などは、【攻撃開始からダメージが発生するまでの時間=攻撃速度+着弾時間】となる、
のだが、着弾時間は攻撃間隔とは別要素であって、攻撃間隔に影響しないややこしい

先の射撃の例でいえば、射手は弾丸射出後、弾丸が飛翔していても、それには目もくれずに次の射撃の準備に移るようなイメージで、そのため弾丸の飛翔時間は攻撃間隔を構成しない、という感じだろうか。
なので、天の羽々矢改(弓★4武器)や加農砲改(大砲★4武器)の説明にある、【着弾時間が高速化】では攻撃間隔は短縮されない


ということで、城プロで攻撃間隔を考える際には、攻撃速度と隙の2要素を対象とすることになるが、攻略wikiでは、攻撃速度も隙も、単位としてf(フレーム)が使われている。

フレームの概念については、ここで説明している余裕も知識もないので、ご存じでなければ【動画 フレーム】などで検索していただきたい。

以上のことを予備知識としつつ、さらに攻撃間隔について知っておきたいポイントを挙げる。

ア)攻撃速度も隙も、基本となるフレーム数は武器種単位で設定されている。
たとえば、武器種であれば攻撃速度19f、隙22f、合計41fが攻撃間隔となっており、★7のキャメロット城であっても、★1の千代ちゃんであっても同じ数値をとる。

イ)城プロでは、1秒=30fと設定されており、先の刀の攻撃間隔41fを秒換算すれば、41/30=1.36秒が攻撃間隔となる。

ウ)このフレーム数は、耐久値や攻撃ステータス値のように、ゲーム上で明示されてはおらず、マスクデータとなっている。
わたくしごときがしたり顔で、「盾の攻撃速度は~」などと動画の備考欄に記載していたりするが、これも攻略wikiで検証されている方たちが、血をにじむような努力をされて(多分)フレーム数をカウントしてくれた賜物なので、丁重に取り扱わなければならないのです。

(2)攻略wikiの実行フレーム計算式およびその留意点

まず、攻略wikiの検証ページ
https://scre.swiki.jp/index.php?%E6%A4%9C%E8%A8%BC#r65a3537
より、実行フレームに関する計算式を転載する。

実行フレーム=基本攻撃フレーム/(装備速度上昇割合+特技計略速度上昇割合+1)+基本隙フレーム×(1-装備隙減少割合)×(1-特技計略隙減少割合)
計算結果の小数点以下の扱いについて、四捨五入及び切り捨てについて検証中。一般的には切り捨てるのが普通とのこと。この場合実測した描画フレームではなく、内部速度(ms)を基準に計算しているとのコメントあり。【計算例】
桜花爛漫弓[改](基本攻撃フレーム:19,基本隙フレーム:18,攻速:+25%)を装備した特技発動中の千早城[改壱](攻速:+25%)に最大化した長谷堂城[改壱]の特技(隙短縮:-25%)と石垣山城の計略(攻速:+100%,隙短縮:-50%)を掛けた場合、
19/(0.25+1+1)+18*(1-0.5)=17.44→17F

ここで唐突に【実行フレーム】という言葉が出てきたが、これは実際に攻撃が行われる際の攻撃間隔のフレーム数を意味し、上の式にあるように、ベースとなる基本フレーム数に、武器や城娘の攻撃速度アップバフや隙短縮バフを乗じて、算出される。

ところが、この計算式については、当該ページのコメント欄にもあるように、おそらく運営側で実装しているプログラムとは異なるだろう、と認識されているようである。

そう思わせる論拠は、たとえば
①計算結果と実測フレーム数とに差が生じる問題
②四捨五入問題
③ホーエンザルツブルク大魔法で隙の実行フレームが0にならない問題
④そもそもゲームの進行管理にフレーム数は使わないだろう問題
等が挙げられる。

以下は、①~④について、攻略wikiのコメント欄から拾った、わたくしなりの解釈。
① 攻略wikiの検証ページには、非常に多くの【武器のバフ値別攻撃速度・隙】の実測値が記載されているが、このうちいくつかについては、上の計算式で得られる結果と実測値とに誤差が生じる。そこで、わたくしも、自分でいくつか別の式を考えて試算してみたが、すべてのデータに完全一致するものはなく、上の式が最も誤差率が低いことを確認した。
② とはいえ、こうした式の処理においては、一般的には切り捨てを用いると思われるので、四捨五入という式にキモチ悪さを感じてしまう。
③ ホーエンザルツブルクの大魔法は、表記上は隙0fになるとあるが、実測値では1fであるとのこと。この点、0(ゼロ)というのは、存在を許すと、なにかとやっかいごとの元なのでまるでブリタニア帝国、実用上1fと設定すること自体は理解できるが、上の式とは整合しない。
④ ゲーム進行で発生するイベントを、まさかフレーム数では管理することはなく、別に内部時間を持っているだろうから、攻撃間隔についても同様で、フレーム数はあくまでアウトプットの情報である。つまり、運営は内部時間を基準に攻撃間隔の計算をしているであろうから、フレーム数を用いた計算と誤差が生じる(式自体も異なる)可能性がある。

では、なぜこの式が攻略wikiで採用されているかというと、
①内部時間を含め、プレイヤー側からはマスクとなっている仕様を知りえないので
②測りうる手法であるフレーム数を基準とする以外になく
③その上で、実測結果にもっとも一致する式として、消去法的に選択された
のが、四捨五入を用いた攻略wikiに掲げられた式
という感じだろうな、ということが、ログからうかがえる。

この辺りは推測でしかないが、いずれにせよ、上に挙げたような問題があるので、当記事以降の考察も仮定の上にあるものであり、実際の挙動と異なる可能性があることは留意してほしい。


そのうえで、上に挙げた攻略wikiの実行フレーム計算式
Fef:実行フレーム数
Fspd:攻撃速度の基本フレーム数
Fct:隙の基本フレーム数
Bspd:攻撃速度上昇バフ(攻撃速度30%アップであればBspd=1.3)
Bct:隙短縮バフ(隙短縮30%であればBct=0.7)
を代数として表現すると、
Fef=round(Fspd/Bspd+Fct*Bct)※小数点第一位で四捨五入
と表せる。
さらに、これを秒単位に換算すると、1sec=30fなので、1秒当たりの攻撃回数:NoH/sは

となるので、1秒間当たりのダメージ量:D/sは

と表せる。

以降の記事では、①式を1秒当たりの攻撃回数の計算式、②式をDPS計算式として用いることとする。

(3)武器種別 攻撃フレーム数と1秒当たり攻撃回数一覧

当記事の最後に、攻略wikiに記載の武器種別の攻撃フレーム数と、それをもとに①式を用いて算出した、1秒当たり攻撃回数を一覧表として掲出する。

これを見ると、鈴や歌舞、陣貝など、特殊な攻撃仕様となっているものを除いても、職によって攻撃速度、隙の設定に結構な差があることがわかる。
以前は、弓のように攻撃力が低い職は、その分攻撃間隔が短く手数で稼ぎ、大砲のように攻撃力が高い職は、一発のダメージが大きい代わりに攻撃間隔が長い、となっていたようであるが、鞭や鎌のような職が出て、その傾向も崩れつつあるように思われる。

それはさておき、次回以降の記事で攻撃間隔のバフやDPSを考えるにあたり、以下を当記事の結論的に添えておく。

ア)たとえば割合攻撃バフなどは、バフをかけることによって一律にバフ%分の攻撃値が上がるが、攻撃間隔については、攻撃速度+隙の仕様のため、たとえば隙10%バフをかけても攻撃間隔が10%短縮されるわけではなく短縮される攻撃間隔のフレーム数も武器種によって異なる

イ)攻撃速度UPバフと隙短縮バフとが同じ数値の場合(例えばともに10%の場合)、拳のような攻撃速度>隙の武器種は攻撃速度アップバフの方が有利であり、刀のような攻撃速度<隙の武器種は隙短縮バフの方が有利である。

ウ)隙短縮バフは乗算でかかるので、バフ量と短縮されるフレーム数とが比例関係になるが、攻撃速度アップバフは除算でかかるので、バフの増加量に対し、短縮されるフレーム数の増加量は漸減していく端数処理であまり意味ないけど

例)攻撃速度・隙とも42fの大砲を例にすると、
・隙短縮バフ10%は42*0.1=4.2f短縮、同20%バフは42*0.2=8.4f短縮と、バフ量10%と20%とで短縮量が2倍となる比例関係が認められる。
・攻撃速度アップバフ10%は42-42/1.1=3.8f短縮、同20%バフは42-42/1.2=7.0f短縮と、短縮量は2倍とはならず、かつ短縮量が漸減している。

以上をもとに、次回の記事では、武器種ごとに攻撃速度アップバフ・隙短縮バフの効果について考えていくこととする。

以上

記事一覧↓
0ー2 とある城プロ魔術師の算術書 目録

一連の記事に関する注意事項↓
0-1 とある城プロ魔術師の算術書 ごあんない

この記事が気に入ったらサポートをしてみませんか?