Competition Format: Round Robin Groups

We have been iterating on competition formats for over 2 years, trying to find the best possible fit for our very unique game. We have decided we are very happy with Round Robin Groups, and will be using it for most competitions in the foreseeable future. This post is designed to explain how this unique format works as clearly as possible. See its introduction post for some of the reasoning for why we like it.

Feel free to ask questions about anything that is unclear to help us iterate on this post.

Format Overview
All players are initially matched into groups of 3-6. All players in a group play one match against each player in their group. The two top players in a group move up to the next round. This process repeats until there are 4 players left for the final round, which will decide who earns 1st, 2nd, 3rd, and 4th place.

Deciding top players
After all matches in a group are complete, the players with more wins are considered the “better” players. If there is a tie, then the player with the most wins among tied players is considered the better player. This process repeats recursively. Algos that are still tied after this are sorted by their current seed. See “Seeding” below.

Exact group size
The final round will always have 1 group of 4 players. The second to last round will have 2 groups of 6 players. Each prior round will have 3 times as many groups of 6 players. If the number of players in the competition is not exactly 12*3^x, which is usually the case, groups of size 2-6 will be used in the first round.

Before the matches begin, all algos are given an initial seed based on their rating, the highest rated algo will be the first seed. Algos are matched in groups by seed. Let’s say there are to be 6 groups in the first round. Each algo will be placed into group (algo_seed % 6). The top two players from the group will “take” the top 2 seeds from their group, and use these seeds when being placed in the next round.