View on GitHub

gsiege

Gades Siege teaches expert systems programming by having AIs compete in a Stratego-inspired board game.

Manual

This document shows how to use Gades Siege. For the installation instructions, check here.

Launching

Once Gades Siege has been built, you can launch it through its main script, located in the root folder:

./gsiege.py

This also works:

python gsiege.py

Log files

Gades Siege has two types of log files:

Main menu options

The main menu of Gades Siege lists several options, which we describe below.

Quick game

This is for a single match between two expert systems. The configuration dialog allows us to pick the teams that will face off and change various options:

Once we click Apply, the match will start with the specified options.

Competitions

The competition mode is the most commonly used in Gades Siege. It runs various types of competitions among many teams, following one of three formats:

This window offers the following options:

The Players tab is for entering the various teams into the competition. There is a checkbox for adding all installed teams into the system at once.

Play against an expert system

This is the most interactive mode in Gades Siege. We will be able to manually control one of the teams in the game and face off an expert system controlled by the computer.

We can choose our formation within the Human team section, and either pick the formation and rules for the Computer team or leave it as random. The other configuration options are the same as in the previous modes.

Once we start a match, during our turns we can click the piece we want to move. The available target positions will be highlighted in cyan. We will not see the values of the enemy pieces until they are uncovered by another piece. The goal of the game is the same as usual: to find and capture the enemy king. The match will end once one of the kings is captured.

Laboratory

This mode allows us to have our expert system play many matches automatically. After choosing the expert system to evaluate in the Main expert system section, we will be able to choose various options:

We will then choose which teams will be the opponents, or use all teams installed. Clicking Forward will start the evaluation process, which may take a while.

Afterwards, we will be shown a table of statistics and a collection of graphs, with the following information:

Previous games

This mode is for browsing previously played games. We need to pick the desired match log, and then the usual match replay window will appear.

Settings

The configuration options in this window are:

About

This panel shows the credits for the game and other miscellaneous information.

Folder structure

Gades Siege is organised into these folders:

Team files

For more information on how to create teams, check here.

Obstacles

Obstacles are defined in the obstaculos file inside the data folder. The syntax is quite simple: each obstacle is a single line of the form (x,y), where x is the column where the obstacle should be placed, and y is the row. This would be a valid file:

(1,4)
(2,4)
(3,4)
(4,4)

As explained in the article on designing teams, a rule can find out if there is an obstacle in the board by using (obstaculo (pos-x) (pos-y)).