Compromise game

Compromise is a two-player non-zero-sum game with simple rules but with a very large state space. A python implementation of the game can be found here. The inspiration for this game came from a board game that Thomas James created for a board game design module in Warwick University.

There are 3 versions of the game:

Complex game

The board consists of three 3×3 grids. The game begins with the board completely empty, i.e. all positions are 0. After choosing the game options, a game starts by clicking “New game”. We will see and example of a game with Player A being a human and Player B being the random player, i.e. a player that plays randomly.

The initial state of the game.
The initial state of the game.

At the beginning of each turn each player receives a number of pips (the default is 12) and then places them on the grid in any location and in any combination. The pips are placed by clicking on the positions. The blue positions correspond to Player A and the green to Player B. Pips can be removed by pressing control and clicking at the corresponding position or every position can be reset by clicking the “Clear move” button.

After all the pips are placed, the placement is finalised by clicking “Next”. After that the random player places its pips on the board.

Player A needs to choose a move.
Player A needs to choose a move.

Now Player A has to use the radio buttons to choose a move. By toggling the radio buttons some positions become gray. We will refer to them as “frozen positions”. Player A chooses a grid, a row and a column to freeze. Notice that the chosen row and column are frozen on every grid. Clicking “Next” finalises the move.

Player A chose a move.
Player A chose a move.

Player B choses a move and the positions that are not frozen are shown. Notice that at least one position and at most eight positions will be left unfrozen.

The position that will be scored are highlighted.
The position that will be scored are highlighted.

The pips on the unfrozen positions are removed and added to score. Notice that the pips at the other positions stay on the board. By clicking “Next” a new round begins.

Score was calculated.
Score was calculated.

The game goes on for a predetermined number of rounds. The default value is 5. After the 5th round the game ends if there is no draw. By default, if there is a draw, the game will continue until a turn ends without a draw. This can be changed in the game option before the start of the game.

Note that there is no automated player that can place pips competently, so a human can win a complex game against any of the other players easily.

Simple game

In this game the only difference is that the placement of pips happens randomly for both players.

Gamble game

In this game the player place their pips on the board as per the complex game, but their moves are chosen randomly.

Players

At the moment there are two types of players, human and random. More types will be added soon.

Human player

This player allows for human input. Two humans can play against each other in a hot-seating manner. At no point where any player needs to make a choice, the choices of the other player are revealed.

Random player

All choices of this player are random.

Go to the game