スコア計算式について

本ツールは、アイマス ミリシタ攻略まとめwikiの検証式 (Ver 1.2.500 : 2017/12/14 改訂版)を下に、スコア計算を行っています。検証を行ってくれている方々に感謝しております。

基本スコア

ミリシタでは、楽曲レベルと総アピール値が同じならば、楽曲種を問わず必ず同じスコアが出ます
(ただし、スコアアップ・コンボボーナススキルが未発動かつ、オートライブのようにAll Perfect、ロング・ムーブノーツを規定長さで全て取得することが前提です)
このスコアを基本スコア( \(basal\,score\) )とします
基本スコアは、以下の式で表されます
$$ \scriptsize \begin{eqnarray} basal \ score = appeal \ value × \frac{(33 + difficulty \ Lv)}{20} \end{eqnarray} $$ $$ \tiny {appeal \ value :総アピール値, \quad difficulty \ Lv:楽曲Lv} $$

基礎パラメータ

基本スコアから単ノーツあたりのスコアを求めるために、2つの基礎パラメータ( \(s\), \(c\) )を導入します
\(s\) :ノーツ種, ロング/ムーブノーツの継続, 精度判定, スコアアップスキルに関わるパラメータ
\(c\) :継続コンボ数, コンボボーナススキルに関わるパラメータです。
\(s\), \(c\)は、以下の式で表されます。
※\(s\) 算出時に利用する重み付きノーツ数( \(N_w\) )については次項
$$\scriptsize \begin{eqnarray} s = 0.7 × \frac{basal \ score}{N_w} \end{eqnarray} $$ $$\scriptsize \begin{eqnarray} c = 0.3 × \frac{basal \ score}{2N-66} \end{eqnarray} $$ $$\scriptsize {N_w :重み付きノーツ数, \quad N:総ノーツ数} $$

ノーツ倍率と重み付きノーツ数

ミリシタでは、ノーツの種類によって、タップ時のスコア計算にかかる倍率が変わります
ノーツ種ごとの倍率は以下の通りです

ノーツ種ノーツ倍率 \(w\)
小タップ,小ロング/ムーブ(始点/終点),フリック1
大タップ,大ロング(始点/終点)2
スペシャルアピールノーツ10

また、\(s\) 計算時に利用する重み付きノーツ数(\(N_w\))は、ノーツ倍率和(\(W\))とロングノーツの総ホールド時間(\(T\))を用いて以下のように表されます。 $$\scriptsize \begin{eqnarray} W =\sum_{ i = 1 }^{ N } w_i \end{eqnarray} $$ $$\scriptsize \begin{eqnarray} T =\sum_{ i = 1 }^{ L } t_i \end{eqnarray} $$ $$\scriptsize \begin{eqnarray} N_w =W+2T \end{eqnarray} $$ $$\tiny N :総ノーツ数 $$ $$\tiny w_i:i番目ノーツのノーツ倍率$$ $$\tiny L:総ロング/ムーブノーツ数$$ $$\tiny t_i:i番目ロング/ムーブノーツのホールド時間 [sec]$$

コンボ倍率

ミリシタでは、コンボ継続数(≠割合)によって、タップ時のスコア計算にコンボ倍率がかかってきます
継続数ごとの倍率は以下の通りです

コンボ数コンボ倍率 \(k\)
1-90
10-291.0
30-491.3
50-691.6
70-991.8
100-2.0

ここで、総ノーツ数( \(N\) ) ≧ 99の場合、コンボ倍率の総和( \(N_c\) )は、 $$\scriptsize \begin{eqnarray} N_c =\sum_{ i = 1 }^{ N } k_i = 2N - \sum_{ i = 1 }^{ 99 } (2 - k_i) = 2N-66 \end{eqnarray} $$ となります

判定倍率

タップ精度によって、タップ時のスコア計算にコンボ倍率がかかってきます
精度判定ごとの判定倍率は以下のとおりです

精度判定判定倍率 \(a\)
Perfect1.0
Great0.8
Good0.5
Fast/Slow0.2
Miss0

スキル倍率

スコアアップ特技の倍率( \(score\,skill\) )、コンボボーナス特技の倍率( \(combo \, skill\) )は、それぞれ発動している中で最も倍率が高いものが反映されます
ここで「スコアがX%アップ」が反映される場合、 $$\scriptsize \begin{eqnarray} \scriptsize{score \ skill = 1 + \frac{X}{100}} \end{eqnarray} $$ となりますが「コンボボーナスがY%アップ」が反映される場合、 $$\scriptsize \begin{eqnarray} \scriptsize{combo \ skill = 1 + \frac{3Y}{100}} \end{eqnarray} $$ のように内部計算でボーナス値が3倍補正されます (Ver 1.2.500 でのコンボボーナス強化)

ノーツあたりのスコア計算

以上6項目をふまえて、一つのタップノーツあたりのスコアは以下のように定められます $$\scriptsize \begin{eqnarray} tap \ score_i = s \cdot w_i \cdot a_i \cdot score \ skill_i \ + \ c \cdot k_i \cdot combo \ skill_i \end{eqnarray} $$ $$\tiny w_i :i番目ノーツのノーツ倍率$$ $$\tiny a_i:i番目ノーツの判定倍率$$ $$\tiny k_i:i番目ノーツのコンボ倍率$$ $$\tiny score \ skill_i:i番目ノーツにかかるスコアアップ特技の倍率$$ $$\tiny combo \ skill_i:i番目ノーツにかかるコンボボーナス特技の倍率$$
また、i番目ロング/ムーブノーツのホールド時のスコア計算は以下のように行われます $$\scriptsize hold \ score_i = 2s \cdot \sum_{ j = 1 }^{ Z } t_{i,j} \cdot LNscore \ skill_j $$ $$\tiny{Z:i番目ロング/ムーブノーツのホールド中に切り替わる発動スキル倍率の種類}$$ $$\tiny{t_{i,j}:i番目ロング/ムーブノーツのホールド中j個目に発動したスキルの発動時間 \ [sec] \ \left( \sum_{ j = 1 }^{ Z } t_{i,j} = t_i \right)}$$ $$\tiny{LNscore \ skill_j:i番目ロング/ムーブノーツのホールド中j個目に発動したスキル倍率}$$
とくに、ホールド中のスコアアップ特技の倍率が一定の場合には $$\scriptsize hold \ score_i = 2s \cdot t_i \cdot LNscore \ skill_i $$ $$\tiny{t_i:i番目ロング/ムーブノーツのホールド時間 [sec]}$$ $$\tiny{LNscore \ skill_i:i番目ロング/ムーブノーツのホールド中にかかるスコアアップ特技の倍率}$$ となります。


ここで、特技なし(特技倍率 = 1)・All Perfect(判定倍率 = 1) として、総ノーツにわたるスコア和を取ると、 $$\scriptsize \begin{eqnarray} total \ score &=& \sum_{ i = 1 }^{ N } tap \ score_i + \sum_{ i = 1 }^{ L } hold \ score_i\\[ 5pt ] &=& s \cdot \sum_{ i = 1 }^{ N } w_i + c \cdot \sum_{ i = 1 }^{ N } k_i + s \cdot \sum_{ i = 1 }^{ L } 2t_i \\[ 5pt ] &=& s \cdot \left(\sum_{ i = 1 }^{ N } w_i + \sum_{ i = 1 }^{ L } 2t_i\right) + c \cdot \sum_{ i = 1 }^{ N } k_i\\[ 5pt ] &=& 0.7 × \frac{basal \ score}{N_w} \cdot N_w + 0.3 × \frac{basal \ score}{2N-66} \cdot (2N-66)\\[ 5pt ] &=& basal \ score \end{eqnarray} $$ ※全てのiにおいて、\(\tiny a_i = 1,\, score skill_i = 1,\, combo \ skill_i = 1\)
このように、
総スコア = 基本スコアとなることが確かめられます。