LoginSignup
7
1

More than 3 years have passed since last update.

スプラトゥーン2の戦績データを取得する+おまけ

Last updated at Posted at 2019-12-06

これはCAMPHOR- Advent Calendar 2019の7日目の記事です。6日目は@watamboさんの「中目黒のコミュニティスペースCAMPHOR- BASEにみんなおいでヨ!」でした

こんにちは。@asamasです。あさますと読みます。
みんなが「リングフィットアドベンチャー」や「ポケモンソード」などを楽しんでいる中、僕は相も変わらずスプラトゥーン2をプレイしてます。

今回は、スプラトゥーン戦績管理アプリである「ikaWidget2」に記録されているデータを引っこ抜いて、簡単な分析などをしてみようと思います。

.ikax -> .zip

ikaWidget2にはバックアップ機能があり、そこからファイルを出力すると、asamas-20191204-1011.ikaxのようなファイルが作成されます。このファイルは拡張子を変えれば、そのままzipファイルとして読み込めます。
解凍すると、下の写真のように、info.jsonとstats.realmが見つかると思います。戦績データは、stats.realmの中に入っています。
コメント 2019-12-06 162516.png

realmファイルの内容をjsonに書き出す

realm studioをインストールします。stats.realmファイルを開いた後、File > Save Data > Jsonで書き出せます。この機能に気づかずに、realm (nodejs) 使おうとしてめちゃくちゃ時間とかしました

戦績データの解析

このデータを使って、自分の苦手ステージを調べてみました。
まずはjsonファイルを取り込みましょう

# -*- coding: utf-8 -*-
import json

with open("results.json","r",encoding="utf-8") as f:
    result_json=json.load(f)

ルールごとの違いを調べます。下の例ではガチエリア(splat_zonesgachi)を調べています。ガチホコを調べたいときはrainmakergachi、ガチヤグラはtower_controlgachi、ガチアサリはclam_blitzgachiに変更してください。

area_result={}

for item in result_json["Result"]:
    if item["udemae"]<9 and item["game"]!="splat_zonesgachi": #S以上の戦績に限定&ガチエリア以外のルールを排除
        continue
    for i in result_json["Stage"]:
        if i["ID"]==item["stage"]:
            stage_name=i["name"]

    if not stage_name in area_result.keys():
        area_result[stage_name]={"win":0,"lose":0}
    if item["win"]:
        area_result[stage_name]["win"]+=1
    else:
        area_result[stage_name]["lose"]+=1

for key in sorted(area_result.keys(),key = lambda x:area_result[x]["win"]/(area_result[x]["win"] +area_result[x]["lose"]),reverse=True):
    print(key,area_result[key]["win"]/(area_result[key]["win"] +area_result[key]["lose"]))

結果はこのようになりました。
ガチエリア
コメント 2019-12-06 171637.png
ガチヤグラ
コメント 2019-12-06 174034.png
ガチホコ
コメント 2019-12-06 174206.png

モズク農園やニューオートロがどのルールでも上位に来ています。僕の持ちブキのクーゲルシュライバーで、得意とされているルールですね。一方でザトウ・チョウザメ・ムツゴロウなどの勝率は30~40%ぐらいなので、相性が悪いステージだとわかります。

今後

今回は時間がなくて中途半端な記事になってしまいましたが、ikaWidget2からデータを引っこ抜く方法はわかりましたので、LightGbmなどを使って、より詳しい分析ができたらと思います

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1