2023/4/9

ことの発端

シャニマス、敵のアピール値、みんななんか数字同じじゃない?

てことは、乱数要素ないってことだから、計算式推定できるんじゃない?

気づいてしまった。じゃあやってみよう。

5周年を迎えたゲームだからそんなもんもうとっくのとうに誰かが突き止めているはずなので、これはただの趣味です。

まず結論

アピール=基礎値(1+バフ)判定倍率審査員基礎値=アイドル(週係数ステータス種別アピール者)\begin{aligned} アピール &= \lfloor \lfloor \lfloor 基礎値 \cdot (1 + バフ) \cdot 判定 \rfloor \cdot 倍率 \rfloor \cdot 審査員 \rfloor \\ 基礎値 &= \sum_{アイドル}( \lfloor 週係数 \cdot ステータス \cdot 種別 \rfloor \cdot アピール者 ) \end{aligned}

ただし、

  • アイドルはPアイドルとサポートアイドル4人が対象。ゲストを含まない。
  • 週係数は、Pアイドルの場合、1で固定。Sアイドルの場合、S1の1週目が1, S2の2週目が1.1, …, S4の8週目が4.1, 準決勝が4.2, 決勝が4.3。
  • ステータスは、各アイドルのアピールと同じ属性のステータス。エクセレントアピールの場合は審査員と同じ属性のステータス。
  • 種別係数は、Pアイドルは1, Sアイドルは0.4。
  • アピール者係数は、アピールを行うアイドルは2、それ以外は0.5.
  • バフは示される数値。
  • 判定係数はPERFECT=1.5, GOOD=1.1, NORMAL=1.0, BAD=0.5.
  • 倍率はアピールの倍率
  • 審査員は、エクセレントの場合は2, それ以外の場合は1。

思い出アピール

  • Lv1 全審査員に Vo/Da/Vi 0.8倍アピール
  • Lv2 全審査員に Vo/Da/Vi 1倍アピール
  • Lv3 全審査員に Vo/Da/Vi 1.2倍アピール
  • Lv4 全審査員に Vo/Da/Vi 1.4倍アピール
  • Lv5 全審査員に Vo/Da/Vi 2倍アピール

調査方法

やることは単純で、wingしながら数字をexcelに記録する。ざっくりアピール値に影響しそうな要素をピックアップ。

  • pアイドルのステータス
  • サポートアイドルのステータス
  • アピール者のステータス
  • アピール倍率
  • 判定
  • 審査員の属性
  • バフの値

ただ、変数が多いと何もわからなさそうなので、最初はある程度条件を絞り込んで、合致するものだけを記録することにした。

  • pアイドルのアピールに限定(数が多いため)
  • 判定はPERFECTに限定
  • 審査員は一致2倍、それ以外は等倍(これは知っていたので活用する)
  • 思い出は対象外

出だしは順調

記録を取りはじめてしばらくすると、次の事実がわかった。

アピール値 / 審査員 / アピール倍率 / (1 + バフ) / (判定係数) は、オーディションごとにほぼ同じ数値になる。

つまり以下。

アピール(なんらかの値)(1+バフ)判定倍率審査員アピール \sim (なんらかの値) * (1 + バフ) * 判定 * 倍率 * 審査員

(なんらかの値)はアイドルのステータスから求まるのだろう、という推測をたて、基礎値と名前をつけた。以降、この基礎値を求めていく。

判定係数

実は上の式の中で判定係数だけは不確定だったが、どうせ乗算だろうとあたりをつけていて、実際その通りだった。当初PERFECT=1.0だと考えていたが、GOOD/PERFECTを調べると、大体73%ぐらいと、定数だがきれいではない数値が得られた。困惑したが、比較的単純な整数比になるはずだという信念のもと探索を行うと、1.5 : 1.1 がおおよそぴったりこの数値になるということがわかった。NORMAL1.0, GOOD1.1, PERFECT1.5というのはそれっぽいのでこれを採用した。

のちにHELPを見たらBADはPERFECTのちょうど1/3だという画像があり、BAD=0.5で確信を得た。

基礎値を求める旅

基礎値の計算式を求めるにあたり、アイドルのステータス(以下、単にステータスといえばアピール属性と同じ属性の値を指す)をなるべく固定する必要が出てきた。そこで、上限パネルを取らずに、ステータス500の状態でのレジェンド・準決・決勝の記録をなるべく多くつけた。すると次のようなことがわかった。

  • ステータスが500固定でも、基礎値は固定にならず、基本的に回を重ねるごとに増加していく。

これをみて、当初は、特化ステータスだけではなく、他のステータスやメンタルが影響する(オーディションに合格するとステータスが伸びるので、それが影響している)のだろうとあたりをつけ、これらのステータスも記録してみた。だが、伸びたステータスと基礎値の間にわかりやすい関係を見出すことはできなかった。(ここが一番つらかった)

ある時、レジェンド不合格になり、ステータスがまったく同じ状態で翌週レジェンドに挑むと、それでも基礎値は増加していた。それはさすがに変だろうと思い、他に変動する要素としては流行だろうか、と流行を加えて記録をつけはじめたが、それでも関連のある様子はなかった。

記録をつけるうちに、別のアイドルだが、まったく同じ流行で、ステータスの高い方が基礎値が低い、という状況が発生して、さすがにこの線は間違っているのではないか、という感触を得た。

丸め

このへんで丸めについて調べた。調べたといっても力技で、なるべく多くデータのとれたオーディションを選んで(GRAD本選を使用したかもしれない)、審査員、判定、倍率、バフの4種類の係数について、全ての順番で、またかけたあとに丸めなし・切り下げ、四捨五入・切り上げの4種類の操作を総当りで行い、すべてのデータと計算値が一致する順番・丸め操作の式のみ出力するようなプログラムを書いた。こんな方法じゃ絞れないのではと思ったが、意外と次のことがわかった。

(基礎値バフ判定)倍率審査員\lfloor \lfloor (基礎値 * バフ * 判定) \cdot 倍率 \rfloor \cdot 審査員 \rfloor

カッコ内の丸めの種類は特定できなかったが、後ろ2つは間違いないと思われた。また、切り捨てが2回登場していることから、丸め操作は切り捨てで統一している可能性が高いと考えた。

週数の発見

そんな折、取ったデータを眺めていると、同じサポートを使い、pステータスが500であれば、それ以外のステータスがなんであれ、準決勝での基礎値がほぼ同じになるということに気がついた。

そこで、基礎値はアイドルの特化ステータスと、他にオーディション係数のようなものがあって、そっちで決まるのでは、という予測をつけた。オーディションに負けても基礎値が成長することからも、「週が進むごとに何もしなくても少し成長しているのではないか」という予想をもち、ためしに次の仮定をおいてみた。

  • S1の1週目は1, 2週目は2…S4の8週目は32, 準決勝は33, 決勝は34として、この数字と相関がある。

この数字と、ステータス500に固定したオーディションから得られた基礎値で散布図を描くと、果たして一直線に並んでいた。思わず快哉を叫んだ。叫んでない。快哉ってどうやって叫ぶんかな。かいさい!みたいな感じかな……

Pアイドルの基礎値を解明

ここからはそんなに苦ではなかった。

p=500p=500 のデータについて、線形回帰を使用して傾きと切片を求めると、ゲストを含まないサポートアイドルのステータスの合計をss、週数をwwとして次の関係を得た。週数と週係数は異なることに注意。

基礎値150ws+110s+(1050)基礎値 \sim \frac{1}{50} w \cdot s + \frac{1}{10} s + (1050)

1050の項はpアイドルのステータス(pp)の関数になるだろうと考え、p500p \ne 500 のものも含めて計算を行ったところ、 2p+502p + 50 程度になることがわかった。。

基礎値150ws+110s+2p+(50)基礎値 \sim \frac{1}{50} w \cdot s + \frac{1}{10} s + 2p + (50)

(あとの計算のために)式を整理すると

基礎値2p+15(w+510)s+(50)基礎値 \sim 2p +\frac{1}{5}(\frac{w + 5}{10}) s + (50)

最後に5050だが、完全に定数ではなく、わずかながらにサポートアイドルの値に比例していることがわかった。係数は0.078程度で、乱暴だが0.08に丸めて計算すると、

b15(w+510)s+2p+0.08s=2p+15sw+910=2p+週係数15s\begin{aligned} b &\sim \frac{1}{5}(\frac{w+5}{10}) s + 2p + 0.08 s \\ &= 2p + \frac{1}{5}s \cdot \frac{w+9}{10} \\ &= 2p + 週係数 \cdot \frac{1}{5}s \end{aligned}

となった。ただし、週係数=(w+9)/10週係数 = (w+9)/10 . 1週目は1で、そこから0.1刻みで増えていく数値になる。この決め方は人為的かつわかりやすいので。かなり確信に近い感触を得た。

Sアイドルも解明

サポートアイドルの数値を全員200に固定してデータを取って同様の推定を行った。EXスキルは便利。上の推測で得られた週係数を使用できると仮定して計算すると、あっさり求まった。特筆すべき点として、データと予測値に誤差が発生しなかった。

基礎値12p+週係数(15s+35sa)基礎値 \sim \frac{1}{2}p + 週係数(\frac{1}{5}s + \frac{3}{5}s_a)

ただしsas_aはアピールを行うサポートアイドルのステータス。

仕上げ

PアイドルとSアイドル、2つの式をまとめて次のように表せる。

基礎値アイドル(週係数ステ種別アピール者)基礎値 \sim \sum_{アイドル} (週係数 \cdot ステ \cdot 種別 \cdot アピール者)

ただし

  • 週係数は、Pアイドルの場合、1で固定。Sアイドルの場合、S1の1週目が1, S2の2週目が1.1, …, S4の8週目が4.1, 準決勝が4.2, 決勝が4.3。
  • ステータスは、各アイドルのアピールと同じ属性のステータス。エクセレントアピールの場合は審査員と同じ属性のステータス。
  • 種別係数は、Pアイドルは1, Sアイドルは0.4。
  • アピール者係数は、アピールを行うアイドルは2、それ以外は0.5.

サポートアイドルの値を200で統一すると誤差が出なかったことから、200にすれば丸めの影響を受けないと考え、3人を200、1人を202にしてデータを取り、気合と勘で計算値と実測値が一致する丸めを探すと、アピール者係数を掛ける前に切り捨てを行うことで、予測値とデータが完全に一致することを発見した。

基礎値=アイドル(週係数ステータス種別アピール者)基礎値 = \sum_{アイドル}(\lfloor 週係数 \cdot ステータス \cdot 種別 \rfloor \cdot アピール者)

結論(再掲)

以上から、結局アピール値は次の式で計算できる。

アピール=基礎値(1+バフ)判定倍率審査員基礎値=アイドル(週係数ステータス種別アピール者)\begin{aligned} アピール &= \lfloor \lfloor \lfloor 基礎値 \cdot (1 + バフ) \cdot 判定 \rfloor \cdot 倍率 \rfloor \cdot 審査員 \rfloor \\ 基礎値 &= \sum_{アイドル}( \lfloor 週係数 \cdot ステータス \cdot 種別 \rfloor \cdot アピール者 ) \end{aligned}

ただし、

  • アイドルはPアイドルとサポートアイドル4人が対象。ゲストを含まない。
  • 週係数は、Pアイドルの場合、1で固定。Sアイドルの場合、S1の1週目が1, S2の2週目が1.1, …, S4の8週目が4.1, 準決勝が4.2, 決勝が4.3。
  • ステータスは、各アイドルのアピールと同じ属性のステータス。エクセレントアピールの場合は審査員と同じ属性のステータス。
  • 種別係数は、Pアイドルは1, Sアイドルは0.4。
  • アピール者係数は、アピールを行うアイドルは2、それ以外は0.5.
  • バフは示される数値。
  • 判定係数はPERFECT=1.5, GOOD=1.1, NORMAL=1.0, BAD=0.5.
  • 倍率はアピールの倍率
  • 審査員は、エクセレントの場合は2, それ以外の場合は1。

あ。興味調べてない。多分最後に乗算して切り捨てじゃないかな(雑)。

思い出アピール

変数が多いので、まずPアイドルの影響を調べるため、思い出Lv2、サポートアイドルの特化以外のステータス合計(Vo特化ならDaとVi)を同じにして調べると、あっさり次のことがわかった。

  • サポートの値が同じ、バフがない場合、アピール値 - (特化ステータスx3) = オーディションごとの定数

パーフェクトを出したときの1倍アピールの値が基礎アピールx3を使うので、この数字が使われているだろうとあたりをつけて調べると、次のことがわかった。

  • アピール値 - (審査員の属性の1倍アピール) = 審査員によらない定数

ただしExcellentは一旦無視する。さらに次のこともわかった。

  • 審査員によらない定数 = Vo1倍アピール + Da1倍アピール + Vi1倍アピール

これは結局以下のように表せる。

  • 全審査員に Vo/Da/Vi 1倍アピール(Excellent込み)

思い出Lvごとに調べた結果は以下の通り。

  • Lv1 全審査員に Vo/Da/Vi 0.8倍アピール
  • Lv2 全審査員に Vo/Da/Vi 1倍アピール
  • Lv3 全審査員に Vo/Da/Vi 1.2倍アピール
  • Lv4 全審査員に Vo/Da/Vi 1.4倍アピール
  • Lv5 全審査員に Vo/Da/Vi 2倍アピール

調べてから気づいたんだけど、グレフェスのヘルプに書いてあった。

  • 日記