2017年夏に発売された「Splatoon 2」（Nintendo Switch向け）は、いわずと知れた人気シューティング対戦ゲームです。ゲームに勝つためには、インクを用いて敵チームのプレイヤーを倒したりステージの床を塗ったり、さまざまな要素を考慮する必要があります。発売後も、定期的にステージやブキの追加、新ルールの登場、ゲームバランスの微調整などがあり、とるべき戦略は日々変化し、今なおユーザーの熱狂が続いています。一方、熱中しすぎたユーザーの間では、負けが続くと「コントローラー投げた」「編成事故」「デボン改修はよ」（※）などと嘆く声も出ています。

（※）「編成事故」は、味方チーム4人のブキの組み合わせが悪いこと。「デボン改修はよ」は、「デボン海洋博物館」というステージの構成変更を望む声のこと。

本稿では、データサイエンティストの筆者がSplatoon 2の数百試合分のデータを解析することで、「ガチエリアは『塗り』と『キル』（※）どちらが重要なのか」「編成事故は存在するのか、そうであればルールごとに望ましい編成は何か」といった、ファンの間で感覚的に言われていることが本当に正しいのかを検証し、勝利につながるヒントを明らかにしていきます。

（※）キル……敵チームのプレイヤーを倒すこと。Splatoon 2では、相手に一定のダメージを与える（インクをかける）と「キル」となる。敵にキルされてしまうと、自陣のスタート地点に戻され、一定時間動けないペナルティーが発生する。

試合結果をひたすらキャプチャー、633試合分

まずはデータを収集します。Splatoon 2では試合後、ステージの塗り結果と、各プレイヤーのリザルト（戦績）が表示されます。Switchには、コントローラーボタンを押してゲーム画面をキャプチャーする機能がありますので、この機能を利用して、塗り結果とリザルトの画面をひたすらキャプチャーします。

塗り結果の画面

また、Nintendo公式アプリでは、「塗りポイント」や「アシストキル」など、より詳細な試合結果も確認できます。この画像もひたすらキャプチャーします（ネットワークデータを解析するなど、より効率の良いデータ収集方法があるかと思いますが、知識がないので仕方ありません）。

公式アプリで確認できる試合結果

このようにして、まずは1505試合分のデータを入手しました。キャプチャーした画像枚数は、結果画像、アプリ画面を合わせて1505×3＝4515枚となります。

1505試合分のデータを集めた

これらの画像から各種データを抽出していきます。データ抽出はプログラミング言語「Python」で実装、画像処理ライブラリ「OpenCV」を使って判定しました。区画を区切った後、画像判定、文字認識にDeep Learningを用いています（「Keras」で実装）。元のテンプレート画像をあらかじめ用意することで、認識精度はほぼ100％となりました。

また、画像からプレイヤーたちが使っているブキを判定し、そのブキごとに射程、攻撃力、サブウェポン、スペシャルウェポンなどをひも付けて集計します。

ちなみに「スマートフォンのリザルト画面をキャプチャーするのであれば、塗り結果の画像はともかく、プレイヤーのリザルト画面はキャプチャーしなくてよいのでは？」と思われるかもしれませんが、「どの塗り結果がどのリザルトだったか」のひも付けに用いています。

上記によって、最終的に下記のようなCSVファイルが得られました（実際のファイルでは、変数名はアルファベット表記）。

ここから、データ抽出がうまくいかなかったログや、試合中に味方がネットワーク回線を切断して消えてしまう“回線落ち”が存在した試合のデータを取り除くとともに、用いるデータを、プレイヤーのランクが「S」「S＋」帯の試合に限定し（筆者はA＋〜S＋の底辺を行ったり来たりしています）、最終的にS帯以上の632試合分のデータを今回の解析に用いることにしました。

以降のデータ解析は、あくまで筆者がマッチングした試合データに基づくものであり、S・S＋帯のプレイヤーには有意義な点があるかもしれませんが、その上のX帯には、当てはまらないこともあるかと思われます。ご留意ください。

S帯で「人気のブキ」と「勝てるブキ」は？

まず今回収集した632試合分のデータ概要を見てみましょう。収集期間は2018年4月〜10月中旬、ランクはS〜S＋2、内訳はS帯が496試合、S＋帯が136試合となりました。対象試合は「ガチマッチ」のみとし、「ナワバリバトル」「プライベートマッチ」「リーグマッチ」は、さまざまなウデマエのプレイヤーが混在するため除外しました。

1|2|3 次のページへ