はじめに
スプラトゥーンを遊ぶうえで感じたことといえば「あの武器苦手」「この武器苦手」「味方弱い」「敵強い」……
色々あると思いますが、果たしてそれらは実際に勝敗に影響しているのか?
よく「リザルト(キルデス)がすべてじゃない」という言葉を聞きますが本当にそうなのか?
気になりますね?……ね??
単純に、勝ったときと負けたときでリザルトにどんな差があるのかわかれば勝率を上げられるかもしれませんし、実際のデータを見ればわかることは色々ありそうです。
今回はXマッチに絞ってリザルトを分析していこうと思います。
目標
- データの抽出するスクリプトをつくる
- 50件前後のスクショからデータ抽出
- sqlite3に格納(予定)
- 分析
- 勝率に影響する特徴量を知りたい
最低限動くものを作りたいので手抜き工事ですがあしからず。
そもそもどうやってデータを取るのか
Splatoon3では、ゲーム内かイカリング3(スマホアプリ)でのみリザルトを確認することができます。
ゲーム内の場合は試合自体を分析したいような気がしますが、今回はなるべく簡単に作りたいのでイカリング3からリザルトを収集することにします。
イカリング3はスマホ版しかないのでスクリーンショットからOCRやらパターンマッチングやらを用いてデータを引っこ抜くことにします。(webでイカリング3を閲覧する方法があるようですが、非公式なのでやめておきます。)
僕のスマホはandroidなのでマクロアプリでデータを抽出……ということはできなくなさそうですが、いちいちスクショをしてpythonで抽出することにします。
この際、イカリング3は50試合前までのリザルトしか閲覧できないので50試合ごとにスクショを1枚1枚取る必要があります。(たぶんここが一番のめんどいポイント)
それこそマクロで簡単にできることだと思うのでひとまずこの案を強行します。
イカリング3から取れるデータの種類
赤い丸をつけた部分が今回イカリング3から抽出したいデータとなっています。
- ガチルール
- 勝敗
- ステージ名
- カウント
- プレイヤーごとの武器
- プレイヤーごとのリザルト(塗りポイント、キル、アシスト、デス、スペシャル)
- 自分の位置(黄色い矢印)
- 試合の時点でのXパワー
- 日時
- 試合時間
これらを抽出することを短期の目標として頑張ります。