Patterns Poker
Patterns Poker is a game you can play to learn the subtle art of how to combine Patterns.
We currently play this game with a deck of Design Patterns Playing Cards, but it may be played with other catalogs of Patterns or
Pattern Languages. Patterns Poker was invented by Joshua Kerievsky,
who has written up a brief history of the game.
Rules
If you've never played the traditional card game, Poker, don't worry - you can learn to play Patterns Poker in a few minutes. The basic idea of Patterns Poker is to come up with great pattern combinations in order to tell a great story about them.
We'll start by telling you how to play the game, and then explain how you can have even more fun by betting as you play.
There can be 2 to 14 players. If you are new to patterns or Patterns Poker you may
enjoy teaming up with someone while you play. A hand consists of 5 cards. Jokers are wild (the holder of a joker can designate it as any card, except as a card already in his hand).
Procedure
- Cards are dealt
The dealer shuffles the deck 3 times. He then deals out the cards one at a time, face down, beginning with the player at his left. Each player is dealt 5 cards.
- Players study their cards
The goal is to look for great pattern combinations and stories you can tell about your cards. Perhaps all 5 cards you were dealt form an excellent story, complete with classic combinations of patterns. Or maybe you need to exchange a few cards (see below) to get the perfect hand. Players often find it helpful to consult the patterns literature while they study their cards.
- Players exchange cards
Each player has one chance to discard up to 3 cards in exchange for new cards. This is normally done in the same order in which the cards were dealt (though you don't have to be strict about this if you want to save time). Place discarded cards in a separate pile and shuffle them back into the deck after a few hands.
- Players invent stories about their cards
Each player must invent a short story about his cards. The story could be about how a system, or part of a system, is implemented using the patterns. The story need not be about all 5 patterns, if 1 or 2 of the cards simply doesn't fit in with the story. In some cases, a player may wish to tell a story about 3 cards, and tell another related story about the other 2 cards. Typically, the best stories show how all 5 cards work together in a system.
- Players tell their stories
Storytelling is the most important part of Patterns Poker. If you can tell your story well, you may win that deal. If your story is far-fetched, you probably won't win. When everyone is ready, each player takes a turn to show his cards and tell his story. Storytelling usually takes about 1-4 minutes for each player. If someone doesn't understand part of a story, he may ask for clarification. A player may also fold, meaning he drops out of the round because he doesn't think he has a chance of winning. If he folds, he must use his turn to explain why his patterns wouldn't work well together.
- The group decides on the best story
Once all players have told their stories, it's time to decide who wins that deal. This is a judgement call for the group. If you have a designated dealer (who is not playing the game but just dealing cards), he can help make the final decision about the best story. The best stories typically involve a classic combination of patterns implemented in a plausible software system. Plausible stories about dense combinations of patterns usually have more value than stories about systems that implement patterns in diverse places (e.g. the database layer uses this pattern, the gui uses that pattern).
The same sequence is repeated for the next deal.
Betting
It's a lot of fun to bet while you play Patterns Poker, and you don't need real money. In our Design Patterns Workshop, we often use candy for chips, though you have to be careful that players don't eat their winnings during play! Hershey's miniature assortment works well, and we typically use milk chocolate for the ante.
Before play, one player is selected as the banker. All chips are given to him to issue to players. Everyone gets the same amount of chips. Chip values are as follows:
- White chips have the lowest value.
- Red chips represent 2 white chips.
- Blue chips represent 4 white chips.
- Black chips represent 8 white chips.
Each deal is a separate game. Before each deal, every player contributes a minimum bet, called an ante, to form a pot. We typically use 1 white chip for the ante.
After players receive and look over their cards, they may increase their bets. When the first player increases his bet, each player after him may:
- drop by discarding his hand, thus giving up any chance to win the pot.
- call by matching the number of chips placed in the pot by the first player,
- or raise by placing enough chips in the pot to call plus one or more additional chips.
When it is his turn, a player should announce whether he is dropping, betting, calling or raising; if he is betting or raising, he should announce the amount.
A betting interval ends when every active player has had at least one turn to bet and when those bets have been equalized (i.e., when other players have matched or dropped). After the betting interval, players tell their stories, beginning with the player to the dealer's left. All players tell a story, regardless of whether they have dropped or not.
The player with the best story wins the pot.
|
  |
Patterns Poker at SD East 2001
|
Patterns Poker at OOPSLA 2000
|
Playing Patterns Poker In Pairs
|
Studying During Play
|
A Trio Considers A Hand
|
Gambling For Chocolate
|
|