AI competition for IEEE CoG 2020

This project is maintained by VideojogosLusofona

ColorShapeLinks AI competition

An AI competition for the IEEE CoG 2020 conference

Important dates | Daily standings | Implementation guide | Tutorial video


ColorShapeLinks is an AI competition for the Simplexity board game with arbitrary game dimensions. The first player to place n pieces of the same type in a row wins. In this regard, the base game, with a 6 x 7 board and n = 4, is similar to Connect Four. However, pieces are defined not only by color, but also by shape: round or square. Round or white pieces offer the win to player 1, while square or red pieces do the same for player 2. Contrary to color, players start the game with pieces of both shapes. This means that a less observant player can lose in its turn, especially since shape has priority over color as a winning condition. Given this fact, as well as the arbitrary game dimensions, the challenges for the AI are multifold.

The AI must be implemented in C# (.NET Standard 2.0) by extending one class and overriding one method. The development framework includes both console and Unity frontends and can be downloaded with the following command (requires Git and Git LFS):

git clone --recurse-submodules

The implementation guide contains the required documentation for developing an AI for ColorShapeLinks.

The competition

Tracks and prize money

The competition runs on two distinct tracks:

  1. The Base Track competition will be played using standard Simplexity rules (6x7 board, 4 pieces in a row for victory) and with a time limit of 0.2 seconds. Only one processor core will be available for the AIs.
  2. The Unknown Track competition will be played on a multi-core processor under conditions that will only be revealed after the competition deadline. These conditions will be derived from the first EuroMillions draw that takes place after the final submission deadline, most likely at August 18, 2020, as follows:
    • NumberOfRows = Lowest EuroMillions ball number higher than 6 (ascending order).
    • NumberOfCols = Next EuroMillions ball (ascending order).
    • WiningSequenceLength = Ceil(NumberOfRows / 2.0).
    • InitialNumberOfRoundPiecesPerPlayer = Floor(NumberOfRows * NumberOfCols / 4.0)
    • InitialNumberOfSquarePiecesPerPlayer = Ceil(NumberOfRows * NumberOfCols / 4.0)
    • TimeLimit (milliseconds) = 25 * Max(NumberOfRows, NumberOfCols)

The winner of each track will receive a prize money of $500 (USD), sponsored by the IEEE CIS Competition Subcommittee.


All AIs will play against each other two times, so each AI has the opportunity to play first. Players will be awarded 3 points per win, 1 point per draw and 0 points per loss. The standings for each track will be based on the total number of points obtained per AI, sorted in descending order.

Tie-breaks are performed only when there are two or more AIs with the same points in first place. In such cases, ties are solved according to the following criteria (from most to least important):

  1. Greatest number of points obtained in the matches between AIs with the same points.
  2. Perform a tie-break tournament between the AIs still tied with the time limit doubled. Repeat the process at most 10 times until the tie is broken.
  3. Perform a tie-break tournament between the AIs still tied with the time limit halved. Repeat the process at most 10 times until the tie is broken.
  4. If the tie persists, the AIs are considered officially tied and ex aequo winners of the competition.

Standings for the base track and two other test configurations are updated daily. These offer a good idea of how each AI is faring. However, there are two issues which may impact final results:

  1. The actual competition will run on a slightly more powerful computer, with possibly newer software (e.g., a more recent OS kernel or .NET Core version).
  2. After the first deadline, submissions may require changes in order to comply with the rules.


AIs should be submitted via email to Only one AI is allowed per team, but multiple submissions are encouraged (within reasonable frequency) as the AI is being developed and improved. Upon submission, the submitted code is:

  1. Superficially checked for rule compliance, though not otherwise studied or analysed. Thorough tests will be performed only after the first deadline for AI submissions.
  2. Added to the automated competitions, the standings of which are updated daily.

All submitted codes are considered private and will not be shared, discussed or analyzed by the organization before the final deadline for AI submissions. After this deadline, the submitted codes should be open-sourced by the respective authors.

Important dates

These dates are anywhere in the world.


Rules for the AI code

General competition rules

Resources and guides


The code is made available under the Mozilla Public License 2.0. All the text and documentation (i.e., non-code files) are made available under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.