Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Games

Mb2 can deal seventy different variations of poker. This includes common ones like Texas Hold’em, Omaha and Seven Card Stud as well as lesser known games like Badugi, Courchevel and Big O.

The BARGE Rule Book has rules to almost all of the games mb2 deals. The exceptions are Sack, Wonky Donkey, Regular Pineapple, Redrum, Dealer’s Choice, and Crayfish Omaha or Hold’em.

At the time of this writing, the precise—but misleading—number of games is seventy. That number comes from the source code to mb2:

pub static GAMES: LazyLock<[GameInfo; 70]> = LazyLock::new(|| {
    [
        // Hold'ems
        HOLD_EM.done(),
        IRISH.done(),
        HOLD_EM_SHORT.done(),
        CRAZY_PINE.done(),
        CRAZY_PINE_8.done(),
        HOLDEM_8.done(),
        LAZY_PINE.done(),
        LAZY_PINE_8.done(),
        REGULAR_PINE.done(),
        REGULAR_PINE_8.done(),
        RIO_BRAVO.done(),
        HOLD_EM_CRAYFISH.done(),
        // Omahas
        OMAHA.done(),
        OMAHA_8.done(),
        OMAHA_SHORT.done(),
        BIG_O.done(),
        BINGLAHA.done(),
...

The 70 shows that we’re populating the GAMES constant with 70 elements, but it’s counting—for example—Hold'em and Hold'em High/Low with an Eight Qualifier as two separate games.

It’s also making the distinction between Crazy Pineapple and Lazy Pineapple, yet collectively those two games count as three (and not four!) because it has a separate entry for Lazy Pineapple with an eight qualifier and Lazy Pineapple without an eight qualifier, but does not do the same for Crazy Pineapple.

The internal names may not mean anything to you, but click the triangle, if you want to see the entire list.

Code that initializes the GAMES constant
pub static GAMES: LazyLock<[GameInfo; 70]> = LazyLock::new(|| {
    [
        // Hold'ems
        HOLD_EM.done(),
        IRISH.done(),
        HOLD_EM_SHORT.done(),
        CRAZY_PINE.done(),
        CRAZY_PINE_8.done(),
        HOLDEM_8.done(),
        LAZY_PINE.done(),
        LAZY_PINE_8.done(),
        REGULAR_PINE.done(),
        REGULAR_PINE_8.done(),
        RIO_BRAVO.done(),
        HOLD_EM_CRAYFISH.done(),
        // Omahas
        OMAHA.done(),
        OMAHA_8.done(),
        OMAHA_SHORT.done(),
        BIG_O.done(),
        BINGLAHA.done(),
        DRAMADUGI.done(),
        DRAMAHA.done(),
        DRAMAHA_49.done(),
        DRAMAHA_3D.done(),
        TWO_OR_FIVE_O8.done(),
        OMAHA_X_OR_BETTER.done(),
        DOUBLE_PLO.done(),
        FIVE_CARD_OMAHA.done(),
        OMAHA_CRAYFISH.done(),
        // Scrotum
        SCROTUM.done(),
        // Chowahas
        CHOWAHA.done(),
        CHOWAHA_FOUR_8.done(),
        // Triple Boards
        OKLAHOMA.done(),
        MURDER.done(),
        REDRUM.done(),
        // Courchevel
        COURCHEVEL.done(),
        // Draws
        DRAW.done(),
        LIMIT_CA_LOWBALL.done(),
        LIMIT_VANILLA_CA_LOWBALL.done(),
        NL_CA_LOWBALL.done(),
        DEUCE_TO_SEVEN.done(),
        QUICK_QUADS.done(),
        // Badugis
        BADUGI.done(),
        BADACEY.done(),
        BADEUCY.done(),
        // Triple Draws
        ACE_TO_FIVE_3D.done(),
        DEUCE_TO_SEVEN_3D.done(),
        ARCHIE.done(),
        KOREAN.done(),
        DUCK_FLUSH.done(),
        QUICK_QUADS_3D.done(),
        DEUCE_TO_SEVEN_2D.done(),
        // Mississippi Studs
        MISS_STUD.done(),
        MISS_8.done(),
        MISS_RAZZ.done(),
        // 7-card Studs
        STUD.done(),
        RAZZ.done(),
        STUD_8.done(),
        STUD_HIGH_LOW.done(),
        DEUCE_TO_SEVEN_RAZZ.done(),
        LONDON_LOWBALL.done(),
        RAZZDUGI.done(),
        ACTION_RAZZ.done(),
        ACTION_RAZZDUGI.done(),
        SUPER_STUD.done(),
        SUPER_STUD_8.done(),
        // 5-card studs
        FIVE_CARD_STUD.done(),
        // Mexicans
        MEXICAN.done(),
        // Simultaneous
        SOHE.done(),
        SHESHE.done(),
        // Choice
        PARADISE_PICK_EM.done(),
        WONKY_DONKEY.done(),
        DEALERS_CHOICE.done(),
    ]
});

Internally, games are implemented as core games which can have a lot of options applied to them and the GAMES constant simply represents the most popular combinations of core games with options. There is no requirement for a combination of a core game and options to be present in GAMES for that combination to be used in a tournament structure or ring game, so mb2 is already dealing well more than seventy different variants, but some of the differences are so small that it’s hard to argue they’re different games.

Here are the core games, with up to three examples of each. This table is mostly to represent the current flexibility of mb2; it’s not really that useful to players.

Core GameExamples
Hold’EmHold’em, Irish, Rio Bravo
OmahaOmaha, Binglaha, Dramaha 49
ScrotumScrotum
ChowahaChowaha, Four Card Chowaha
Triple BoardsOklahoma, Murder, Redrum
CourchevelCourchevel
DrawFive Card Draw, California Lowball, Deuce-to-Seven Lowball
BadugiBadugi, Badacey, Badeucy
Triple DrawAce-to-Five Triple Draw, Deuce-to-Seven Triple Draw, Archie
Mississipi StudMississippi Stud, Mississippi Stud Hi/Lo, Mississippi Razz
Seven Card StudSeven Card Stud, Razz, Action Razzdugi
Five Card StudFive Card Stud
MexicanMexican
SimultaneousSOHE (Simultaneous Omaha and Hold’em)
ChoiceParadise Road Pick’em, Wonky Donkey, Dealer’s