/GVGAI_GYM

Primary LanguageJavaApache License 2.0Apache-2.0

This project is used for the Generic Video Game Competition (GVGAI) Learning Competition from the year 2019. For more about the competition legs, rules and rank, please visite the AI in Games website, maintained by Hao Tong and Jialin Liu.

Disclamer

This project is forked from GVGAI Gym, which is an OpenAI Gym environment for games written in the Video Game Description Language (VGDL), including the GVGAI framework.

Please refer to the paper Deep Reinforcement Learning for General Video Game AI for more about the GVGAI GYM framework and some initial results of Reinforcement Learning (RL) agents. This paper should be cited if code from this project or the original GVGAI GYM project is used in any way:

@inproceedings{torrado2018deep,
  title={Deep Reinforcement Learning for General Video Game AI},
  author={Torrado, Ruben Rodriguez and Bontrager, Philip and Togelius, Julian and Liu, Jialin and Perez-Liebana, Diego},
  booktitle={Computational Intelligence and Games (CIG), 2018 IEEE Conference on},
  year={2018},
  organization={IEEE}
}

GVGAI Learning Competition in 2020

Two competition legs at IEEE CoG2020 and PPSN2020: http://www.aingames.cn/gvgai/ppsn_cog2020

Current progress: Performance of some baseline RL agents

game-level\ RL agents DQN A2C PPO2
waterpuzzle-lvl0 0 0.5 0
waterpuzzle-lvl1 0 1 0
treasurekeeper-lvl0 30 2.5 17
treasurekeeper-lvl1 2.25 2 0.75
golddigger-lvl0 -1.7 15.9 -2.9
golddigger-lvl1 0 8.15 -3.25

Table 1: Average score of different RL agents on each game level

Performance of some baseline planning agents giving a forward model

game-level\ Planing agents RS RHEA MCTS OLETS Random
waterpuzzle-lvl0 5.5 6.5 8.5 15 3.5
waterpuzzle-lvl1 4.75 4.75 6.75 11 2.5
treasurekeeper-lvl0 2.25 2.4 2.35 0.45 0.75
treasurekeeper-lvl1 1.75 2 1 0 0.75
golddigger-lvl0 149.6 130 154 164.6 4.8
golddigger-lvl1 64.9 61.5 67.4 88.9 8.2

Table 2: Average score of different planning agents on each game level

Latest Updates

  • 2020.3.24: We have fixed a bug in the game logic file treasurekeeper.txt . Please use the newly updated version.
  • 2020.3.4: The map of level1 in game waterpuzzle has been changed to the same size as level0

Installation

Way 1: using Docker

Please refer to the step-by-step guidelines for setting up the framework and RL baselines with Docker (using GPU or CPU only).

Way 2: git clone

  • Clone this repository to your local machine
  • Run pip install -e <package-location> to install the package
  • Install a Java compiler(e.g. sudo apt install openjdk-9-jdk-headless)

Requirements

  • Anaconda: The version published after 2019.10 is recomended
  • Java: JDK 9 is recommended
  • Python: The version Python3 (3.6 or 3.7 are recomended) is acceptable. (Python2 can't be used!!!)

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/SUSTechGameAI/GVGAI_GYM.

Resources

GVGAI website

original GVGAI-Gym (master branch)

Demo video on YouTube

AI in Games website for more about competition updates

Deep Reinforcement Learning for General Video Game AI published at IEEE CIG2018

References

  1. G. Brockman, V. Cheung, L. Pettersson, J. Schneider, J. Schulman, J. Tang, and W. Zaremba, “Openai gym,” 2016.
  2. A. Hill, A. Raffin, M. Ernestus, A. Gleave, A. Kanervisto, R. Traore, P. Dhariwal, C. Hesse, O. Klimov, A. Nichol, M. Plappert, A. Radford, J. Schulman, S. Sidor, and Y. Wu, “Stable baselines,” https://github.com/hill-a/stable-baselines, 2018.
  3. R. R. Torrado, P. Bontrager, J. Togelius, J. Liu, and D. Perez-Liebana, “Deep reinforcement learning for general video game ai,” in Computational Intelligence and Games (CIG), 2018 IEEE Conference on. IEEE, 2018.