Rank Teamname Points # Wins Log

Team "sustech_xybb" is from SUSTech supervised for Jialin Liu (Organizer). So, they will not rank together with other teams in this competition.

Ranking Rules !!!

Attention 1: If you can't submit your agent in the system, please send the agent to liujl@sustech.edu.cn and htong6@outlook.com directly. Thanks! The first time we will feedback.

1. You can submit your agent anytime. And we will update the result of your agent as fast as we can. So, try your best to gurantee your agent without any bug.

2. If the agent has any bug during the validation process, we will feedback all bug information. You can email to liujl@sustech.edu.cn and htong6@outlook.com if you have any confusion.

3. Please remeber to obey the following rule, or you will no score.

4. Once we have result, we will inform you by email and list the result in the table above.

Contact support@aingames.cn if your find a bug about the system. Thanks!!!

Attention 2: You'd better use Python 3.6 in the agent. The tensorflow (2.2.0) and Pytorch (1.5+cpu) is installed in our system. The anaconda has been installed in our system.

Naming policy and submission

If you don't obey rules about format of agents submitted, you will have no result.

Rule 1: You need to submit your agent with a Teamname.zip. E.g. if your teamname is smartgame, your submitted agent is smartgame.zip. All files related to your agent need to be included in your package. We recommend the zip file containes the Agent.py file and the model file (like .pkl).

Rule 2: In your package, it must have one agent file in python named Agent.py. In your python file including one class named Agent and the class must include a class method named act(self, stateObs, actions). An example for random agent is shown below. Agent and the class must include a class method named act(self, stateObs, actions). An example for random agent is shown below.

  from random import randint
  class Agent():

      def __init__(self):
          self.name = "randomAgent"

      def act(self, stateObs, actions):
          action_id = randint(0,len(actions)-1)
          return action_id

Rule 3: We will import your agent from your submitted file, and the performance of your agnet will be validated by the following script.

    #!/usr/bin/env python
    import gym
    import gym_gvgai
    import Agent as Agent

    games = ['gvgai-testgame1', 'gvgai-testgame2', 'gvgai-testgame3']
    validateLevels = ['lvl1-v0', 'lvl2-v0', 'lvl3-v0']
    totalTimes = 20

    # variables for recording the results
    results = {}

    for game in games:
        levelRecord = {}
        for level in validateLevels:
            timeRecord = {}
            for t in range(totalTimes):
                env = gym_gvgai.make(game + '-' + level)
                agent = Agent.Agent()
                print('Starting ' + env.env.game + " with Level " + str(env.env.lvl))
                stateObs = env.reset()
                actions = env.unwrapped.get_action_meanings()
                totalScore = 0
                for tick in range(2000):
                    action_id = agent.act(stateObs, actions)
                    stateObs, diffScore, done, debug = env.step(action_id)
                    totalScore += diffScore
                    if done:
                timeRecord[t] = [tick, totalScore, debug["winner"]]
            levelRecord[level] = timeRecord
        results[game] = levelRecord

    filename = agent.name + "_result.txt"
    with open(filename,'w') as f:

Rule 4: The multi-prepocessing is not allowed in this competition and you can not import os, sys package in your agent