GAIG Game AI Research Group @ QMUL

TAG: A Tabletop Games Framework

Members involved


Tabletop games come in a variety of forms, including board games, card games, and dice games. In recent years, their complexity has considerably increased, with many components, rules that change dynamically through the game, diverse player roles, and a series of control parameters that influence a game’s balance. As such, they also encompass novel and intricate challenges for Artificial Intelligence methods, yet research largely focuses on classical board games such as chess and Go. We introduce in this work the Tabletop Games (TAG) framework, which promotes research into general AI in modern tabletop games, facilitating the implementation of new games and AI players, while providing analytics to capture the complexities of the challenges proposed.

Getting started

In order to run the code, you must either download the repository, or clone it. If you are looking for a particular release, you can find all listed here. Java version 8 or higher is required.

The simplest way to run the code is to create a new project in IntelliJ IDEA or a similar IDE. In IntelliJ, create a new project from existing sources, pointing to the code downloaded or cloned and selecting the Maven framework for import. This process should automatically set up the environment and add any project libraries as well.

Alternatively, open the code directly in your IDE of choice, right click the pom.xml file and setup the project with the Maven framework. Make sure src/main/java is marked as sources root.

To get started, the wiki provides various guides and descriptions of the framework. Another good resource is our continuously updated paper “DESIGN AND IMPLEMENTATION OF TAG: A TABLETOP GAMES FRAMEWORK”.


Currently implemented games:

Associated research