AI competition for IEEE CoG 2020

This project is maintained by VideojogosLusofona

ColorShapeLinks AI competition

This competition has been accepted for the IEEE CoG 2020 conference and is officially open!


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, namely at the level of the heuristic evaluation function, 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


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 deadline, most likely at May 19, 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)


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 classification 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.

Classification for the base track is updated daily, and is available here.


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

  1. Checked and tested for rule compliance, though not otherwise studied or analysed.
  2. Added to the base track competition, the classification of which is updated daily.

All submitted codes are considered private and will not be shared, discussed or analyzed by the organization before the competition deadline. After this deadline, all the submitted codes will be made public at this repository. If code authors do not specify a valid open source license upon submission, the organization will make the code available under the Mozilla Public License 2.0.

Rules for the AI code

The AI source code must follow these 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.