Skip to content

Single Player Learning Track Specifications

Raluca D. Gaina edited this page Feb 12, 2018 · 2 revisions

Thanks for using the GVGAI Single-Player Learning framework. All suggestions are welcome.

The Single-Player Learning track is based on the GVGAI framework. Different from the planning tracks, no forward model is given to the agent, thus, no simulation of games is possible. The agent does still have access to the current game state (objects in the current game state), as in the planning tracks.

This page explains the main competition procedure. For more details about how to create and test an agent, please refer to the following pages:

Create an agent

Test an agent

Q&A

If you have any questions, please read the above pages first. If you can not find the answer to your questions, please do not hesitate to send a query to [email protected].


Support

  • You can run the Single-Player Learning framework on Unix, Mac OS X or Windows.
  • This track accepts submission of agent written in Java or Python. The Python client has been tested with Python3.5. On the server, TensorFlow has been installed for Python3.5.
  • The agent can choose to receive a serialised JSON game observation (String) or an image (PNG).

Main procedure of the competition

For a given game, each agent will have 5 minutes for training on levels 0,1,2 of the game, the levels 3 and 4 will be used for validation. The communication time is not included by Timer.

Main steps during training

  1. Training phase 1: Playing once levels 0, 1 and 2 in a sequence: Firstly, the agent plays once levels 0,1,2 sequentially. At the end of each level, whether the game has terminated normally or the agent forces to terminate the game, the server will send the results of the (possibly unfinished) game to the agent.
  2. Training phase 2: (Repeat until time up) Level selection: After having finished step 1, the agent is free to select the next level to play (from levels 0, 1 and 2) by calling the method int result() (detailed later). If the selected level id is not among 0, 1 and 2, then a random level id will be passed and a new game will start. This step is repeated until 5 minutes has been used.

In case that 5 minutes has been used up, the results and observation of the game will still be sent to the agent and the agent will have no more than 1 second before the validation.

Main steps during validation

During the validation, the agent plays 10 times levels 3 and 4 sequentially.


Framework

Code

The framework can be downloaded here (master).

Structure of the client

  • gvgai/clients/GVGAI-JavaClient: It contains the all the necessary classes for client, including the communication via sockets and a sample random agent. You can create an agent for the Single-Player Learning Track of the GVG-AI competition just by creating a Java class that inherits from utils/AbstractPlayer.java. This class must be named Agent.java and its package must be the same as the username you used to register to the website (this is in order to allow the server to run your controller when you submit). During the testing phase, the package can be located in gvgai/clients/GVGAI-JavaClient/src.
  • gvgai/clients/GVGAI-PythonClient: It contains the all the necessary classes for client, including the communication via sockets and a sample random agent. You can create an agent for the Single-Player Learning Track of the GVG-AI competition just by creating a Python class that inherits from utils/AbstractPlayer.py. This class must be named Agent.py and its package must be the same as the username you used to register to the website (this is in order to allow the server to run your controller when you submit). During the testing phase, the package can be located in gvgai/clients/GVGAI-PythonClient/src.

Format of the output required from client

Please take a look at the very simple sample Agent.java or Agent.py.


For more information, please check:

Create an agent

Test an agent

Q&A

Table of Contents:

Clone this wiki locally