ITmedia NEWS > ネットの話題 >

「Splatoon 2」をディープラーニングで攻略してみなイカ? 2018(前編)(1/3 ページ)

» 2018年11月12日 08時00分 公開
[mirandoraITmedia]

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

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

photo 2017年夏に発売されたシューティング対戦ゲーム「Splatoon 2」=任天堂の公式サイトより

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

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

著者紹介:ミランドラ(mirandora)

データサイエンティスト。データ分析サイト「mirandora.com」を運営。YouTubeに開設した「ミランドラチャンネル」では「Splatoon 2」攻略動画を公開している。

本稿は、2017年11月にmirandora.comに掲載した「Splatoon 2 を Deep Learning で攻略してみなイカ?」で使用したデータを更新した上で、大幅に加筆・修正したものです。本稿に用いているデータは、筆者が運営するミランドラチャンネルに投稿された試合結果などを基にしています。合わせて参照してみてください(チャンネル登録、高評価、コメントもお待ちしております)。

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

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

photo 塗り結果の画面
photo プレイヤーのリザルト(戦績)画面

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

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

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

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

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

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

photo
photo
photo

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

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

photo

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

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

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

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

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.