From f2c4a58727169a03b8102704888d1579d26b28c8 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Mon, 3 Aug 2026 16:18:17 -0400 Subject: feat: multiplayer baccarat game --- building_guide/rooms.md | 37 +++++++++++++++++++++++++++++++++---- 1 file changed, 33 insertions(+), 4 deletions(-) (limited to 'building_guide') diff --git a/building_guide/rooms.md b/building_guide/rooms.md index 731b064..bbd7ec1 100644 --- a/building_guide/rooms.md +++ b/building_guide/rooms.md @@ -222,9 +222,9 @@ Mobs stop wandering while in combat. Dead mobs respawn at their home room. Rooms may host one or more multiplayer casino tables. Players join by typing `play `; the table ID is an internal room-local identifier and does not -need to be typed. Blackjack is the multiplayer table game; slots run as -single-player machines (see below), and older rooms that declare slots under -`casino_tables` are migrated to machines automatically. +need to be typed. Blackjack and baccarat are the multiplayer table games; +slots run as single-player machines (see below), and older rooms that declare +slots under `casino_tables` are migrated to machines automatically. `max_players`, `betting_ticks`, `min_bet`, and `max_bet` use defaults when omitted. Game-specific rule configuration is nested alongside the table definition. @@ -272,7 +272,36 @@ keys may define Unicode art for sizes 5, 7, and 9. Missing art uses the generated renderer. Players can choose `option card_size 1`, `5`, `7`, or `9`; size 1 uses Unicode playing-card symbols. ASCII mode always uses generated 5x5 cards. `option card_style light` adds a white card background; `dark` is -the default style. +the default style. The same art renders baccarat hands. + +Baccarat tables play punto banco: every participant bets on the player, the +banker, or a tie, then the dealer plays out both hands by fixed drawing rules +— there are no mid-round player decisions: + +```yaml +casino_tables: + - id: baccarat + game: baccarat + max_players: 6 + betting_ticks: 20 + min_bet: 1 + max_bet: 1000 + baccarat: + decks: 8 + shuffle_at: 0.25 + tie_payout: 8 + banker_payout: 0.95 +``` + +At a baccarat table, `bet on player`, `bet on banker`, and +`bet on tie` place wagers (the words and amounts may come in any +order, and `min`/`max` work as usual). A bare `bet` repeats the previous +amount and target. Winning player bets pay 1:1; winning banker bets pay +`banker_payout`:1 (0.95 is the classic 5% commission); winning tie bets pay +`tie_payout`:1. On a tie, player and banker bets push. When the betting +window closes, both hands are dealt by the standard tableau: naturals (8 or +9) stand immediately, the player hand draws on 0-5, and the banker hand +follows the usual third-card rules. Single-player machines use `casino_machines` and are separate from multiplayer tables: -- cgit v1.2.3