card-game.el/known-games.org
Corwin Brust b5410e1830 Add 16 games and known-games research; bump to 1.0.60
Console UNICODE games on the cg-core EIEIO engine, all ERT-tested (88/88):
- Tableau solitaire (cg-solitaire.el): Klondike, FreeCell, Spider, Yukon,
  Canfield, Forty Thieves, Scorpion.
- Pile solitaire (cg-patience.el): Golf, TriPeaks, Pyramid.
- Trick-taking (cg-trick.el): Hearts, Spades, Whist, Oh Hell.
- Shedding/climbing: Crazy Eights (cg-eights.el), President (cg-president.el).

Wire all into the card-game chooser, Makefile, and README; add
known-games.org research collation; bump every file to 1.0.60.
2026-06-25 01:58:24 -05:00

47 KiB
Raw Permalink Blame History

Known Games — research collation for card-games.el

About this file

This is a research collation, not an order list. It records card games we have looked into, what we learned about their rules, a rough level-of- effort (LoE) guess as a T-shirt size, and links to authoritative rules.

We only consider building a game once its Rules section is filled in well enough that we believe we could implement it. People will suggest games over time; before researching a new one, search this file for its name to see whether we have already looked at it and what we found.

Meta-table fields

Each game is a top-level section containing a left-header table with:

name
common name (section heading matches).
package
NA if unbuilt, otherwise the launch command in card-games (e.g. M-x cg-klondike).
players
supported player counts.
LoE
T-shirt size — S easier · M normal · H clearly more work.
engine
which shared engine/cluster it belongs to (see end).
links
authoritative rules.
added / updated
ISO dates.

T-shirt sizing key

S
small — little new logic; mostly reuses an existing engine.
M
medium — a normal game's worth of new rules/UI.
H
hard — multi-deck, melding, or heavy scoring; clearly more work.

Beggar-My-Neighbour

name Beggar-My-Neighbour
package NA
players 2 (3-4 variants)
LoE S
engine shedding/auto
links https://en.wikipedia.org/wiki/Beggar-my-neighbour
added 2026-06-24
updated 2026-06-24

Rules

Deal the whole 52-card deck out evenly, face down, one stack per player. Players do not look at their cards. In turn, each player plays the top card of their stack face up to a central pile. Play passes until someone plays a "penalty card" (an honour): Ace, King, Queen, or Jack. The next player must then pay a forfeit by playing cards to the pile: 4 for an Ace, 3 for a King, 2 for a Queen, 1 for a Jack. If during a forfeit another honour appears, the forfeit cancels and the obligation flips to the following player. If a forfeit is paid out with only number cards, the player who laid the last honour takes the whole central pile and places it face down under their stack, then leads again. A player who runs out of cards is out; last player holding cards wins.

Notes

Fully deterministic once dealt — zero decisions. Ideal first "auto-play" demo: the engine just animates. Famous for sometimes never terminating.

Briscola

name Briscola
package NA
players 2, 4 (partnership)
LoE M
engine trick (no follow-suit)
links https://en.wikipedia.org/wiki/Briscola · https://www.pagat.com/aceten/briscola.html
added 2026-06-24
updated 2026-06-24

Rules

40-card Italian deck (or strip 8/9/10… — actually strip the 8s,9s,10s from a French deck to get 40, ranks A,3,K,Q,J,7,6,5,4,2). Card-point values: Ace 11, Three 10, King 4, Queen/Horse 3, Jack/Knave 2, others 0 (total 120). Deal 3 cards each; turn the next card face up — its suit is the briscola (trump) for the hand — and place it half-under the stock. No requirement to follow suit. Highest briscola wins; else highest card of the led suit. Winner of each trick draws first from stock, then others, restoring hands to 3. The last face-up trump is the final card drawn. Continue until the deck and hands are exhausted (20 tricks total in 2p). Score the card points captured; 61+ wins.

Notes

No-follow-suit makes the trick resolver simpler than 500/Spades. Shares the deck/trick/AI scaffolding of the trick cluster; good companion to Scopa for an "Italian games" set.

Canasta

name Canasta
package NA
players 4 (partnership); 2-3 variants
LoE H
engine rummy/meld (multi-deck)
links https://en.wikipedia.org/wiki/Canasta · https://www.pagat.com/rummy/canasta.html
added 2026-06-24
updated 2026-06-24

Rules

Two 52-card decks + 4 jokers (108). Deal 11 each. Jokers and 2s are wild. Players draw and discard, melding sets of 3+ equal ranks (no runs). A canasta is a meld of 7: natural/clean (no wilds, 500 bonus) or mixed/dirty (1-3 wilds, 300 bonus). Red 3s are bonus cards laid aside (100 each; all four = 800). Black 3s block the discard pile and can only be melded when going out. Minimum first-meld point count rises with your team's cumulative score (e.g. 50/90/120). The discard pile can be "frozen" and taken wholesale if you can meld its top card. Going out requires at least one canasta; +100 bonus (+200 concealed). Card values: jokers 50, 2s & aces 20, K-8 10, 7-4 & black 3 5.

Notes

The heavyweight of the meld family: wilds, frozen pile, escalating minimums, multi-deck. Build Hand and Foot first (simpler cousin) to prove the meld engine, then extend.

Canfield

name Canfield
package M-x cg-canfield
players 1 (solitaire)
LoE M
engine tableau-solitaire
links https://en.wikipedia.org/wiki/Canfield_(solitaire)
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Deal 13 cards to a face-down reserve (demon) with the top turned up. Deal one card to the first foundation; its rank sets the base rank for all four foundations (they build up in suit, wrapping K→A). Deal 4 cards face up as the tableau. Remaining cards form the stock, dealt to waste 3 at a time with unlimited redeals. Tableau builds down in alter- nating colour, wrapping A→K; groups move as units. Empty tableau columns are filled from the reserve (when the reserve empties, from the waste). Win by building all four foundations up 13 cards.

Notes

Same engine as Klondike/FreeCell plus a reserve pile and a variable foundation base rank. Build Klondike first; Canfield is then mostly the reserve + base-rank wrinkle. Famously hard (~8% win).

Casino

name Casino
package NA
players 2-4
LoE M
engine fishing
links https://en.wikipedia.org/wiki/Cassino_(card_game) · https://www.pagat.com/fishing/casino.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Deal 2 to each player and 4 face up to the table (then 2 more to players, repeating until the deck is gone, 2 at a time). On your turn play one card to: capture table cards of equal rank (face cards by rank only) or sets of number cards summing to your card's value (A=1); build a combination you can later capture; or trail (place a card on the table). A capture that clears the table is a sweep (+1). Number cards count their pips for building. Scoring at deck's end: most cards 3, most spades 1, the 10♦ ("big casino") 2, the 2♠ ("little casino") 1, each Ace 1, each sweep 1. Play to 21 over hands.

Notes

Fishing engine, shared with Scopa. Builds are the tricky part (track build value + owner). Pair with Scopa for the capture-engine cluster.

Clock (solitaire)

name Clock
package NA
players 1 (solitaire)
LoE S
engine pile-solitaire
links https://en.wikipedia.org/wiki/Clock_(card_game)
added 2026-06-24
updated 2026-06-24

Rules

Deal all 52 into 13 piles of 4 (12 in a clock-face ring + 1 in the centre = Kings). Turn up the centre's top card, slide it face up under the pile of its rank (Ace=1 … J=11, Q=12, K=centre), and turn up that pile's top card; continue. You win if all 13 piles are turned face up before the 4th King surfaces (which ends the game). Pure chance — no decisions.

Notes

Another zero-decision auto-demo, like Beggar-My-Neighbour. Trivial state machine; nice for testing the renderer's "ring" layout.

Concentration (Memory)

name Concentration (Memory / Pairs)
package NA
players 1+
LoE S
engine grid-flip
links https://en.wikipedia.org/wiki/Concentration_(card_game)
added 2026-06-24
updated 2026-06-24

Rules

Shuffle 52 face down in a grid. On a turn, flip two cards; if they match in rank, keep them and go again; otherwise flip them back. Most pairs wins. Solo: minimise turns.

Notes

Reuses the Gaps grid + cursor directly; only "face-down + reveal memory" is new. Good cheap win that exercises the existing board renderer.

Crazy Eights

name Crazy Eights
package M-x cg-eights
players 2-5
LoE M
engine shedding
links https://en.wikipedia.org/wiki/Crazy_Eights · https://www.pagat.com/eights/crazy8s.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Deal 5-7 each; flip one to start the discard pile; rest is stock. On your turn play a card matching the top card's rank or suit. Eights are wild — play any time and name the next suit. If you can't play, draw from stock (until playable or stock empty, per variant). First to shed all cards wins; score opponents' remaining cards (8=50, faces 10, ace 1, else pip). The ancestor of UNO.

Notes

The canonical shedding game; AI is easy (play matching, save eights). Engine generalises to President-style climbing later. Very popular.

Cribbage

name Cribbage
package NA
players 2 (3-4 variants)
LoE M
engine cribbage (own scorer)
links https://en.wikipedia.org/wiki/Rules_of_cribbage · https://www.pagat.com/adders/crib6.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52 + a cribbage board (121 holes). Deal 6 each (2p); each player discards 2 to the dealer's crib. Cut a starter; if it's a Jack, dealer pegs 2 ("his heels"). The Play (pegging): alternate laying cards, calling the running total (face=10, ace=1); never exceed 31. Score during play: total 15 = 2; 31 = 2; pair = 2, pair-royal = 6, double-pair-royal = 12; runs of 3+ = length; last card ("go"/last) = 1. Reset to 0 after 31 or a go. The Show: count each hand then the crib (dealer last), with the starter, for: every combo summing to 15 = 2; pairs = 2; runs = length; flush = 4 (5 with starter; crib flush needs all 5); Jack of starter's suit in hand ("his nobs") = 1. First to 121 wins.

Notes

Unique scoring engine (the 15s/pairs/runs/flush counter is the whole game). No trump, no melds — its own cluster. The combinatorial hand-scorer is the fun, testable core. High wishlist value.

Euchre

name Euchre
package NA
players 4 (partnership); 2-3 variants
LoE M
engine trick (trump + bowers)
links https://en.wikipedia.org/wiki/Euchre · https://www.pagat.com/euchre/euchre.html
added 2026-06-24
updated 2026-06-24

Rules

24-card deck (9-A in four suits). Deal 5 each; turn the next card up. Bidding: in turn, order up (accept the turned suit as trump, dealer takes the card) or pass; if all pass, a second round lets players name a different trump. Bowers: Jack of trump = highest (right bower); Jack of same colour = second highest (left bower, counts as trump). The maker's team must take 3+ of 5 tricks: 3-4 = 1 point, all 5 (march) = 2; going alone and taking all 5 = 4. If the makers fail (euchred), defenders get

  1. First to 10 points wins.

Notes

Best second trick game after 500: small hand, the bower mechanic is the only real novelty over the 500/Spades trick resolver. Hugely popular in the US Midwest.

Forty Thieves

name Forty Thieves
package M-x cg-forty-thieves
players 1 (solitaire)
LoE M
engine tableau-solitaire (2 decks)
links https://en.wikipedia.org/wiki/Forty_Thieves_(solitaire)
added 2026-06-24
updated 2026-06-24

Rules

Two decks (104). Deal 10 columns of 4 cards, all face up. Eight foundations build up by suit A→K. Tableau builds down by suit; move one card at a time (no group moves in the strict rules). Stock dealt one at a time to a single waste, no redeal. Empty columns take any card. Win by filling all eight foundations.

Notes

Two-deck tableau game — proves the engine scales to 104 cards and 8 foundations. Strict (down-by-suit, single-card) so move logic is simpler than Klondike, but very hard to win.

FreeCell

name FreeCell
package M-x cg-freecell
players 1 (solitaire)
LoE M
engine tableau-solitaire
links https://en.wikipedia.org/wiki/FreeCell · https://www.pagat.com/patience/freecell.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52, all dealt face up: 8 columns (first four of 7, last four of 6). Four free cells hold one card each. Four foundations build up by suit A→K. Tableau builds down in alternating colour. Move one card at a time, but a "supermove" of N cards is allowed when (free cells + 1) × 2^(empty columns) ≥ N. Nearly every deal is winnable.

Notes

Same tableau/foundation engine as Klondike, minus the stock/waste, plus free cells and the supermove count. No hidden cards → pure skill; great for a deterministic, fully testable solver-friendly game. Very popular.

Gin Rummy

name Gin Rummy
package NA
players 2
LoE M
engine rummy/meld
links https://en.wikipedia.org/wiki/Gin_rummy · https://www.pagat.com/rummy/gin.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Deal 10 each; flip one to start the discard. Draw (stock or discard top) then discard. Form melds: runs (3+ same suit in sequence) and sets (3-4 same rank). Knock when unmatched ("deadwood") ≤ 10; gin when deadwood = 0 (+25 bonus). After a knock, the opponent lays off cards onto the knocker's melds; difference in deadwood scores; if the opponent has ≤ the knocker (undercut), they score the difference + 25. Game to 100.

Notes

The two-hand meld game. The deadwood/meld-optimiser (find the best meld partition to minimise deadwood) is the reusable core for the whole rummy family. Strong wishlist item.

Go Fish

name Go Fish
package NA
players 2-6
LoE S
engine ask/match
links https://en.wikipedia.org/wiki/Go_Fish · https://www.pagat.com/quartet/gofish.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Deal 5-7 each; rest is the "pool". On your turn ask a named player for a rank you hold; if they have any, they give all of them and you ask again; else "Go Fish" — draw from the pool (extra turn if you drew the rank asked). Complete books (all 4 of a rank), lay them down; most books when cards run out wins.

Notes

Simple AI (track who asked for what = basic memory). Hidden-hand info game; the "ask a player" interaction is new but small. Good kid-friendly title.

Golf (solitaire)

name Golf
package M-x cg-golf
players 1 (solitaire)
LoE S
engine pile-solitaire (waste-build)
links https://en.wikipedia.org/wiki/Golf_(patience)
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Deal 7 columns of 5 face up (35). One card to the waste; the rest is stock. Move an exposed tableau card to the waste if it is one rank higher or lower than the waste top (no wrap unless variant; suit ignored). When stuck, deal the next stock card to the waste. Clear all tableau cards to win; score = cards left when stock is exhausted.

Notes

Tiny rule set, one legal-move test (±1 rank). Shares its waste-build core with TriPeaks. Fast, satisfying, very testable.

Hand and Foot

name Hand and Foot
package NA
players 4 (partnership); 2-6 variants
LoE H
engine rummy/meld (multi-deck)
links https://en.wikipedia.org/wiki/Hand_and_Foot_(card_game) · https://www.pagat.com/rummy/handfoot.html
added 2026-06-24
updated 2026-06-24

Rules

Typically 5-6 decks incl. jokers; deal each player a hand (11) and a foot (11) — you play the hand first, then pick up the foot. Draw 2, discard 1. Meld sets of same rank (no runs). Clean/red canasta = 7 with no wilds (500); dirty/black = 7 with wilds (300). 2s and jokers wild; red 3s are bonus. Going out needs a minimum number of clean + dirty canastas and you must finish the foot. Per-round minimum first-meld counts rise each round.

Notes

Simpler than full Canasta (sets only, no frozen-pile finesse) so it is the right first multi-deck meld build; Canasta then extends it. On the original wishlist (3-player Hand and Foot).

Hearts

name Hearts
package M-x cg-hearts
players 3-4 (4 classic)
LoE M
engine trick (avoidance)
links https://en.wikipedia.org/wiki/Hearts_(card_game) · https://www.pagat.com/reverse/hearts.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52, 4 players, deal 13 each. Pass 3 cards (left/right/across/none rotating). Holder of 2♣ leads it. Follow suit if able; cannot lead hearts until "broken" (a heart or Q♠ discarded off-suit). No trump. Each heart = 1 penalty, Q♠ = 13. Shooting the moon: take all hearts + Q♠ → 0 to self, 26 to everyone else. Play until someone hits 100; lowest score wins.

Notes

Same trick resolver as Spades/500 but no trump and penalty scoring (avoidance) + the passing phase + "hearts broken" lead rule. Very popular; 3-handed too (drop 2♦, deal 17). Strong build target this wave.

Hell's Half-Acre

name Hell's Half-Acre (Gaps variant)
package card-games (M-x cg-hells-half-acre)
players 1 (solitaire)
LoE S (done)
engine gaps-grid
links https://en.wikipedia.org/wiki/Gaps
added 2026-06-23
updated 2026-06-24

Rules

A Gaps/Montana variant built downward from Kings (anchor rank K, step -1). Lay out 52 in a 4×13 grid, remove the four 2s leaving gaps; fill a gap with the card one rank lower than its left neighbour in the same suit. Limited redeals. See Montana for the shared machinery.

Notes

Already implemented as a subclass of cg-gaps-game (proves deriving a game from a shared base). Differs from Montana only by head/step.

Klondike

name Klondike
package M-x cg-klondike
players 1 (solitaire)
LoE M
engine tableau-solitaire
links https://en.wikipedia.org/wiki/Klondike_(solitaire) · https://www.pagat.com/patience/klondike.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Seven columns of 1..7 cards, only the last of each face up. Four foundations build up by suit A→K. Tableau builds down in alternating colour; only a King (or group headed by one) moves to an empty column. Turn a hidden card when it becomes the column's last. Stock dealt to waste 1 (or 3) at a time; redeals per variant. Win by sending all 52 to foundations. This is "Solitaire" as most people know it.

Notes

The keystone solitaire — build first; FreeCell, Canfield, Yukon, Forty Thieves all reuse its tableau/foundation/stock-waste engine. Top priority.

Knock Rummy

name Knock Rummy (Poker Rum)
package NA
players 2-5
LoE M
engine rummy/meld
links https://en.wikipedia.org/wiki/Knock_rummy · https://www.pagat.com/rummy/knockrummy.html
added 2026-06-24
updated 2026-06-24

Rules

Like basic Rummy (draw/discard, melds of sets and runs) but a player may knock on any turn instead of melding as they go: lay down all cards grouped into melds + deadwood; lowest deadwood wins the difference from each opponent; knocking with 0 deadwood = rummy bonus.

Notes

Essentially Gin generalised to 2-5 players; if Gin's meld-optimiser exists, this is an S add-on. Listed M standalone.

Montana (Gaps)

name Montana (Gaps)
package card-games (M-x cg-montana, cg-gaps)
players 1 (solitaire)
LoE S (done)
engine gaps-grid
links https://en.wikipedia.org/wiki/Gaps
added 2026-06-23
updated 2026-06-24

Rules

Lay out 52 in a 4×13 grid; remove the four Aces leaving gaps. Build each row upward in a single suit starting at 2 (anchor rank 2, step +1): a gap is filled by the card one rank higher than its left neighbour, same suit; a gap to the right of a King (or at row start) is dead. Reshuffle stuck cards a limited number of times. Win when each row is a single suit 2→K.

Notes

Already implemented (cg-gaps.el) as the base cg-gaps-game with the Hell's-Half-Acre subclass. The project's first solitaire.

Napoleon (Nap)

name Napoleon (Nap)
package NA
players 2-6 (best 4-5)
LoE M
engine trick (trump, bidding)
links https://en.wikipedia.org/wiki/Napoleon_(card_game) · https://www.pagat.com/napoleon/nap.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52, deal 5 each. One round of bidding: declare how many of 5 tricks you will take (2, 3, 4, or "nap" = all 5); highest bid plays alone vs the rest, the bid suit's first led card… actually trump = the suit the declarer leads to the first trick. Make your bid to score; fail and you are set. Simple, fast gambling-style trick game.

Notes

A compact solo-vs-field trick game; reuses the trick resolver with a tiny bidding layer. Good "lightweight Euchre".

Oh Hell

name Oh Hell (Oh Pshaw / Blackout)
package M-x cg-ohhell
players 3-7
LoE M
engine trick (exact-bid)
links https://en.wikipedia.org/wiki/Oh_Hell · https://www.pagat.com/exact/ohhell.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Hand size changes each round (1,2,3,… up and/or back down). Deal that many; turn the next card for trump (none in the max round). Each player bids exactly how many tricks they will take; the hook rule forbids the dealer from making total bids equal the number of tricks. Follow suit; trump wins. Score: making your bid exactly = 10 + bid (common variant); missing = 0 (or minus the miss). Most points after all rounds wins.

Notes

Exact-bid scoring is the twist on the trick engine; variable hand size needs a round driver. Excellent with AI; scales 3-7 players.

Old Maid

name Old Maid
package NA
players 2-8
LoE S
engine pair-discard
links https://en.wikipedia.org/wiki/Old_Maid · https://www.pagat.com/quartet/oldmaid.html
added 2026-06-24
updated 2026-06-24

Rules

Remove one Queen (leaving 51; three Queens form the "old maid"). Deal all out (uneven OK). Everyone discards pairs from hand. In turn, draw one (unseen) from the player on your left and discard any new pair. Play until all pairs are down; whoever holds the odd Queen loses.

Notes

On the original wishlist. Pure mechanism, easy AI; the only state is hands

  • "draw from neighbour". Quick, kid-friendly.

Pinochle

name Pinochle (single deck)
package NA
players 2 (4 partnership)
LoE H
engine trick + meld
links https://en.wikipedia.org/wiki/Pinochle · https://www.pagat.com/marriage/pinmain.html
added 2026-06-24
updated 2026-06-24

Rules

48-card pinochle deck (two each of 9,J,Q,K,10,A in four suits; ranking A,10,K,Q,J,9). Phases: bid, meld, trick. Deal 12 each (2p). Bidding sets trump and a target. Meld (declared, scored before play): run A-10-K- Q-J of trump 150; royal marriage (K-Q trump) 40, common marriage 20; pinochle (Q♠+J♦) 40, double 300; dix (9 of trump) 10; sets like four aces 100, etc. Trick play: must follow suit and head the trick if able (win if you can); trump if void. Counters: each Ace/Ten/King = … (A 11, 10 10, K 4, Q 3, J 2 in common scoring; or the 4/3/2 simplified) plus 1 for last trick. Add meld + trick points; reaching the target scores, else set.

Notes

The hard trick game: requires both a meld scorer and the strict "must-win-if-able" trick rule + the special 48-card deck. Defer until the trick engine and a meld scorer (from rummy) both exist.

Pitch (Setback)

name Pitch (Auction Pitch / Setback)
package NA
players 2-7 (best 4 partnership)
LoE M
engine trick (point-trump)
links https://en.wikipedia.org/wiki/Pitch_(card_game) · https://www.pagat.com/allfours/pitch.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52, deal 6 each (in 3+3). Bid 1-4 (or pass); high bidder is the pitcher and leads — the suit led to the first trick becomes trump. Follow suit or trump (you may always trump; off-trump you must follow). Four points available: High (highest trump in play), Low (lowest trump in play, to whoever takes it), Jack (of trump, if in play, to its taker), Game (most card-points by value A=4,K=3,Q=2,J=1,10=10). Pitcher must make the bid or be set back (subtract the bid). First to 7 (or 11) wins.

Notes

"Led suit becomes trump" + the High/Low/Jack/Game point tally are the new bits over the trick engine. Classic Americana; partnership variant fits the 4-seat scaffold.

President

name President (Scum)
package M-x cg-president
players 3-8 (best 4-6)
LoE M
engine climbing/shedding
links https://en.wikipedia.org/wiki/President_(card_game) · https://www.pagat.com/climbing/president.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Deal all out. Rank high→low: 2,A,K,Q,J,10,…,3. Leader plays 1-4 of a kind; each player in turn must play the same count of a strictly higher rank or pass; once all but one pass (or someone matches a "complete" set per variant), the pile clears and the last player leads. First out = President, last = Scum. Next deal, Scum gives the President their two best cards and gets two free choices back (Vice ranks trade one).

Notes

The climbing-game archetype (extends the Crazy-Eights shedding core with a "must beat the last play" comparator + role/exchange meta). Lively with AI; build Crazy Eights first.

Pyramid

name Pyramid
package M-x cg-pyramid
players 1 (solitaire)
LoE M
engine pile-solitaire (sum-13)
links https://en.wikipedia.org/wiki/Pyramid_(solitaire)
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Deal 28 in a 7-row triangle (each card half-covered by two below). Remove pairs of exposed cards summing to 13 (A=1, J=11, Q=12, K= 13 removed alone). Deal stock to waste; pair waste/exposed cards. Redeals per variant. Clear the pyramid to win.

Notes

The "sum to N" matcher (cf. Gaps' rank logic) over a triangular exposure graph. Distinct exposure model from Klondike; share the "sum-13" rule with nothing else, but the renderer's triangle is reusable for TriPeaks.

Rummy (Basic / 500 Rum)

name Rummy (Basic / 500 Rum)
package NA
players 2-6
LoE M
engine rummy/meld
links https://en.wikipedia.org/wiki/Rummy · https://www.pagat.com/rummy/500rum.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Deal 7 (2p) / 10 etc. Draw (stock or discard) then discard. Meld runs (3+ same-suit sequence) and sets (3-4 same rank) to the table; lay off onto existing melds. Basic: first to shed all wins, score opponents' cards. 500 Rum: melds score their card values (A=15 or 1, face 10, pip face value); you may take any card from the discard pile if you immediately meld it (and everything above it joins your hand); play to 500.

Notes

On the original wishlist (rummy 500). Shares the meld model with Gin; 500 Rum adds melds-score-points + deep-discard-take. Core rummy build.

Scopa

name Scopa
package NA
players 2, 4 (partnership)
LoE M
engine fishing
links https://en.wikipedia.org/wiki/Scopa · https://www.pagat.com/fishing/scopa.html
added 2026-06-24
updated 2026-06-24

Rules

40-card deck (strip 8/9/10 from French deck; ranks A=1..7,J=8,Horse/Q=9, K=10 for capture). Deal 3 each, 4 to the table. Play a card to capture a table card of equal value, or a set summing to it; if both a single and a combo are possible, the single is forced. Capturing all table cards = a scopa (+1). Refill hands 3 at a time from stock. End scoring: most cards 1, most coins/diamonds 1, the settebello (7♦) 1, best primiera 1 (per-suit best card: 7=21,6=18,A=16,5=15,4=14,3=13,2=12,face=10), plus each scopa. Play to 11.

Notes

Fishing engine shared with Casino; primiera scoring is the fiddly part. Pairs with Briscola for an Italian set. Uses a 40-card deck — the engine already abstracts the deck.

Scorpion

name Scorpion
package M-x cg-scorpion
players 1 (solitaire)
LoE M
engine tableau-solitaire
links https://en.wikipedia.org/wiki/Scorpion_(solitaire)
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Seven columns of 7 (top three rows of the first four columns face down). Build down by suit; unlike Spider you may move a card with everything on top of it regardless of order. Stock of 3 cards dealt to the column bottoms when stuck. Goal: four K→A suit sequences.

Notes

A "move the buried pile" twist on the tableau engine, kin to Spider but single-deck. Good once Spider exists.

Snap

name Snap
package NA
players 2-4
LoE S
engine reflex/match
links https://en.wikipedia.org/wiki/Snap_(card_game)
added 2026-06-24
updated 2026-06-24

Rules

Deal all out face down. Players in turn flip their top card to a personal face-up pile. When two face-up tops show the same rank, the first to call "Snap!" takes both piles. Collect all cards to win.

Notes

Reflex game — needs a timed input (press key fastest). AI "reaction time" is a tunable delay. Tests the engine's real-time input path; small.

Spades

name Spades
package M-x cg-spades
players 4 (partnership)
LoE M
engine trick (trump, bid, partnership)
links https://en.wikipedia.org/wiki/Spades · https://www.pagat.com/auctionwhist/spades.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52, 4 players in 2 partnerships, deal 13 each. Spades are always trump. Each player bids the tricks they expect (0 = nil, with bonus/ penalty). Follow suit; cannot lead spades until "broken" (a spade played off-suit) unless only spades remain. Score: making the team's combined bid = 10 × bid + 1 per overtrick ("bag"); 10 bags = -100; missing the bid = -10 × bid; nil made = +100 (failed -100). First to 500 wins.

Notes

Closest game to the already-built 500: bidding + partnership + tricks + spades-always-trump (simpler than 500's complex trump/joker). The cg-bid trick/partnership machinery is the most directly reusable here. Top trick-game target this wave. On the original wishlist (four-player spades).

Spider

name Spider
package M-x cg-spider
players 1 (solitaire)
LoE M
engine tableau-solitaire (2 decks)
links https://en.wikipedia.org/wiki/Spider_(solitaire) · https://www.pagat.com/patience/spider.html
added 2026-06-24
updated 2026-06-24

Rules

Two decks (104). Ten columns (four of 6, six of 5; only the bottom card of each face up). Build down regardless of suit, but you may only move a run of the same suit as a unit. Complete a K→A same-suit run and it is removed. Stock deals one card to every column at once (no empty columns allowed when dealing). 1/2/4-suit difficulty variants. Win by removing all eight suit-runs.

Notes

On the wishlist. Two-deck tableau; the "same-suit run moves/clears" rule is the novelty. Difficulty knob (suits) is a nice defcustom. Build after Klondike; shares the column/foundation-removal engine.

Spit (Speed)

name Spit (Speed)
package NA
players 2
LoE M
engine real-time tableau
links https://en.wikipedia.org/wiki/Spit_(card_game)
added 2026-06-24
updated 2026-06-24

Rules

Split the deck between two players. Each lays a personal tableau (5 stockpiles) and keeps a "spit" pile. On "spit", both flip a centre card simultaneously; players race (no turns) to play tableau cards onto either centre pile, building up or down by one (wrapping). When both stuck, spit again. First to empty their cards wins the round; loser takes the smaller centre pile.

Notes

Real-time, two-pile build ±1 with wrap. Needs the timed-input loop (like Snap) plus a reactive AI. Hardest of the "fast" games to make feel fair vs AI; M.

Spite and Malice

name Spite and Malice (Cat and Mouse)
package NA
players 2 (3+ variants)
LoE M
engine stock-race / shedding
links https://en.wikipedia.org/wiki/Spite_and_Malice · https://www.pagat.com/eights/spite.html
added 2026-06-24
updated 2026-06-24

Rules

Two decks + jokers. Each player has a face-down pay-off (goal) pile; race to empty it. Shared centre build piles go up A→Q (Kings wild); complete a pile (Q) and it is recycled. On your turn play from hand, pay-off top, or four personal discard piles onto the centre; you must start each centre pile with an Ace. End your turn by discarding to one of your four discard piles. First to exhaust the pay-off pile wins.

Notes

Solitaire-flavoured competitive build game; reuses foundation "build up" logic with wild Kings. Good 2-player title that isn't a trick or rummy game.

TriPeaks

name TriPeaks
package M-x cg-tripeaks
players 1 (solitaire)
LoE S
engine pile-solitaire (waste-build)
links https://en.wikipedia.org/wiki/Tri_Peaks_(card_game)
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Deal 18 cards as three overlapping peaks over a row of 10 (28 on the board), rest is stock. Move an exposed board card to the waste if it is ±1 rank from the waste top (wrap A-K-A); chain as far as you can. Deal from stock when stuck. Clear the board to win; longer chains score more.

Notes

Same ±1 waste-build as Golf, on a peaks layout (renderer shares Pyramid's triangle). Combine Golf + TriPeaks behind one engine.

War

name War
package NA
players 2
LoE S
engine auto/compare
links https://en.wikipedia.org/wiki/War_(card_game)
added 2026-06-24
updated 2026-06-24

Rules

Split the deck in two face-down stacks. Both flip the top card; higher rank takes both. Tie = "war": each lays 3 face down + 1 up; higher up-card takes all (recurse on further ties). Collect all 52 to win.

Notes

Zero-decision auto-demo (like Beggar/Clock). Trivial; nice for animation and as the very first "two-player" engine smoke test.

Whist

name Whist
package M-x cg-whist
players 4 (partnership)
LoE M
engine trick (trump, no bid)
links https://en.wikipedia.org/wiki/Whist · https://www.pagat.com/whist/whist.html
added 2026-06-24
updated 2026-06-24

Rules

Standard 52, 4 players in 2 partnerships, deal 13 each; turn the dealer's last card up for trump (it joins their hand). No bidding. Follow suit; trump wins; highest of led suit otherwise. Score 1 point per trick over 6 ("the book"); honours variants optional. Game to 5 (short) or 9 (long).

Notes

The purest trick game — the trick engine with no bidding and a fixed trump. Easiest trick-game build; a good first proof of the shared trick resolver before Spades/Hearts add their twists.

Yukon

name Yukon
package M-x cg-yukon
players 1 (solitaire)
LoE S
engine tableau-solitaire
links https://en.wikipedia.org/wiki/Yukon_(solitaire)
added 2026-06-24
updated 2026-06-24

Rules

Standard 52. Like Klondike's seven columns, but all remaining cards are dealt face up onto the columns (no stock/waste). Build foundations up by suit A→K. Tableau builds down in alternating colour, but you may move any face-up card together with every card on top of it (the group need not be ordered). Empty columns take Kings (+ their pile).

Notes

Klondike layout with "grab-any-buried-group" moves and no stock — an S add-on once the Klondike tableau engine exists.

500 (Bid)

name 500 (Bid)
package card-games (M-x cg-bid)
players 4 (partnership); + live multiplayer
LoE H (done)
engine trick (trump+joker, bid, kitty)
links https://en.wikipedia.org/wiki/500_(card_game) · https://www.pagat.com/euchre/500.html
added 2026-06-23
updated 2026-06-24

Rules

Implemented: 43/45-card variant, 5-card kitty, Avondale bidding (suits + NT + misère/open misère), joker > right/left bower trump order, 10 tricks, front-door win at 500 on a made contract, back-door loss at -500. Networked host-authoritative live play (M-x cg-bid-host / cg-bid-join).

Notes

Already implemented (cg-bid.el, cg-bid-ui.el, cg-bid-net.el) with smart AI and SVG table UI. The reference trick implementation that Spades/ Hearts/Euchre/Whist will factor a shared engine out of.

Shared engines / clusters (build-planning view)

Games group by the engine they want, which drives the build order:

gaps-grid (DONE)
Montana, Hell's Half-Acre. Reusable for Concentration (face-down grid).
tableau-solitaire
Klondike → FreeCell, Canfield, Yukon, Forty Thieves, Scorpion, Spider (2-deck). One stock/waste/foundation/column engine; biggest single payoff (≥7 games, all solo, no user input).
pile-solitaire
Golf, TriPeaks (shared ±1 waste-build), Pyramid (sum-13), Clock (auto).
trick
500 (DONE, reference) → Whist (no bid) → Spades, Hearts (bid/ penalty + partnership) → Euchre, Oh Hell, Pitch, Napoleon, Briscola → Pinochle (adds meld). Factor a cg-trick base from cg-bid.
shedding/climbing
Crazy Eights → President.
rummy/meld
Gin → Rummy/500 Rum, Knock Rummy → Hand and Foot → Canasta. One meld-finder/scorer reused throughout.
fishing
Scopa, Casino (shared capture-by-value engine).
auto (zero-decision)
War, Beggar-My-Neighbour, Clock, Snap (Snap adds timed input).
own scorer
Cribbage (15s/pairs/runs/flush counter).
stock-race
Spite and Malice.

Build priorities (no user input needed · unlocks others · popular)

  1. tableau-solitaire engine + Klondike, FreeCell, Spider — solo, no input, hugely popular, unlocks Canfield/Yukon/Forty Thieves/Scorpion.
  2. trick engine + Spades and Hearts — most popular trick games, reuse the 500 machinery, unlock Euchre/Whist/Oh Hell/Pitch.
  3. Crazy Eights — popular, self-contained, unlocks President.
  4. pile-solitaire + Golf/TriPeaks; Cribbage; then the rummy and fishing clusters.