Rank Teamname Points # Wins Log


Ranking Rules !!!

Submit rules:
  1. We evaluate and rank the submitted agents in lazy mode. You can upload your agent to the google drive and share it with us.
  2. Google drive for submission: Create your own folders in your own Google Drives and share the folder to us with edit access. How
  3. Once the agent is ready for evaluating in the unknown Testing and Validating Levels, please send us an email and we will download your agents.

Attention 1: If you have any problems about the competition, feel free to email liujl@sustech.edu.cn or htong6@outlook.com directly. Thanks! The first time we will feedback.

1. We will update the result of your agent as fast as we can. So, try your best to gurantee your agent without any bugs.

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 all rules, otherwise, you will no score.

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


Attention 2: You'd better use Python 3.7 (or later) 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:
                        break
                timeRecord[t] = [tick, totalScore, debug["winner"]]
            levelRecord[level] = timeRecord
        results[game] = levelRecord


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

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

Affiliations