誰も止めないので書けるだけ書く

読みやすくするように頑張ります

シクスターゲートのスコアツールを置いておきます

Ashrmです。スコアツールといってもプレイヤ―統計とかが得られるわけではない(しプレイヤーがどれだけたくさんいるかもわかりませんが)、Excelでこれまで私がスコア管理に用いていた表を公開しようと思います。これらの記事で作っていたものと同じです。

 

terrastellal.hatenablog.com

 

terrastellal.hatenablog.com

 

私はこの表を数か月にわたって使ってきたわけですが、この記事はその使い方について書いていこうと思います。

こんな感じの表です。

 

 

 

ダウンロードリンクはこの記事の末尾です。

安全性などに関するコメント

現状、スコア管理できる譜面データはSUPERNOVAとQUASARのみとなっていますので、音ゲー初心者の方はあまり使えないかもしれません。STARLIGHT譜面がTRAVELで遊べるようになるアップデートが行われた場合、マクロを書き換える必要がありますので、その場合は再度配布するかもしれません。

 

このファイルは.xlsm形式であり、マクロが使用されています。マクロ使用Excelファイルを配布するというのはあまり良い印象ではないのでありまして、危険だと感じた方はダウンロードしないでください。

一応、使用されているマクロは以下のようなものです。

 

ThisWorkbook.dth 

実行するとダイアログボックスで「huh?」と煽られますが、その後「Diff Site」シートにある表*1をもとに譜面データを「Lunar」「Solar」に追加してくれます。追加されるのは難易度数・曲名・曲の長さ(秒数)だけなので、そのほかのデータは自分でExcelのオートフィルを用いて補完したり、1ノーツあたりのスコアを記入する必要があります。また、一応すでに追加された曲は追加されないようになっていますが、仕様により~を含む曲名などは重複して追加されてしまいますので都度削除の必要があります。

 

Sheet2.Worksheet_Change / Sheet3.Worksheet_Change

「Lunar」と「Solar」のシートで、1ノーツあたりのスコアを入力する欄を編集すると、入力された1ノーツ当たりのスコアで1,000,000を割った値を四捨五入して仮のノーツ数とし、仮のノーツ数で1,000,000を割ったスコアを四捨五入した整数値が(仮のノーツ数±1)で1,000,000を割ったスコアを四捨五入した整数値のいずれかと同じとき*2、この譜面の1ノーツのスコアの整数値からノーツ数を決定できないとみなして、10ノーツのスコアを10で割って1ノーツのスコアを小数第一位まで求めるように要求する旨のダイアログボックスが現れ*3、そうでなければ「O.K.」と言われます。既に入力されている1ノーツのスコアに整数のものと小数第一位まで書かれたものがあるのは、このマクロによるチェックで「1ノーツのスコアの整数値ではノーツ数算出に不十分」とみなされた譜面について小数第一位までの値を記入しているわけです。1ノーツのスコアが1000以上の譜面であれば確実に1ノーツのスコアは整数値で十分です。

 

Module1.Mental / Module1.Physical

後述する「Mental」「Physical」の、1譜面あたりの値の計算をするために用意したFunctionプロシージャ、つまりExcelで関数として使えるものです。

 

以上をお読みいただければ、使用されているマクロの安全性についてご理解いただけると思います。

 

使い方(と、セールスポイントの紹介)

Diff Site

曲データ更新を行う場合は、非公式日本語Wikiの楽曲一覧の表をクエリで取得し、その表をこのシートにコピーして、マクロ「ThisWorkbook.dth」を実行します。詳しくは、上の「ThisWorkbook.dth」の見出しをご覧ください。

 

Lunar/Solar

LUNAR MODE、SOLAR MODEについて、譜面のスコアを記入するシートです。条件付き書式を大量に用いて、見た目を華やかにしようとしています。

各列の紹介
A列...レベル(難易度数)。フルコンボ/PURE BLUEの場合はこのセルに色が付きます。

B列…曲名

C列…譜面種別(SUPERNOVA/QUASAR)

D列…ここにスコアを書きます。980,000点以上である譜面についてはデータバーを表示しています。また、PURE BLUE=1,000,000点が入力された場合は青く塗りつぶされます。

E列…D列のスコアに対するその譜面のMental値

F列…その譜面のPURE BLUEで得られるMental値

G列…D列のスコアに対するその譜面のPhysical値

H列…その譜面のPURE BLUEで得られるPhysical値

Mental値Physical値は私が考えた「レーティング」のようなものです。この記事冒頭にあげた2記事に詳細が書かれていますが、ほかのスコアゲーにあるレーティングよりも理論値にフォーカスしたものを作ろうとして生まれたのがMental値です。PURE BLUEを取得したとき、レベル7のSUPERNOVA譜面*4では1点が取得できますが、そこからレベルが8、9、…と上がるごとにPBに対するMental値は2点、4点、...と上がり、レベル15の譜面をPBした場合256点が取得できます*5。しかし、有意な大きさのMental値を得るためにはほぼ理論値を出さなければならない極端な指標です。1WHITE STARごとに得られる値が指数関数的に減少し、0.0001点得るのに少なくとも995,000点が必要になります。

これを各譜面で計算して足し合わせた値を全体のレートとするにはあまりにも厳しく、例えば難易度数13以上のPBが非常に困難な譜面での成績が全く考慮されないということで、通常のレーティングに近いPhysical値が生み出されました。Physical値は下のグラフのように940,000点以上から正の得点を獲得でき、PBではレベル数×3(×フルコンボで7/6)の得点を得ることができます。

 

I列…ここに「1」と記入するとフルコンボ達成の扱いになり、Physical値が7/6倍になります。Physical値算出のため、PURE BLUE達成時もここに「1」と記入されている必要があります。

J列…その譜面の「欠点」です。譜面のノーツ数*6から算出された1ノーツのスコアの1/4で、(1,000,000-スコア)を割ったものであり、つまり失点が通常ノーツでのWHITE STARを何個出したことに相当するかの値です。例えば、上の画像中で「Natalia:Code (SUPERNOVA)」は999,416点が記入されていますが、これは2落ちの得点なので、「欠点」は2.0となっています。スコアの仕様上、通常ノーツではYELLOW STARは「欠点」が3加算され、RED STARは「欠点」が4加算されます。ホールドノートの始点のWHITE STARに対して加算される「欠点」は0.5です。「欠点」が0.5刻みの値でない場合、ホールドノートの「押し続けている部分」でミスがあったことになります。

スコア詰めできそうな譜面を探すときはたぶんこの列の値が大いに参考になります。

 

K列…SSを取るために許容される「欠点」

L列…990,000点を取るために許容される「欠点」

SSや990,000点を達成した場合は該当する欄が緑色に塗りつぶされます。

 

M列…1ノーツ当たりのスコアを入力する欄です。ここにマクロが仕組まれており、詳細は「Sheet2.Worksheet_Change / Sheet3.Worksheet_Change」の項をご覧ください。

N列…曲の長さを秒単位で表したものです。

O列…算出されたノーツ数です。

P列…平均密度です。

Q列…「欠点」1がスコアにして何点分かを計算してあります。

 

pg

「PlayGround」のつもりで、全曲の成績データを用いていろいろな計算で遊ぶための場所として作りましたが、一応「成績のまとめ」シートとして機能しています。

LUNARとSOLARで別々にMental値Physical値の合計を示してあります。Mental値の横に示してある「Rank」はln(Mental理論値/Mental値)であり、0に近いほどよいことになりますが、この値を1未満にするためにはレベル12以下の全譜面をPBしても足りません。Physical値の横にはPhysical値の理論値に対する割合が書かれており、日々スコア伸ばしすることで自分の成長を感じられるでしょう。一応Mental値Physical値の合計も示しましたが、私はあまり気にしていません。

その下には(SUPERNOVA以上の)フルコンボ譜面数、PB譜面数、「欠点」の合計値、ln(ノーツ数合計/「欠点」合計)、それと全理論値までの残りスコアが書かれています。基本的な統計ですが、役に立つと思います。


その表の下にはこのような表があります。

レベル別のPhysical値と「欠点」の合計が示されています。Physical値は理論値に対する割合、「欠点」はノーツ数合計に対する割合を用いてSOLARとLUNARの間で換算を行い、SOLARとLUNARのレベル別の比較を行っています。レベル別「欠点」合計のSOLAR/LUNAR間の比較は選曲に役立つかもしれません。

 

また、レベル別のスコア分布をこのように可視化している部分もあります。

 

pg2

ここにはあまり見るものはありませんが、レベル別譜面数まとめと、1000点スコアを伸ばした時のPhysical値の伸び(フルコンボは考慮せず)がまとめてあります。

ダウンロードリンク

こちらをどうぞ。google driveのファイルへのリンクですので、そのままダウンロードください。ただし、「安全性などに関するコメント」を読んでからのほうが良いと思います。

drive.google.com

 

なお、外部からダウンロードしたマクロ付きExcelファイルはExcelによりマクロをブロックされることがあります。そのような場合は、可能であれば使用されているマクロを読んで安全であることを確認してから、エクスプローラーの当該ファイルを右クリック→「プロパティ」で「セキュリティ」の欄の「許可する」にチェックを入れるとマクロが使えてPhysical値・Mental値が計算できるようになります。

 

ありがとうございます。

 

*1:実際は、以下の非公式日本語Wikiの楽曲一覧の表をクエリで取得したものです。いつもWikiを更新してくださっている方に感謝します。なお、一部の隠し曲の曲名の末尾に※がついているのはこれが理由です。

wikiwiki.jp

*2:これは、ゲーム中に示されるスコアの整数値が小数第一位を四捨五入しているものだという前提で作っています。実際にはそのような保証はなかったりしますが、現状これで後述する「欠点」の計算はうまくいっています。

*3:スコアに小数第一位までの値を入力してもそう言われますが無視しましょう。

*4:NOVA譜面は判定が甘くなっており、PB難易度はSUPERNOVA譜面よりも低くなっています。

*5:今後STARLIGHT譜面がTRAVELモードに出てきた場合、レベル17の譜面で1024点になり、それを超えるレベルの譜面がない保証がなく、全PBで得られるMental値はおそらく破壊されます。

*6:コンボ数ではなく、ホールドを1ノートと数えたもので、1ノーツのスコアは1,000,000をこれで割ったものです。