ポケモンの対戦AI作成を体験してみた【pokemon showdown AI】

ごごちと申します。

ポケモンをデータ分析で遊んでいます。

今回はポケモンの
対戦AI作成を体験してみました。

今回はその一部始終を紹介したいと思います!

ポケモンの対戦AIが動作しているところ

AIとの対戦の様子

構築方法

すでに研究が進んでいる様で、
偉大な先人に倣いました。

偉大な先人

こちらのgithubのリポジトリから、
ポケモン対戦AIを作成可能です。

カリフォルニア州立大学East Bay校の
学生さんだそうです。
凄すぎてマジでヤバい🙌

筆者はWSL2で動作させた

WSLで対戦ボットを動作させているところ

READMEには

Linuxで動作可能
WSL2でもおそらく動作可能

と記載がありました。

筆者は試しにノートパソコン(Windows 11)で
WSL2をインストールしてトライしました。

その結果、WSL2でも
上記の動画のように動作確認できました。

ポケモン対戦のシミュレータ

ポケモン対戦をAIで扱う際には、
ポケモン対戦シミュレータである

「pokemon showdown」

を使います。

pokemon showdownのコードも
githubで公開されています。

コンソールからpokemon-showdownを動作させているところ

文献によると、
数多くのポケモンAI研究が
pokemon showdown を活用して
行われているそうです。

研究で行われているレベルで
関心が集められているのが、
ゲームが人権を獲得した証だと思います。

(もしかしたら先ほどの方も
研究でやっているのかも。)

現状の課題

まだプログラムを理解できていないので、
githubにある元コードのまましか
動作できていません。

・第4世代のシングルバトル
・レベルもランダム
・パーティーもランダム
・禁止伝説も含まれる
・個体値や努力値も適当

まずは基本的なところから
設定をいじれるようにしたいです。

やりたいと思っていること

できるかどうかは別ですが、
このシミュレータをカスタマイズして
以下のようなことをしたいと思っています。

  • 世界大会決勝など有名なマッチングのAIによる勝率
  • 対戦の盤面ごとの解析

「有名なマッチングのAI勝率」
の方が実現可能性は高いです。

対戦レギュレーション、
ポケモンの種類、
その他能力値

などを設定してAI同士で対戦させれば
良いと思います。

「対戦の盤面ごとの解析」
さまざまなステップがありそうで
実現可能性は低いかもしれません。

ゲームAI好きの知人がいるので、
いろいろ聞いてみたいと思います。

強化学習も学びたい

現状ではうまく学習できていないかも。

ソースコードの通りに学習させると、
うまく学習が進んでいないようにも見えます。

強化学習のDQN(Deep Q Network)など、
今は理解していませんが、
この機会に学びたいと思います。

ポケモン対戦AIを研究します!

今回はポケモン対戦AIについて紹介しました!

現段階ではプログラムを理解しておらず、
できることも限られていますが、
時間をかけて仕組みを理解したいです。

そして、
現世代(SV)の対戦向けにカスタマイズし
面白い使い方ができるようにしたいです!

1 COMMENT

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA