Game rules

Rules of the 'real' game

The aim of the game is to get fewer points than the other players. The game can be played with two to six players.

Begin of the game

Every player has 4 cards lying in front of him on the table, side by side. The rest of the cards are put in the middle of the table (closed deck). One card is turned open and functions as the discard pile (open deck). Before the game starts, every player can take a look at their own two outermost cards, so they know the values of these cards. The cards can have a value (zero - nine) or can be a special card.

The player's turn

At the beginning of a player's turn, he may take a card from either the open or the closed deck. If the card on top of the open deck is a special card, the player must take a card of the closed deck. If the player chooses a card from the closed deck, only the player himself may see the value of the card.

The second step of an agent's turn is playing the card. If the card has a value (0-9), the player can choose to either switch this card with one of his own (after which his own card ends on the open deck), or discard the card. If the card is a special card, the player can not switch them with one of his own cards. Instead, the player can do the special action associated with the card, or discard it.

Then, the player's turn is over and the next agent can start with his turn.

Type of cards

The game contains 66 cards. Most of the cards have a value (0-9), but there are three sort of special cards too, all with their own associated action:

  • Peek: The agent can look at one of his own cards, to get to know the value of this card.
  • Swap: The player can swap one of his own cards with one of the other agents cards.
  • Get two: The player can get a new card from the closed pile. If he likes this card, he may play it, but if he doesn't like this card he may draw another card from the closed pile.

End of the game

At the end of a player's own turn, he can decide to knock on the table, which means that the other agents can play one more turn and then the game is over. All the players turn their cards open and count their score. If a player has a special card, that card will be discarded and the player will get a new card from the closed pile, until they don't have a special card anymore. The player with the least points wins. You can play multiple games and add the scores of all the games together, to get an overall winner.

Adjustments

Simplifications

Originally, the game can be played with two to six players. In our implementation, we limit the game to four players (because it looks good in the GUI). If you don't use the GUI, an unlimited amount of players can be chosen.

The strategy the agents use is the same strategy we use ourselves when we play the game, because we think that will make the model the most interesting. However, agents can't deviate from their chosen strategy to confuse the other agents, which players in real life can do.

Furthermore, in the original game players play multiple games and the overall scores tell them who wins. So the 'losing' agents can work together against the 'winning' agent, by giving him all the high cards. However, this is too complicated to implement in our strategy and in the updating of the knowledge, so in our implementation every game stands for it's own and the agents won't use knowledge (or the scores) of previous games.

The last adjustment we made is that we didn't implement the knocking on the table; instead we let the agents play a fixed number of rounds, after which the game ends. The knocking could still be implemented, but it would take some time to do so.

Extra options

We also added some extra options to make the game more interesting (see game options when running the model). We added the possibility to change the card deck, so you could give the agents more chance to swap cards or peek at cards, and you can choose at which cards the agent may peek before the game starts. We implemented some different strategies as well, which you could assign to the agents.

We have some more ideas about adding extra options to the game to make it even more interesting, for that see further work. We tried to design the code in such a way that it will be easy to implement these options, but we couldn't implement and test it all ourselves in just a few weeks.