General Rules and Submission Instructions:

The following files need to be submitted via e-mail or uploaded to github/a file-hoster and the link being shared:

  • an Agent class that inherist from Abstract Agent
  • supporting files of up to 1GB (please contact us in case you need to load a bigger database or something like an extremely large Neural Network)
  • the agent needs to finish the whole turn with a time limit of 30 seconds. Execution times for returned moves are removed from the time being used by the agent. In case the submitted agent exceeds this limit, it will lose the game.
  • while the submitted agent can have any nickname, we require the authors to put all related files in a single namespace or its subspaces. Please use the following namespace convention: namespace
    • SabberStoneBasicAI.AIAgents.<your_submission_tag>

To assure a fair environment we pose the following restrictions on the submissions:

  • agents need to be single threaded. From previous competitions we know that otherwise it often comes down to the programmers capabilities.
  • agents should avoid cheating at all cost. Decisions need to be based on the information provided by the POGame object and consist of the current state of the board, your cards, the number of cards in your opponent’s deck and the number of cards on your opponent’s hand. It is forbidden to look at the opponent’s hand!


Agents that do not follow those rules will be excluded from the competition.

Premade Deck Playing-track:

All Participants will receive a list of six known decks and three decks unknown prior to your submission. During the evaluation, we will simulate all possible matchups for at least 100 games to determine the average win-rate for each agent. Determining and using the characteristics of the player’s and the opponent’s deck to the player’s advantage will help in winning the game. The following decks will be known in advance (please check their definition in „core-extensions\SabberStoneBasicAI\src\Meta\Decks.cs“)

  • Aggro Pirate Warrior, Midrange Jade Shaman, Reno Kazakus Mage, Midrange Buff Paladin, Miracle Pirate Rogue, Zoo Discard Warlock


User-Created Deck Playing-track:

The competition framework allows agents to define their own deck. Finding a deck that can consistently beat a vast amount of other decks will play a key role in this competition track. Additionally, it gives the participants the chance to optimize the agents’ strategy to the characteristics of their chosen deck.

  • only pre-implemented cards of the competition framework are allowed. See the card lists in „SabberStoneCore > src > CardSets“ for a full list of cards.
  • for building your own decks the same rules apply as for the original game
  • the Deck needs to be defined as a separate file, which will be placed in „SabberStoneCoreAi > src > Meta“. See „SabberStoneCoreAi > src > Meta > Decks“ for some examples.
  • When submitting your agent please submit the complete card-list and reference it in your agents preferredDeck variable. Please also make sure to initialize the agent’s preferredHero variable.


As long as the number of submissions remains below 32, we will use a round-robin tournament to determine the best submissions based on their average win-rate. In case more agents are submitted we will use multiple smaller round-robin tournaments to determine likely candidates and use a final round-robin tournament for determining the best three submissions.