ごごちと申します。
ポケモンをデータ分析で遊んでいます。
今回はポケモンの
対戦AI作成を体験してみました。
今回はその一部始終を紹介したいと思います!
ポケモンの対戦AIが動作しているところ
構築方法
すでに研究が進んでいる様で、
偉大な先人に倣いました。
偉大な先人
こちらのgithubのリポジトリから、
ポケモン対戦AIを作成可能です。
カリフォルニア州立大学East Bay校の
学生さんだそうです。
凄すぎてマジでヤバい🙌
筆者はWSL2で動作させた
READMEには
Linuxで動作可能
WSL2でもおそらく動作可能
と記載がありました。
筆者は試しにノートパソコン(Windows 11)で
WSL2をインストールしてトライしました。
その結果、WSL2でも
上記の動画のように動作確認できました。
ポケモン対戦のシミュレータ
ポケモン対戦をAIで扱う際には、
ポケモン対戦シミュレータである
「pokemon showdown」
を使います。
pokemon showdownのコードも
githubで公開されています。
文献によると、
数多くのポケモンAI研究が
pokemon showdown を活用して
行われているそうです。
研究で行われているレベルで
関心が集められているのが、
ゲームが人権を獲得した証だと思います。
(もしかしたら先ほどの方も
研究でやっているのかも。)
現状の課題
まだプログラムを理解できていないので、
githubにある元コードのまましか
動作できていません。
・第4世代のシングルバトル
・レベルもランダム
・パーティーもランダム
・禁止伝説も含まれる
・個体値や努力値も適当
まずは基本的なところから
設定をいじれるようにしたいです。
やりたいと思っていること
できるかどうかは別ですが、
このシミュレータをカスタマイズして
以下のようなことをしたいと思っています。
- 世界大会決勝など有名なマッチングのAIによる勝率
- 対戦の盤面ごとの解析
「有名なマッチングのAI勝率」
の方が実現可能性は高いです。
対戦レギュレーション、
ポケモンの種類、
その他能力値
などを設定してAI同士で対戦させれば
良いと思います。
「対戦の盤面ごとの解析」は
さまざまなステップがありそうで
実現可能性は低いかもしれません。
ゲームAI好きの知人がいるので、
いろいろ聞いてみたいと思います。
強化学習も学びたい
ソースコードの通りに学習させると、
うまく学習が進んでいないようにも見えます。
強化学習のDQN(Deep Q Network)など、
今は理解していませんが、
この機会に学びたいと思います。
ポケモン対戦AIを研究します!
今回はポケモン対戦AIについて紹介しました!
現段階ではプログラムを理解しておらず、
できることも限られていますが、
時間をかけて仕組みを理解したいです。
そして、
現世代(SV)の対戦向けにカスタマイズし
面白い使い方ができるようにしたいです!
なんだかポケモンが違う世界になってるみたいですね!