Skip to content
Game manager and example bots for CEC 2019 Strategy Card Game AI Competition
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Strategy Card Game AI Competition

Strategy Card Game AI Competition is organized for IEEE CEC 2019 conference.

/game artwork/

Legends of Code and Magic (LOCM) is a small implementation of a Strategy Card Game, designed to perform AI research. Its advantage over the real cardgame AI engines is that it is much simpler to handle by the agents, and thus allows testing more sophisticated algorithms and quickly implement theoretical ideas.

All cards effects are deterministic, thus the nondeterminism is introduced only by the ordering of cards and unknown opponent's deck. The game board consists of two lines (similarly as in TES:Legends), so it favors deeper strategic thinking. Also, LOCM is based on the fair arena mode, i.e., before every game, both players create their decks secretly from the symmetrical yet limited choices. Because of that, the deckbuilding is dynamic and cannot be simply reduced to using human-created top-meta decks.

This competition aims to play the same role for Hearthstone AI Competition as microRTS plays for various StarCraft AI contests. Encourage advanced research, free of drawbacks of working with the full-fledged game. In this domain, it means i.a. embedding deckbuilding into the game itself (limiting the usage of premade decks), and allowing efficient search beyond the one turn depth.

The contest is based on the LOCM 1.2. One-lane, 1.0 version of the game, has been used for CodinGame contest in August 2018.

/game screens/

Getting Started

Online play

You can play LOCM 1.2 online, via the CodinGame IDE (click "PREVIEW" to run IDE and see game rules).

Source code can be written directly in IDE or you can use CG Sync to synchronize IDE code with your local file

Offline referee

To run the game engine locally you can use the referee jar. The most important options are:

  • -p1 <player1 command line> where you put command to run your local first player bot
  • -p2 <player2 command line> where you put command to run your local second player bot
  • -s (optional) to run server with visualization (at http://localhost:8888/test.html)

Thus, example usage is:

java -jar .\LoCM.jar -p1 "python3 PlayerExample.py3" -p2 "python3 PlayerExample.py3" -s

Running the jar without any options will show the extended readme.

Example player algorithms can be found here. Source code of the referee is here.

Offline runner

To run multiple instances of the game you can use the nim-based runner documented here.

Game Rules

You can’t perform that action at this time.