Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Single Player Learning Track Specifications
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:
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@example.com.
- 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
- 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.
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.
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.javaand 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: 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.pyand 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
Format of the output required from client
For more information, please check: