Kuh-Handel: Rules

detailed guide of the game rules and how to participate in the competition

Important side notes by the authors

  • Because we know that Rust is fast (sometimes faster than an eye blink), there is a time limit for the responses. If you exceed the time limit, you are banned from the current game. But be aware that we might ban you for the rest of your life...
  • In the case that you messed up your code and your bot tries to pen-test our game, your actions are replaced by the best bot we have (at least that is what Ufuk always thinks).
  • Do not think that you can simply play an endless game. The number of rounds for the drawing phase and also for the trading-only phase are limited. We want to avoid that a group of bots cooperates to crash our setup.


If you are already familiar with kuh-handel, look at the things we have implemented different.

Cards

  • 40 animal cards (10 animal sets of four)
  • 55 money cards (10 x value 0 | 20 x value 10 | 10 x value 50 | 5 each of values 100, 200, 500)

Goal

Each player tries to win as many animal sets as possible and to collect the most valuable ones. The player with the most points at the end wins. Money has no value at the end of the game.

Point Values

There are 10 different animal types in the game, each with a point value. Each type has four cards (one set of four). At the end of the game, only the player who has collected the complete set scores points for that animal type. Each card shows the value of the full set.

Setup

Shuffle the animal cards and place them face down in a stack in the center of the table. Sort the money cards by value and set them aside. Each player receives the following starting money and must keep it in hand: 2 x 0 for bluffing, 4 x 10, 1 x 50


Game Flow

The player with the heaviest pet starts. Play then continues clockwise. On your turn, choose one of the following actions:

  • Auction
  • Trading

Then the next player takes their turn and chooses one of the two actions.

Note: At the start of the game, only auctions are possible because cow trading is not yet possible (see "Trading").


Auction

If you choose the auction action, reveal the top animal card from the face-down stack and auction it. All other players (the auctioneer is not allowed to bid) may bid any amount for that animal, as often as they want. Every new bid must exceed the current highest bid by at least 10. If no higher bid is made, the auctioneer closes the auction, for example by calling: "30 going once, 30 going twice, 30 sold!"

Once the auction is closed, the auctioneer either:

  • Gives the animal card to the highest bidder. The highest bidder places it face up in front of themselves. The auctioneer receives the payment from that bidder.
  • Uses the pre-emption right instead and takes the animal card themselves. To do so, immediately after the auction closes, the auctioneer must pay the highest bidder the amount that was bid.

Special Auction Rules

  • Nobody bids?
    If nobody bids, the auctioneer must call the animal three times. If there is still no bid, the auctioneer may take the animal for free.

  • No exact money?
    No change is ever given. If you cannot pay the exact amount, you must pay more. This also applies to the auctioneer when using the right of first refusal.

  • Cannot pay?
    A player who cannot pay their bid must reveal all of their money cards. The auction is then repeated. In this repeated auction, that player may not bid more than they actually have.

The Golden Donkeys

When a donkey is revealed, the auction is briefly interrupted: the active player deals additional money cards to everyone (including themselves):

  • First golden donkey: 50
  • Second golden donkey: 100
  • Third golden donkey: 200
  • Fourth golden donkey: 500

After the money cards are dealt, the golden donkey is auctioned just like any other animal.


Trading

Instead of running an auction, the active player may start a cow trade with another player. The active player chooses one animal type that both players own. Then the active player makes a hidden offer by placing any amount of money cards face down on the table.

The challenged player now has two options:

  • Accept: The challenged player accepts the hidden offer and gives the relevant animal card to the challenger.
  • Counteroffer: The challenged player places a hidden counteroffer. In this case, the money piles are exchanged and counted in secret. Whoever offered more gets the other player's animal card. Important: each player keeps the money they received from the other player.

Tie?
If both players offered the same amount, the challenger gets the animal. The exchanged money stays exchanged.

If both players each own a pair of the same animal type, the trade must be for the pair. If one player owns two or three cards of that type while the other owns only one, the trade always concerns only one card.


End of Game and Scoring

As soon as the draw stack is empty, trading becomes mandatory in turn order. Any player who has only complete sets in front of them is skipped. When all sets are complete, the game ends.

Each player now totals points as follows:

  1. Add animal sets
    Add up the values of your complete animal sets.

  2. Multiply
    Multiply that sum by the number of complete animal sets you have.

Money is worthless: money cards do not count toward points.

Whoever has the most points wins.

Do what you like

Our code is publicly available (if not yet, then it will be soon). So do what you like to adjust the game more. But please let us know. We are always happy to discuss new rules for the game.


Cards

The game can be setup dynamically. The number of animals, the number of animals per set and the value of the single animals can be adjusted. The so called inflation (the phenomenon when the golden donkey is revealed) is fully variable and can be assigned to each card in the game. And so are the money cards. The game master can set the initial wallet as necessary for the current game setting.

Auction

In the auction phase, we implemented some exceptions in order to be better utilizable as online game in a bot setting.

  • You can not bluff, if you have enough money. We do not allow bluffing as strategy, if you were a fool (like Ufuk) and accidentally bid more than you would actually liked to, you have to bear the consequences!
  • If all players passed, the host gets the animal automatically.
  • You can bid in single bits, digits we mean (in case you did not understand: you can bid in single steps instead of being bounded to the increments of ten).

Trading

As mentioned, the number of animals per set is not bound to exactly four. We therefore generalized the rule of the base game. When you decide to trade, you only have to select the player and the animal. The number of animals available for trade is always equal to the smallest number of animals that the players own.

Scoring

As we limited the time for the players to perform actions, there can be players that own non-full sets at the end of the game. Therefore, only full sets count for the final calculation.