Pythonで音ゲー(ボルテ)のツール作ってみた

タイトルを何にするか迷いましたが、一般的な感じにしました。

背景

僕はSOUND VOLTEX(以下ボルテ)というゲームが好きでよく遊んでいます。

このゲームはゲームセンターで遊べる音楽ゲーム音ゲー)です。音ゲーがどのようなものかは省略します。ボルテは以下のような特徴を持った音ゲーです。

  • レベルが20段階
    • 特に16~19あたりが多く遊ばれる
  • 譜面数が非常に多い
    • レベル16・17は300以上の譜面ある
  • スコアが1000万点満点
    • ほとんどの譜面は900万点以上獲得できる
  • 各譜面のハイスコアをCSVファイルで入手できる(→後述)

僕自身のボルテに対するスタンスはというと、

  • プレー歴5年以上
  • 5000クレは投入?
  • その割に上手くない
  • 成長が鈍い(伸びてないわけではない)
  • 現在はレベル15~20の譜面を遊んでいる

つまり、マンネリとなってモチベーションが低下してしまう可能性が常にあるというわけです。

また、ボルテには様々な非公式なツールが存在しています。

nearnoah.sakura.ne.jp

myamyasdvx.herokuapp.com

今は使えませんが昔はこのようなツールがありました。

SDVX IIIのスコアツール

スコアツールによって、何が可視化されてうれしいかというと、代表的なものに各レベルのスコア平均値があります。

f:id:alek3:20180616234341p:plain

これを見ながら、「レベル15の平均99いった!」とか「今月はレベル18の平均957目指そう~」とかそういう使い方をします。計測可能な目標を増やすというわけです。

現状のツールの不満点に、参照できるデータが最新のもののみであるという点があります。昔のツールは、過去のスコアや、ひとつ前の記録との差分を見ることができました。

以上の背景から、「各レベルのスコアの平均値の推移表を作成する」ツールを作成することにしました。

Input/Output

プログラムを作成する前に用意するもの、すなわちインプットは、ボルテのスコアが記録されたCSVファイルです。これは最新版がKONAMI提供のe-amusement gateから取得できます。

これを定期的に取得して保管しておきます。

f:id:alek3:20180617002456p:plain

ファイル名は自分でリネームしています。

プログラムは下記を参照してください。

github.com

scoresheetディレクトリにいくつかのCSVファイルを入れて、プログラムを実行すると、以下のようなxlsxファイルが得られます。これがアウトプットになります。

f:id:alek3:20180617002807p:plain

これによって僕は、「6月10日から13日までで、レベル18の平均スコアが2700点も伸びてる!!よっしゃ!!!!」という達成感を得ることができるようになりました。ボルテをやってない人にはさっぱりでしょうが、僕にとっては有用な代物です。*1

終わりに

エクセルファイルをアウトプットにしようと思ったのは最近読んだ以下の書籍の影響があります。今回Pythonで書いたのにも少し影響しています。

改善ポイントとしては、以下があるかなと思います。

  • コードが汚い
  • 平均スコアが上がったセルは、赤色とかで塗りつぶしがあるといいな
  • スコアのCSVを定期的に手動でダウンロードするのが面倒

アウトプットがExcelファイルというのは見やすくていいなと思いました。

*1:ちなみに、R3からR4にかけて平均値が16000も上がっています。これは一見すると異常なのですが、上昇の理由はΩ Dimensionでクラッシュしたまま放置していた曲があったためです。Ω Dimensionで解禁できない曲がある19は、平均値が大きく上下します。