見出し画像

GVGAI GYM

1. GVGAI GYM

「GVGAI GYM」は、ビデオゲーム記述言語(Video Game Description Language)で記述されたゲーム用のOpenAI Gym環境です。「Generic Video Gameコンペティション」のフレームワークも含まれています。

GVGAI GYM
https://github.com/rubenrtorrado/GVGAI_GYM

コンペティションフレームワークは、ユーザーがテストするための多くのゲームを提供します。これらのゲームの多くは、Atari 2600の時代にさかのぼるタイトルのクローンです。これらのゲームが最初に作られた時代に生まれていなかったかもしれませんが、課題は明白です。

Aliens : 「スペースインベーダー」のクローンです。プレーヤーは高射砲を使用して、敵の砲火を避けながら敵に向けてミサイルを撃ちます。
Boulderdash : プレイヤーは洞窟を掘って宝石を探します。岩に衝突すると死にます。
Butterflies : プレイヤーはすべての蝶を捕まえる必要があります。
Chase : プレイヤーは、プレイヤーから逃げ続けるヤギを追いかけなければなりません。
Frogs : 「フロッガー」のクローンです。移動する障害物を避け、ナビゲートして、目標の場所に到達する必要があります。
Missile Command : 「Missile Command」のクローンです。プレイヤーは敵の攻撃から基地を守る必要があります。
Portals : プレイヤーが一連のポータルをナビゲートして出口に到達する必要がある風変わりなゲームです。
Sokoban : 「倉庫番」のクローンです。プレイヤーは荷物を特定の場所に押し出して出口に到達する必要があります。
Survive Zombies : プレイヤーは、ミツバチが残したハチミツを収集するためにナビゲートします。ただし、プレイヤーはゾンビを避ける必要があります。
Zelda : プレイヤーは敵を避けながらキーを見つけ、出口に到達しなければなりません。近くの敵を攻撃するために剣を使用できます。

2. インストール

(1) 「GAGAI GYM」のリポジトリをローカルマシンにクローン

$ git clone https://github.com/rubenrtorrado/GVGAI_GYM.git

(2) Pythonの仮想環境でpipでパッケージをインストール

$ cd GVGAI_GYM
$ pip install -e .

(3) Javaコンパイラをインストール

3. 環境一覧の取得

環境一覧を取得するコードは次のとおり。

import gym
import gym_gvgai

for env in gym.envs.registry.all():
    if env.id.startswith('gvgai'):
        print(env.id)

4. 環境の動作確認

環境の動作確認を行うコードは次のとおり。

import gym
import gym_gvgai

env = gym.make('gvgai-zelda-lvl0-v0')

env.reset()
for i in range(2000):
    env.render()
    state, reward, done, info = env.step(env.action_space.sample())
    if done:
        break

5. UnityVGDL

Unity ML-Agents版も存在します。

UnityVGDL
https://github.com/pyjamads/UnityVGDL


この記事が気に入ったらサポートをしてみませんか?