このブログでは、「AIでゲームを攻略して勝ちにいく」というテーマのもと、カビゴン入り初代統一で上位到達を目指す挑戦を続けています。
この記事では、その挑戦の中で取り組んだ『Pokémon Champions』レギュレーションM-Aを振り返ります。
この挑戦の目的は、単純に好きなポケモンで勝ち上がることだけではありません。
過去にもカビゴン入り初代統一で対戦した経験があり、その中で、
「もし対戦データを記録し、分析できていれば、さらに改善できるのではないか」
という考えが生まれました。
そこで今回は、AI分析を活用したポケモン対戦攻略の仕組みを作り、実際にどこまで勝率や順位改善につなげられるのかを検証しました。
目標は、
「カビゴン入り初代統一でレート2000到達」
でした。
しかし、レギュレーションM-A全体を振り返ると、単純に「AI分析を使って勝ったシーズン」ではありません。
シーズン1では対戦面で大きな結果を残し、シーズン2ではその経験をもとに、AI分析を実戦投入するためのデータ整理や環境改善を進めました。
今回は、レギュレーションM-Aでの対戦結果、AI分析環境の構築、そして次の環境に向けた改善点についてまとめます。
レギュレーションM-A開始時の目標
今回の取り組みで検証したかったことは大きく以下の4点です。
- AI分析によって勝率は上がるのか
- AI分析によって順位は上がるのか
- レート2000を超えられるのか
- さらに上位帯へ到達できるのか
当初の想定では、
シーズン1:
対戦を行いながらデータを収集する
↓
シーズン2:
収集したデータを分析し、改善につなげる
という流れで進める予定でした。
シーズン1:カビゴン入り初代統一で上位を目指す
シーズン1では、カビゴン入り初代統一を使用し、レギュレーションM-A環境で上位を目指して対戦を行いました。
その結果、
- 最高レート2475
- 最高順位623位
- カビゴン入り初代統一でレート2000達成
という結果を残すことができました。
当初の目標だったレート2000到達を達成し、その後さらに上位を目指せるところまで到達できました。
一方で、シーズン終盤では順位を大きく落とす場面もあり、上位帯で結果を維持する難しさも感じました。
シーズン1の詳細な振り返りについては、こちらの記事でまとめています。
また、この期間で構築に対する考え方も変化しました。
最初は「強いポケモンを並べる」という考えでしたが、対戦を重ねる中で、
「カビゴンをどう通すか」
を中心に構築や選出を考えるようになりました。
データ収集の運用に課題が発生
一方で、AI分析を行うためのデータ収集では大きな課題がありました。
シーズン1開始前の段階で、取得したいデータや分析の構想自体はある程度決まっていました。
しかし、それらを対戦と並行して継続的に記録・運用する仕組みまでは十分に固めることができていませんでした。
そのため、実際に対戦を進める中で取得項目や記録方法を見直す場面も多く、必要なデータを後から追加していく形になりました。
記録できていた情報は、
- 対戦開始時刻
- 自分のレート
- 自分の順位
- 使用構築
などの基本情報が中心でした。
一方で、
- 相手構築
- 自分の選出
- 相手の選出
- 初手ポケモン
- 初手行動
といった分析に必要な情報についても取得する予定ではありましたが、対戦と並行して継続的に記録する運用を確立できませんでした。
その結果、データの欠損が多く発生し、シーズン2では本来予定していた分析より先に、シーズン1データの補完作業を進めることになりました。
M-Aで得た一番大きな課題
M-Aを通して分かった一番大きな課題は、
「分析技術」よりも「分析を運用する仕組み作り」が重要だった
ということです。
当初は、
対戦データを集める
↓
AI分析を行う
↓
分析結果をもとに構築を改善する
という流れを想定していました。
しかし実際には、
- どのデータを取得すれば改善につながるのか
- どの分析結果を優先して見るべきなのか
- 分析結果を見た後、何を変更するべきなのか
という部分が、シーズン開始時点では十分に固まっていませんでした。
そのため、シーズン1では対戦データの収集、シーズン2では分析を行う予定でしたが、実際にはシーズン2でもデータ補完や分析方針の整理に時間を使うことになりました。
結果として、分析環境そのものは作成できたものの、
「分析 → 改善 → 検証」
というサイクルを十分に回すところまでは到達できませんでした。
M-Bに向けた改善方針
M-Aでの経験を踏まえ、次の環境では分析項目を増やすことよりも、
「実際に勝率改善につながる分析だけを残して運用する」
ことを優先します。
M-Bでは、
- どの分析が本当に役立つのか
- どのタイミングで分析するべきなのか
- 分析結果をどのように改善につなげるのか
を検証していきます。
フェーズ1:選出判断ダッシュボード
フェーズ1は、分析そのものではなく、対戦前の意思決定をサポートするための画面として整理します。
フェーズ2・フェーズ2.5で得た分析結果をまとめ、
「対戦前に何を見るべきか」
を判断できる状態を目指します。
これまで作成してきた分析結果を、実戦で使える形に変換する役割になります。
フェーズ2:選出分析
フェーズ2は、M-Bでも中心となる分析です。
確認する内容は、
- 相手がどのポケモンを選出しやすいか
- 自分がどのポケモンを出した時に勝てているか
- どの選出パターンが勝利につながっているか
です。
M-Aでは複数の分析を作成しましたが、M-Bでは実際の選出判断や勝率改善につながりやすい分析を優先して運用します。
一方で、一部の分析については見直しも行いました。
試合内で同時に存在したポケモン同士の組み合わせを集計する分析も作成していましたが、実際の対面相性や選出判断とはズレる可能性があることが分かりました。
そのため、M-Bでは主力分析から外し、必要に応じて参考資料として利用する方針にしています。
フェーズ2.5:初手判断分析
フェーズ2.5では、選出後の初手判断改善を目的としています。
M-Aでは十分な運用や検証まで進めることができなかったため、M-Bで本格的に検証していく予定です。
確認したい内容は、
- どの初手対面で負けているのか
- 相手は何を初手に出しやすいのか
- その対面でどの行動が勝率につながっているのか
です。
現時点では、
相手初手傾向を確認
↓
苦手な初手対面を確認
↓
有効な行動候補を確認
↓
実際の行動との差を見る
という流れで運用することを想定しています。
ただし、分析結果をそのまま「正解」とするのではなく、
「勝率が高かった行動候補」
として扱い、実戦で検証しながら改善につなげていく予定です。
M-AからM-Bへの変化
M-Aでは、
「AI分析を活用して勝率や順位を向上できるのか」
を検証することが大きな目的でした。
そのために、
- 対戦ログ管理環境
- Python分析環境
- 分析フェーズ
- 改善に向けた考え方
の整備を進めました。
その結果、分析を行うための土台は作ることができました。
一方で、分析結果をどのように実戦へ反映するかという部分には課題が残りました。
そのためM-Bでは、
「分析を増やすフェーズ」ではなく、
「分析を使って改善するフェーズ」
として取り組んでいきます。
M-Aを終えて
M-Aでは、目標としていた「カビゴン入り初代統一でレート2000到達」を達成し、最高レート2475・最高順位623位という結果を残すことができました。
また、AI分析を活用したポケモン対戦攻略という取り組みにおいて、必要となるデータ管理や分析環境の土台も作ることができました。
しかし同時に、
「データを集めること」
「分析すること」
「勝率改善につなげること」
は、それぞれ別の課題であることも分かりました。
次のM-Bでは、M-Aで作成した環境を活用しながら、実際にどこまで勝率改善につなげられるのかを検証していきます。
