===== Quick Start! ===== Smoke'em Poker is a freeware game of five-card draw poker. You play against 5 other players simulated by the computer. Requires Workbench 2.04 or later, with an overscan preferences setting of at least 704x240. May be slow on 68000-based Amigas (turn the sound off to speed it up). To get synthesized speech, you need the AmigaDOS speech software from WB 2.04 or earlier releases. You can change the game settings at the start of each game. Each hand proceeds as follows: - ante and dealing - opening bets (no minimum hand to open) - discarding cards (1 discard of up to 3 cards) - closing bets - the showdown (where you win, lose, or tie) All standard poker hands are allowed, including low-ace straights (A-2-3-4-5). Check-raising (sandbagging) can be allowed or disallowed. If a computer player runs out of money, they're out of the game. If you run out of money, you can end the game or let the other players continue. For more details, see the other topics in this documentation. For information on what's new in this version, see "Version History" near the end of this documentation. Just Deal It! ===== Introduction ===== Welcome to Smoke'em Poker. Ante up and deal it, Tex! The game is five-card draw (for rules, see "About Five-Card Draw"). You play against five other simulated players who would like nothing better than to "smoke" you on a big pot. (Yes, this is real multi-player poker, not another lame "video poker" game. The best thing about poker is matching wits with conniving opponents, not playing a glorified slot machine. So there.) Smoke'em Poker uses a standard Amiga user interface, although the graphics are spartan (for now). If you've played real poker before, you should have no problem playing Smoke'em Poker. ===== System Requirements ===== Smoke'em Poker requires an Amiga with the following: - Workbench 2.04 or later (so upgrade, already!) - probably at least 1 meg of memory, but I'm not sure Smoke'em Poker uses a custom overscan screen of 704x240. Your Workbench preferences for overscan should be set to at least 704x240 so that the Smoke'em Poker screen can open normally. If your Workbench isn't that big, you'll only be able to see part of the Smoke'em Poker screen at once and you'll have to put up with that annoying "auto- scroll" effect. (Sorry about this - I assumed that one could force open an overscan screen, but apparently not. Unfortunately, it's a major pain to rearrange every- thing to fit on a standard (640x200) screen. Sigh...) To get synthesized speech, you must have the AmigaDOS speech synthesis software. This was part of the system software in WB 2.0x, but Commodore (in their finite wisdom) removed it from later system releases. If you have WB 2.1 or later, you just need to get your hands on the 2.04 speech software (narrator.device, "Say", etc.). How you get it is your business... ;^) Smoke'em Poker does speech by sending arguments to the "Say" program, which it expects to find in the Utilities drawer of your boot volume (sys:). So, if your "say" program is elsewhere, move or copy it to "sys:utilities". While Smoke'em Poker should run on any model of Amiga, it will probably be sluggish on slower (68000-based) Amigas. To speed things up, turn the sound off. ===== About Five-Card Draw ===== Poker comes in hundreds of different flavours, but five-card draw is probably the best known and simplest form. Here's how it goes: After paying an initial ante, each player is dealt five cards down (visible only to that player). After the cards are dealt, the opening round of betting starts with the player to the left of the dealer. Betting continues clockwise around the table until all players have matched the highest bet or folded out of the hand. There is NO minimum hand required to open the betting. If no bets are made (that is, everyone checks), then the hand continues normally - everyone gets what amounts to a free discard. All players who pay the opening bet can then discard UP TO THREE cards from their hands. These cards are replaced by the same number of new cards from the deck. A closing round of betting follows, starting with the player who last raised in the opening round. All players who pay the final bet then reveal their hands in the "showdown". The player with the best hand wins the "pot" (the accumulated money bet during the hand). In case of a tie (which is rare), the winners split the pot. For more information on using Smoke'em Poker's interface to play a round of five-card draw, see "Playing A Round". ===== What Beats What? ===== For those of you who keep forgetting, here's the order of poker hands (from worst to best): Runt (nothing, nada, e.g. 2-4-7-J-K) Pair (e.g. 2-2-7-J-K) Two Pair (e.g. 2-2-7-7-K) Three of a Kind (e.g. 2-2-2-J-K) Straight (e.g. 2-3-4-5-6, but different suits) Flush (e.g. five hearts, but not consecutive) Full House (e.g. 2-2-2-7-7) Four of a Kind (e.g. 2-2-2-2-7) Straight Flush (e.g. 2-3-4-5-6, all of same suit) Royal Flush (10-J-Q-K-A, all of same suit) Smoke'em Poker automatically displays which of the above hands you have. It's up to YOU to make money with it. (In some cases, Smoke'em Poker may tell you that you have an inside straight, outside straight, "baby" flush, or "baby" straight flush. For more information on these special hands, see "Four-card Hands".) ===== House Rules ===== Every poker gathering decides on a few "house rules". Here are the house rules for Smoke'em Poker: Low-Ace Straights: Normally, aces are high (valued above kings). The only exception to this is a low-ace straight (A-2-3-4-5), where the ace is the "one" card. If you get an low-ace straight, Smoke'em Poker automatically re-sorts your hand to put the ace before the 2. Note that an ace can only be high OR low in a given hand. You cannot create a "wrap-around" straight using an ace (for example, Q-K-A-2-3). Splitting Pots: Once in a great while, two or more players will tie at the showdown. For example, two players may have the same two pair. The "kickers" (the remaining card(s) in their hands) are used to determine the winning hand. If the kickers are also equal, the players divide the money in the pot equally. In case of tied flushes (for example, two players with king-high flushes), the suit is NOT used to break the tie - suits have no inherent value. Check-Raising: This house rule is configurable - see "Setting Preferences". ===== Setting Preferences ===== When you start a new game of poker, the preferences window appears, and Smoke'em Poker automatically loads any saved game settings from its icon. You can then set the following: Your Name: Enter your name (up to 12 characters). If you don't enter a name, you'll be called "Stranger". Defaults to blank. Opponents: Opens the opponents window in which you set your opponents names, skill levels, and so on. For more information on this window, see "Choosing Opponents". Starting Cash: The amount of money that every player starts with. Must be between $100 and $10000. Defaults to $1000. Ante: The amount of money that each player chips in to play in each hand. Must be between $1 and $100. Defaults to $10. Maximum Raises: The maximum number of raises (NOT including the first bet) that are allowed in each round of betting. Must be between 1 and 10. Defaults to 3. Minimum Bet: The smallest amount that a player can raise. Must be between $5 and $50, but must be smaller than the medium bet (see below). Defaults to $10. Medium Bet: The in-between amount that a player can raise. Must be between $10 and $100, but must be larger than the minimum bet and smaller than the maximum bet. Defaults to $25. Maximum Bet: The largest amount that a player can raise. Must be between $15 and $200, but must be larger than the medium bet. Defaults to $50. Allow Check-Raising (Sandbagging): To allow check-raising (also known as sandbagging) in the game, select this checkbox. Check-raising means that if player A checks, then player B raises, player A is allowed to re-raise the bet. You typically check-raise when you have a strong hand but want to see who else does too. Instead of making the first raise, you check (pass) the bet. When someone else raises, you can then raise them more. If you disallow check-raising, player A (in the example above) would not be allowed to re-raise - they would have to call instead. Defaults to on. Note: Call-raising (re-raising when you had previously called) is ALWAYS allowed. Reveal All Hands: To show the other players' hands face-up, select this checkbox. This option is useful for figuring out how the simulated players bet. Defaults to off. Show Skill: To show each player's skill level during the game, select this checkbox. The skill level is shown beside the player's name in short form (for example, "Dave (b)" means that Dave has a skill level of "bonehead"). Defaults to off. For more information on skill levels, see "Choosing Opponents". Reset To Saved: Reloads saved values from Smoke'em Poker's tooltypes (stored in its icon). Useful if you've mucked around with the game settings and then decide to cancel your changes. Reset To Defaults: Resets all values in the preferences window and the opponents window to their default values. Note: If Smoke'em Poker cannot load its game settings from its icon, it will automatically reset all values to their defaults. Save & Start: Exits from the preferences window, saves your game settings, and starts the new game. Note: If Smoke'em Poker cannot save its game settings to its icon, an error window will warn you of this before starting the new game. A Note About Icon Tooltypes: Smoke'em Poker saves your game settings by storing them as tooltypes in its icon (.info file). To change the game settings, I recommend that you take the easy route and use the controls in the preferences window and opponents window. However, if you choose to manipulate the tooltypes directly in Workbench (using the "Information" command), note the following: - If Smoke'em Poker doesn't find or understand a tooltype, it uses the appropriate default value. - If a numeric tooltype (like StartingCash) contains a value outside its legal range, Smoke'em Poker uses the appropriate minimum or maximum value instead. ===== Choosing Opponents ===== From the preferences window, you can open the opponents window to set up the computer players for the next game. In this window, the computer players are arranged as they will appear in the game. For each player, you can set the following: Active: To include the player in the game, select this checkbox. If you de-select it, the other controls for the player are automatically disabled. This option makes it possible for you to play a game with fewer than five opponents. Male: Determines the sex (male or female) of the player. This helps Smoke'em Poker to supply appropriate names for unnamed players, and to set appropriate male/female voice settings. (Socially Correct Disclaimer: Having a Male/notMale checkbox is NOT intended to be chauvinistic - it simply saves some room in the window.) Name: Enter the name of the computer player. If you supply a name of your own, make sure that you have set the Male checkbox to agree with the name (so that the voice matches the player's sex). If you leave the Name field blank, Smoke'em Poker will supply a random name each time you start a new game. The name will be male or female depending on the Male checkbox. Skill: To set the skill of the computer player, click repeatedly to cycle through these skill levels: - Bonehead - Can barely distinguish good hands from bad ones, but bets anyway (duh). - Fair - Bets based on the value of his/her own hand only. - Good - Bets based on the value of his/her own hand and the amount of betting so far in the round. - (Random) - For each new game, this selects a random skill level (Bonehead, Fair, or Good). The random skill level is only revealed if you select the Show Skill checkbox in the preferences window. In upcoming releases of Smoke'em Poker, I hope to add higher skill levels - see "Future Enhancements". Done: Exits the opponents window and returns to the preferences window. Note: The settings in the opponents window are saved automatically along with the settings in the preferences window. ===== Playing A Hand ===== Paying The Ante And Dealing: To deal a new hand, click the "Deal" button. Each player will automatically pay the ante for the hand, and the cards will then be dealt by the next dealer. The dealer is outlined in pink while dealing, and the dealer's name is highlighted in pink throughout the hand. Note that, even if a player's cards are shown face-up on the screen (using the "Reveal All Hands" option), players can NEVER see each other's cards (except at the end of a hand). Opening Bets: When the betting comes around to you, you can do one of the following: - "Check" (or pass) your bet if no one else has bet yet. The "Check" button does not appear if someone has made a bet before you. - "Fold" your hand to get out of the current hand without matching the current bet. The "Fold" button does not appear if no one has made a bet yet. - "Call" the current bet by paying enough to match it. - "Raise" the current bet by matching it and then increasing it by a certain amount. To raise, click the "Raise" button and choose from one of the three fixed amounts in the Raise window. These amounts are determined by the preferences that you set for the game - see "Setting Preferences". The "Raise" button does not appear if the maximum number of raises has already been reached, or if this would be a check-raise in a game where you had prohibited check-raising - see "Setting Preferences". Discarding Cards: To drop UP TO THREE cards from your hand, click the "X"-shaped discard pointer on the unwanted cards, then click the "Discard" button. The new cards are dealt from the deck and automatically sorted into your hand. To "stand pat" (that is, to keep all of your cards), make sure that no cards are selected, then click the "Discard None" button. Closing Bets: Betting in the closing round is done exactly like it is in the opening round, except that it starts with the player who last raised in the opening round. The Showdown: When all players reveal their hands, the winner of the hand is outlined in gold (the colour of money) and collects the money in the pot. At this point, if a simulated player is out of money, they leave the game. If you are the last player left, you win the game. If YOU run out of money, the game ends (see "Running Out Of Money"). ===== Four-card Hands ===== As a convenience, in the opening round of betting (before you discard), Smoke'em Poker will check your cards for the following four-card hands: - baby straight flushes - four-card straight flushes with no gaps - baby flushes - four-card flushes (gaps or not) - outside straights - four-card straights with no gaps (a.k.a. two-sided straights) - inside straights - four-card straights with a gap between two of the cards, or one-sided straights (ace-low or ace-high) These hands, while worth nothing in themselves, only need one card to make them into excellent hands. Smoke'em Poker points out these promising hands for you, but only points them out BEFORE the discard (while you still have a chance to complete them). When deciding how to label your hand BEFORE the discard, Smoke'em Poker follows these rules: - inside straights are better than runts, - outside straights are better than pairs, - baby flushes are better than outside straights, - baby straight flushes are better than baby flushes. For example, suppose that you started with a hand of 3-4-4-5-6. Before you discarded anything, Smoke'em Poker would label your hand as an outside straight, since this is POTENTIALLY worth more than your pair. If you had this same hand AFTER the discard, however, the outside straight would no longer have a chance of becoming a real (five-card) straight, so Smoke'em Poker would label it as just a pair. ===== Controlling Sound ===== To turn sound on or off, click the Sound checkbox at the upper left corner of the screen (duh). In this release, sound is implemented as synthesized speech. For example, your opponents will speak up when betting ("I call", etc.). Their voices are matched to their sex - see "Choosing Opponents". To get speech, you must have the AmigaDOS 2.0x speech software. For more information, see "System Requirements". Sound is another part of Smoke'em Poker that I plan to improve in an upcoming release - see "Future Enhancements". ===== Getting Help ===== To get help at any time during the game: - Click the Help button, or - Press the Help key (what a concept!) This opens a help window that shows a list of topics. Click on a topic to show the corresponding help text. To exit from the help window, click the close box at the upper left corner of the window. Smoke'em Poker's on-line help is the same as the text file (Smoke'emPoker.doc) included with this distribution. In fact, the on-line help is generated from the text file at run-time. Note: If Smoke'em Poker cannot find its help file (Smoke'emPoker.doc) in the same directory as Smoke'em Poker, it will ask you to find the help file using a standard file requester. If you can't find the help file, it will close the help window and return you to the game. ===== Generating Stats ===== For each poker game that you play, Smoke'em Poker keeps track of various statistics that can help you analyze your play (and your opponents' play). To examine the stats for the current game, click the Stats button. This opens a stats window that shows a list of categories. Click on a category to display the corresponding stats. To exit from the stats window, click the close box at the upper left corner of the window. Note that you can't look at stats in the middle of a hand. The Stats button is only available between hands. Statistics can be very useful in computer poker, since you typically play many more hands in a given time that you would in normal poker. This can help point out weaknesses in your play (for example, discovering that you are in too many showdowns, which is a losing habit in the long run). ===== Running Out Of Money ===== A player can keep playing until they run out of money. More precisely, a player can play a hand if they can afford the ante. They are permitted to go into debt (showing negative cash) while betting on a hand. When one of your simulated opponents doesn't have enough money left to ante up for the next hand, they leave the table, and their name is shown dimmed. If you bankrupt ALL of your opponents, the game ends with you as the new poker champion (woohoo!). If YOU run out of money, you can do the following: - Start a new poker game (everyone gets a fresh bankroll), or - Crawl into a hole and die (quit, that is), or - If there are at least two other players left, you can let them continue the game without you (see "Watching The Game"). ===== Watching The Game ===== Instead of playing in every hand, you can sit out for a while and watch the other players go at it. To watch the game, click the Watch button. The other players will continue the game without you until you interrupt them or until one of them bankrupts all of the other players. To interrupt a game that you're watching, click the Stop Watching button. Once the players finish the current hand, you can then continue. You can also watch a game if you lose all of your money AND there are at least two other players left. In the "losing" window that appears, click the "Let Other Players Continue" checkbox. When you exit from the window, the remaining players will continue the game as described above. Note that you can't start watching the game in the middle of a hand. The Watch button is only available between hands. ===== Restarting The Game ===== To end the current poker game and start a new poker game, click the Restart button. This opens the preferences window again and lets you set your preferences for the next game. It also resets each player's cash to the starting cash amount, and resets the game statistics. Note that you can't restart the game in the middle of a hand. The Restart button is only available between hands. ===== Quitting The Game ===== To quit Smoke'em Poker at any time and return to the Workbench, click the Quit button. A confirmation window will ask whether you really want to quit. ===== Future Enhancements ===== Here's what I'd like to add to future releases of Smoke'em Poker (in no particular order): - An option for digitized sound for each player. I like the idea of playing sound files from external directories, so you could supply your buddies' voices and make Smoke'em Poker feel more like your own weekend poker game. - More skill levels and selectable playing styles (loose or conservative) for the computer players. Also, computer players that learn about your betting tendencies and adjust their play accordingly. Eventually, I'd like to open up Smoke'em Poker to external players that play via ARexx. This would allow you to code your own computer players and hook them into the game. This would make for an interesting my-player-will-smoke- your-player "tournament". - More poker variations, of course, starting with the more common games like five-card stud, seven- card stud, hold'em, high/low splits, and so on. This would also open the door for dealer's choice. I'm not a big fan of wild-card games, so don't hold your breath for "pregnant threes"... ;^) - An option for playing over a network, modem, or direct connection. This would fill one or more of those other spots at the table with live people using Amigas linked to yours. - An Odds button that shows you the odds of improving your hand vs. the odds offered by the pot. - An Ask button that shows you what the various levels of computer players would do if they had your hand. Useful when you're just learning. - Better graphics and animation, perhaps including a graphic pot that grows as more money is bet, animated dealing and discarding, player graphics (with an option to supply your own), choice of cardback graphics, and so on. I can barely draw stick-men, so if you want to do some better graphics, let me know - see "About The Author". - A more robust user interface, including key shortcuts for common functions (pressing "F" to fold, etc.), and voice control using a sound digitizer. - Hooks to David Braben's Frontier(tm). Just imagine cruising the galaxy, docking your Cobra Mark III at the nearest orbiter, and challenging those Imperial scum to a fast-and-loose game of Follow-the-Emperor, no limit. Hmmm. Maybe next release... Any other enhancements or changes that you'd like to see? Let me know - see "About The Author". ===== Acknowledgments ===== Here's the section where I admit who I've ripped off for ideas ;^) Namely: - "Poker Pete" on my old TRS-80 Model III. When you had beaten Pete out of all his money, he got up, pulled out his six-gun, and plugged you. Now THERE'S a way to end a computer game! - "Vegas Johnny Draw Poker" by Top Score Software on MS-DOS (boo, hiss!). Pretty it ain't, but the keyboard interface is simple and the play is easy to follow. Some good betting algorithms, too. This is the game I was looking for on the Amiga, but the existing Amiga poker games either had brain-dead interfaces or were just "video" poker. Smoke'em Poker owes a lot to Vegas Johnny. - The book "Poker According To Maverick" (from the original TV series with James Garner). This is the most useful how-to poker book that I've come across. Lots of entertaining anecdotes written in that easy-going cowpoke style, plus a practical list of ten poker "commandments" to help you improve your play. - The players in my local Saturday-night game (Gina, Paul, Rob, Karen, Lou, and Gord) who play- tested Smoke'em Poker, and without whom it would have taken half the time to program. ;^D Thanks to Rob, especially, for losing some huge real-life pots and thereby providing me with a name for my program ("What a smoke! What an incredible burn!"). Sorry that I couldn't include an animation of the famed Dance-Of- The-Unbelievably-Smoked in this release. - Finally, thanks to INOVAtronics for CanDo, an easy-to-use authoring system that made it possible for a C-hater like me to produce Amiga programs. ===== Version History ===== 1.3 - November 22, 1994 - fixed nasty little bug that hung the game when you were down to a single opponent - fixed stats bug where restarting did not reset # of games won or lost by each player - added applause when you win (hey, I had to add something other than bug fixes...) - remembered to reset options to defaults before releasing (unlike 1.2 - duh) - thanks to Bruce Elrick and John Hanley for bug reports and suggestions - posted to CRS, Aquilonia, Aminet, and Fred Fish 1.2 - November 13, 1994 - added selectable sex, names, and skill levels for opponents, and selectable # of opponents - added preference settings for check-raising and showing skill levels of opponents - preferences are now automatically loaded and saved (stored as tooltypes in icon) - changed betting status text to show total bet AND net amount owed by player - added text during final betting to show # of cards drawn by opponents (in case you forget) - changed Max.Raises setting to NOT include first bet (for example, MaxRaises=3 means a maximum of 1 initial bet and 3 subsequent raises) - changed stats so that %Won and %Lost for each player is percentage of hands shown instead of total hands played - made speech asynchronous (no waiting) where possible, made speech smarter, added phrases - changed the help window to handle a renamed or relocated help file, and to reject files that are not valid help files - updated and tested under KS/WB 3.1 - for bug reports and suggestions, thanks to Terry Smallwood, Gina Grimshaw, Lou Spada, Gordon Paul, and Peter van Campen - posted to CRS and Aquilonia 1.1 - October 8, 1994 - added Stats button for assorted statistics - added Watch button for auto-play mode - made computer players a bit smarter (for example, they're now much less likely to fold in the face of aggressive betting) - added more phrases for speech - increased default ante from $5 to $10 - dealer is now outlined when dealing - names of bankrupt players are now dimmed (instead of erased) - in the showdown, the called player is first to reveal their cards (used to start left of dealer) - fixed a bug where computer players didn't draw to inside straights when given a free opportunity - fixed a bug that prevented "kickers" from being shown in the labeling of very close hands - changed inactive-window pointer from "busy" pointer to "prohibit" pointer - tested on more machines - no surprises - for bug reports and suggestions, thanks to Lou Spada, Gordon Paul, Lam Bui, Terry Smallwood - posted to CRS, Aquilonia, and Aminet 1.0 - July 30, 1994 - tested on my 3000 (WB 2.04, 6 megs) and Lou's 2000 (WB 2.x?, 3 megs) - posted to Canada Remote Systems (CRS-Online) ===== About BeerWare ===== Smoke'em Poker is BeerWare: if you like it, have a beer! BeerWare is FREE, so keep it, play it, and make copies of it for your friends. (A long time ago, in an interview far, far away, a games programmer remarked that he and his rivals were competing for the user's beer-money. Hence the happy concept of BeerWare - you can play this game AND still afford beer.) While this software is freely redistributable, it is NOT public domain, meaning that: - I retain the copyright (1994 Dave O'Brien) - You shouldn't change the program and then redistribute it yourself. If you discover bugs or think up improvements, let me know and I'll try to oblige you - see "About The Author". Distributors: don't be wankers and try to charge anything for this, except for nominal copying fees. Fred Fish: feel free to put this on an upcoming Fish disk, and thanks for all the great software you've supplied us with for so many years. More BeerWare coming soon (?): - Battle Grid - two players pit their knights, assassins, clerics, and sorcerors against each other on a 8x8 grid - Net Runner - expand and conquer a computer network using viruses, trojan horses, and worms to punch through your opponents' I.C.E. By the way, this documentation is also BeerWare: if you've read this far, have another beer! ===== About The Author ===== I'm a technical writer by trade (paid by the word - can you tell?), and I do my work on Macs and PCs, but the Amiga is still my favourite for having fun. I've been fooling with Amigas for a long time now, but only recently tried programming them (thanks to CanDo for making this part easier). My two other favourite things to do are playing poker and riding recumbent bikes (usually not at the same time). If you have suggestions for Smoke'em Poker, or ideas for other thinking games that you'd like to see (but, um, not the high-speed arcade sort - remember, I use CanDo, not AMOS), send me mail at one of the following addresses: Canada Remote Systems: "dave obrien" Aquilonia BBS: "Rogue Cheddar" Internet: "dave.obrien@sybase.com" Snail-mail: Dave O'Brien 13 Homewood Ave. Kitchener, Ontario Canada, N2M 1X1