Ubuntu 18.04 / Windows 10で Open AI Gym API for Fighting ICEを使ってみた

2021年9月24日

Fighting ICEとは

立命館大学 ICEラボから提供されている、格闘ゲームを題材にAI研究を行えるプラットフォームです。Javaベースですが、OpenAI Gym環境を通してPythonでも操作・学習が行えるようになっています。

FightingGameAICompetition
FightingICEの画面

画像は立命館土曜講座より

環境

  • Ubuntu 18.04 / Windows 10
  • OpenJDK 8
  • Gym-FightingICE API
  • Fighting ICE 4.50

Ubuntu 18.04でのセットアップ

Javaのインストール

必要環境:OpenJDK (8 or later; Oracle JDK 11 is not supported)
となっているため、OpenJDK 8をインストールします。
(参考)Open JDK install

sudo apt-get install openjdk-8-jre

Fighting ICEのダウンロード

FightingICE Get started –installより、Version4.50として配布されているZIPアーカイブをダウンロードして適当なディレクトリに解凍します。

Gym-FightingICEのインストール

Fighting ICEの
TeamFightingICE / Gym – FightingICEのReadMeに従って作業する。

pip install gym
pip install py4j
pip install port_for
pip install opencv-python

gym周りやopenCVについて上手くインストールできない場合はこの辺りを参照するとよいかも。

Fighting ICEのダウンロードでZIPアーカイブを解凍したディレクトリに移動してからgit clone。

cd FTG4.50
git clone https://github.com/TeamFightingICE/Gym-FightingICE.git

ディレクトリを移動してからインストールを実行する。

cd Gym-FightingICE
pip3 install -e .

最終的な配置はこうなる。
実行用のファイルはFTG直下に置かないと動かないという記事もあったが、Gym-FightingICE直下に実行ファイルを置くと動作した。
(参考)OpenAI Gym API for Fighting ICEを動かしてみる

FTG4.50/
├── Gym-FightingICE <- git clone https://github.com/TeamFightingICE/Gym-FightingICE.git
|  ├── setup.py
|  └── test.py <- 実行用.pyファイルやJupyterNotebook
├── bat
├── data
├── lib
├── log
├── python
├── AIToolKit.jar
├── FightingICE.jar
└── ftg.sh

テスト稼働

サンプルコードでテスト

cd FTG4.50
python3 Gym-FightingICE/main.py

別のサンプルコード

cd FTG4.50
python3 Gym-FightingICE/gymexe.py

Windows 10 でのセットアップ

Javaのインストール

必要環境:OpenJDK (8 or later; Oracle JDK 11 is not supported)
となっていますが、OpenJDKの8でWindows版が見当たらなかったので、最新版のOpenJDK17で導入してみます。
(参考)Open JDK install
JDK 17 General-Availability Release
zipをダウンロードし解凍します。

C:\java\jdk-17

JDKのPATH設定

上記で解凍して置いたPATHをWindowsの環境変数として設定します。
Windowsマーク右クリックから[設定]→[システム]→[詳細情報]→[システムの詳細設定]
画像2.png

「システムのプロパティ」ウィンドウの中の「詳細設定」タブ内「環境変数」より設定します。
画像1.png

(参考)PATHの設定及び環境変数JAVA_HOMEの設定

Fighting ICEのダウンロード

FightingICE Get started –installより、Version4.50として配布されているZIPアーカイブをダウンロードして適当なディレクトリに解凍する。

Python環境の用意

今回はAnacondaを用いてopenAI Gym用の仮想環境を用意した。

Gym-FightingICEのインストール

Fighting ICEの
TeamFightingICE / Gym – FightingICEのReadMeに従って作業する。

pip install gym
pip install py4j
pip install port_for
pip install opencv-python

gym周りやopenCVについて上手くインストールできない場合はこの辺りを参照するとよいかも。

Fighting ICEのダウンロードでZIPアーカイブを解凍したディレクトリに移動してからgit clone。

cd FTG4.50
git clone https://github.com/TeamFightingICE/Gym-FightingICE.git

ディレクトリを移動してからインストールを実行する。

cd Gym-FightingICE
pip3 install -e .

最終的な配置はこうなる。
実行用のファイルはFTG直下に置かないと動かないという記事もあったが、Gym-FightingICE直下に実行ファイルを置くと動作した。
(参考)OpenAI Gym API for Fighting ICEを動かしてみる

FTG4.50/
├── Gym-FightingICE <- git clone https://github.com/TeamFightingICE/Gym-FightingICE.git
|  ├── setup.py
|  └── test.py <- 実行用.pyファイルやJupyterNotebook
├── bat
├── data
├── lib
├── log
├── python
├── AIToolKit.jar
├── FightingICE.jar
└── ftg.sh

テスト稼働

サンプルコードでテスト

cd FTG4.50
python Gym-FightingICE/main.py

別のサンプルコード

cd FTG4.50
python Gym-FightingICE/gymexe.py

まとめ

強化学習においてはOpenAI Gymが有名ですが、流石に見栄えとして劣りますし既にいい結果が出されています。現実的な課題を対象に各OSでPythonで扱えるこのプラットフォームはまだまだ楽しめますし、似たような形でプラットフォームが増えることを楽しみにしています。