Play the game. Click on one of the following
Why did I invent this game? This game was written to help facilitate the design of a real card game, to be played in the low-tech fashion that many people still find appealing and fun. The original design puts the two player's data on the same card, so that to play one side you look at the card in one orientation, and your opponent turns his cards upside-down to see his options. I would also use graphic instead of word labels so a 6 year old can play the game.
Several ingredients came together for the idea of this game. To begin with, I have an interest in statistical abstraction of sports, a love of games played with a ball and bat, and a desire to promote baseball and cricket as a dogma of patient excellence. Finally, I discovered that when one of my children was 6 years old, he was able to play the card game war, whist, and almost any simple trick taking game. With that I realized that I could invent a trick-based card game that kept score like a game of baseball, or indeed any game.
My first attempts used a standard 52-card deck, with only 2 cards per hand. But to achieve statistical realism the follow-on rules were much too complicated. Giving up the standard deck, I decided to make each follow-on as simple as possible, and in this version any card can be played. Admittedly, to play the game reasonably may be difficult for a 6 year old, because it is necessary to be able to predict the probable result of a particular play. Further limiting the number of follow-ons on a particular card to 2 possibilities, it was necessary to give at least 3 cards per hand in order to have sufficiently many outcomes per trick.
Some possible futures. There is one important thing about this application: only the scoring (and the static evaluator) is hard-coded Java. The states appearing in the game, and on each card, are completely controllable by the HTML file that invokes it.
The computer side plays by using the given expected frequency of rational play to predict the expected result for a particular order of card play, and plays the card that maximizes the expected outcome on a particular trick. When there is more than one card that can be played optimally, the rarest cards with an advantage are retained (by convention, the first successor is assumed to be better than the second). Optimal play should also take into consideration the expected hand on subsequent tricks, and the likeliest change in the opponent's hand, but this has not been implemented. Today, this is the only advantage a human player has against this computer opponent. At the same time, human players are at a disadvantage due to a lack of detailed description of the play-graph and the lengthy arithmetic to compute expected payoff.
Because the model for this game is very general, I am hopeful that it can be used to imitate many more existing games, and new games can be invented using it. The debugging option (see the HTML file) displays state information and is essential in designing the card frequencies to match a desired playing frequency. I can imagine an automated design tool with which it would be possible to create a new game by describing the terminal states with their desired probabilities, the scoring algorithm, and minimal play-graph preference.
Description of the game. This is a card game in which players alternate playing cards from their hand. Most of the rules that govern play are parameters of the game. This includes the information on each card and the proportion of each type of card in a deck, the number of cards dealt at the beginning of a hand, the number of cards at which a player can draw a new hand, and the complete system of scoring.
Game state. At any moment in the play of a hand there is a game state, beginning with a fixed initial state at the start of a hand. Each card contains a list of playable states and for each of these states it identifies a successor state which will result if that card is played in that state. A card is playable in the current state only if it lists the current state as a playable state. Thus a hand consists of a sequence of states determined by the cards that are played until an unplayable state is reached, called a terminal state. The terminal state usually has an interpretation as conferring a score to be accumulated to one of the players.
Game situation. Another paramater of the game is the complete set of rules that determine how the possible terminal states update the overal game score and situation. The game situation is usually more general than a simple numeric per-player score, but it is crucial in determining how terminal states are scored.
For example, in a baseball scored game the situation may consist in a runner on third base and no outs. Then a terminal state such a long fly ball results in one run scoring and a new situation of one out and the bases empty. If there is two outs, however, the runner cannot score and the new situation puts the other player up to bat.
Cards To describe the contents of each players cards, a list of playable states is given. For each of the playable states, a list of the possible successor states must also be given. And for each of these successor states the probability of it being observed in a randomly drawn card is also given. The successor states are assumed to be randomly independent in a deck. In order to facilitate automated game playing, the designer should also supply the proportion of time that a particular successor state can be expected to be played by an expert strategist.
Because cards are selected from a hand, players will tend to play playable cards that give the most favorable expected outcome on a given state. As a result, it will rarely occur that a successor will be played as often as it appears in the deck.
Built-in scoring rules. The program knows how to keep score for several types of games (with more planned). In order to to take advantage of these scoring rules, cards must be designed with terminal states that are known to the program. All intermediate (nonterminal) states can be varied. The default game is the simplest to develop, there are only two terminal states recognized and scored: out and numbers. In this game one player is designated as offense and one as defense. The offense is allowed a number of outs (which defaults to 10 but can be supplied) to score as many points as possible. Any state which ends with a number results in the offense scoring a point, whether the state is played by the offense or defense. When the predetermined number of outs is reached, then the players switch roles, thus this is a simplified form of a cricket game.
Automated play. The computer uses a simple search algorithm to determine which card to play from the current hand. It does this without 'peeking' at the opponents hand by using the given frequency of reply expected from an expert opponent. It can detect a multi-card combination which can be difficult for a human player to visualize. It is limited however in hands that involve a re-deal, it does not take advantage of what it knows about cards that can be expected to be redealt. Instead, when cards are depleted, it assumes a neutral outcome. Properly designed games with more than a few states can be very difficult for a human player to beat before gaining some experience at it.
Is this a sport? This may seem unrelated, but I have given some thought to the meaning of human sport, and since this game was inspired in part by my interest in sport, I would like to describe some of my conclusions. To begin with, let me propose a definition. Sports are the modern organized human behavior that developed from primitive play. To understand how this charactarizes sports, one needs to understand what primitive play is and why it evolved. Primitive play can be seen in many species and in virutually all mammals. It involves executing behaviors that are essential to survival in situations where consequences are limited. For this reason, primitive play may involve a mock prize or it can be noncompetitive as in 'showing' play. We see this reflected in competive sport that assigns a winner such as a foot race, and the form of participatory sport in which the object is to correctly perform an activity such as sky diving. The essential component of primitive play and sport is that it involves skills that are essential to the survival of the individual or the species. In humans, those skills which are enjoyed or which have become enshrined in an organized sport may no longer be essential for survival. But it is definitely true that the skills were at one time essential and human beings have evloved a genetic disposition to enjoy this activity. It is surprising that there are some purely intellectual activities that have through time been considered to be sports, an example of this is Nine Men's Morris. It involves no athletic skill, but viewed as a game of positional occupation, it shares common ground with many positional athletic games, such as polo or basketball. So I must consider that the exercise of the intellect in a competitive or a noncompetitive way can be viewed as a sport just as competitive and noncompetitive athletic activities. In this sense, any kind of board game can be viewed as a sport. Finally, it is important to distinguish intellectual games in which humans compete with each other from those in which a human competes with a computer. Since the computer does not participate in the same way, we must consider these games as being noncompetitive sport. Since the games are derived from competitive athletic sports, they can be viewed as the distillation of the intellectual noncompetitive component of the original sports.
History