ポケモン対戦におけるデータ分析

はじめに

 ポケットモンスター(以下ポケモン)は、株式会社ポケモン(発売当初は任天堂)から発売されているゲームソフトシリーズの名称ことであり、オンライン対戦が可能なゲームである。オンライン対戦では、主にシングルバトルとダブルバトルの2種類のルールが存在する。対戦するプレーヤーがそれぞれ6匹のポケモンを育成し、その中から相手のポケモンを見てシングルバトルでは3匹、ダブルバトルでは4匹選出して対戦を行う。対戦で勝つには相手の選出や技の選択を読み合い、勝負に勝利することが重要である。

 オンライン対戦を始めるにあたり、最初の壁となるのがパーティ構築である。パランスのいいパーティを作るのは難しく、特に初心者にとってはどのように6匹を選べば良いか悩むこともしばしばある。タイプ相性に気をつけていても特定のポケモンキノガッサやサーフゴーなど)に詰まされることも少なくない。

 最終的な目標は作成したポケモンパーティーの評価や最適なポケモンの技構成の助言を行うAIを作成することである。ポケモンパーティの情報を数値として扱うために、まずはポケモンや技を埋め込み表現で表す方法を考える。

 ポケモンや技を埋め込み表現で表すために初めに考えられるのは、種族値やタイプなどのメタ情報を用いることである。メタ情報を用いて埋め込み表現で表すことで、ポケモン種族値における重要なパラメータやタイプごとの特徴を可視化することなどができるが、対戦におけるポケモンの技の特徴を抽出することは難しい。例えば、同じタイプの「ラウドボーン」と「ソウブレイズ」では求められる役割や仮想敵が異なる。また、同じ「かえんほうしゃ」を採用する場合でも、同時に採用される技が「なまける」「あくび」「まもる」の場合と「むしのさざめき」「ちょうのまい」「ギガドレイン」の場合で「かえんほうしゃ」が求められる役割が変わる。そのため、ポケモンや技について特徴を掴むためには、人が作成したパーティのデータを教師データとするべきだと考えた。

 以上の理由から、対戦におけるポケモンや技について人が考えている特徴を掴むために、レンタルパーティの画像を教師データとする。レンタルパーティとは、自分で考えて構成したパーティ(チーム)を公開したり、インターネット上に公開されている他のユーザーのチームを借りたり貸したりできる機能のことである。レンタルパーティの画像はスマートフォンなどで簡単に読み込むことができるため、多くの人がツイッター上に公開している。これらの画像データを読み込み、教師データとすることで、ポケモンや技を埋め込み表現で表したいと考えている。

 今後の記事ではpythonを用いてデータ分析を行う上で、できたこと・つまずいたことなどをまとめ、投稿したいと考えている。まずはツイッター上からデータの読み込み・画像の選択についてのプログラムを作成したい。