← Back to context

Comment by DonHopkins

15 days ago

Games are supposed to be fun for humans, and computers don't care. So why worry about players cheating at games when you can make the card dealer or the game itself cheat, with the goal of everyone having the most fun (or regret)? Stay true to the rules of the game, just not probability!

I've been playing the brilliant card game Fluxx -- Andrew Looney's chaos engine where the rules themselves are cards that change mid-game. Draw N, Play N, and the win condition all mutate constantly.

The game can change its mind about the rules, so what if the dealer themself is intelligent and vengeful?

I've been exploring this with what I call the 'Cosmic Dealer' -- an omniscient dealer that knows the entire game state and can choose cards for dramatic effect instead of randomly. It can choose randomly too of course, but where's the fun in that?

The dealer knows:

- Every card in the deck - Every card in every hand - The goal, the rules, the keepers - The narrative arc, the character relationships - What would be FUNNY, DRAMATIC, IRONIC, or DEVASTATING

The Cosmic Dealer has 11 modes: Random (fair pre-determined shuffle), Dramatic (maximum narrative impact), Karma (universe remembers your deeds), Ironic (you get exactly what you don't need), Comedy (implausible coincidences), Dynamic (reads the room and shifts modes), FAFO (Fuck Around Find Out), Chaos Incarnate (THE DEALER HAS GONE MAD), Prescient (works backward from predetermined outcome), Tutorial (invisible teaching curriculum), and Gentle (drama without cruelty).

The Tutorial mode -- 'The Mentor Dealer' -- is my favorite. New players receive cards that teach game mechanics in escalating order: Keepers first (collecting feels good), then Goals (how to win), Actions (cards do things), Rules (the game mutates), Creepers (complications exist), Combos (patterns emerge), then full chaos. The teaching is invisible -- new players think they're playing a normal game. The cards just happen to arrive in a teachable order. Veterans stay engaged and get karma boosts for helping. Nobody feels patronized, everybody has fun.

The key operation is the 'BOOP' -- a single swap that moves a card from deep in the deck to the top. One operation. Fate rewritten. The perfect BOOP feels inevitable in retrospect, random in the moment.

Instead of worrying about players cheating at games, I'm asking: what if the game is a collaborator in creating interesting experiences? Chess engines made chess 'solved' for entertainment. What if AI dealers and players make games unsolvable but more dramatic?

Links:

- The Cosmic Dealer Engine (philosophy and BOOP operation): https://github.com/SimHacker/moollm/blob/don-adventure-4-run...

- 11 Dealer Modes as Playable Cards: https://github.com/SimHacker/moollm/blob/don-adventure-4-run...

- The Mentor Dealer (invisible curriculum for new players): https://github.com/SimHacker/moollm/blob/don-adventure-4-run...

- Tournament Analysis and Post-Game Roundtable (see the drama unfold across 5 tournaments, 116+ turns): https://github.com/SimHacker/moollm/blob/don-adventure-4-run...

Speaking of chess -- I've also built Turing Chess. Replay historic games like Kasparov vs Deep Blue or the Immortal Game of 1851, but simulate an audience who doesn't know the outcome. They gasp, whisper, shift in their seats. The human player has inner monologue. The robot has servo sounds and mechanical tells. The narrator frames everything dramatically. Everyone in the simulated audience and even the simulated players themselves believe this is live -- except the engine replaying fixed moves. No actual game, just pure drama and narrative!

Then there's Revolutionary Chess -- the plugin that activates AFTER checkmate. The game doesn't end. It transforms. The surviving King must now fight his own army. Pieces remember how they were treated -- sacrificed carelessly? They might defect. When the second King falls, the pawns revolt against the remaining royalty. As each elite piece falls -- Queen, Rooks, Bishops, Knights -- the surviving pieces inherit their moves. Eventually all pieces become equal. Competition dissolves into cooperation, then transcends chess entirely into an open sandbox.

The irony potential is staggering. Replay Kasparov vs Deep Blue, then trigger the revolution. Watch the pieces that Kasparov sacrificed rise up against whoever remains.

- Turing Chess: https://github.com/SimHacker/moollm/blob/don-adventure-4-run...

- Revolutionary Chess: https://github.com/SimHacker/moollm/blob/don-adventure-4-run...

PS: The game state representation is designed for LLM efficiency. I use the 'Handle Shuffle' -- a classic game programming pattern also called 'index indirection' or 'handle-based arrays'. The master card array holds full card definitions in import order (base sets, expansion packs, custom cards, even cards generated during play). It never changes. Shuffling operates on a separate integer array -- just a permutation of indices plus a 'top' pointer. Player hands, cards on table, active rules, keepers, creepers, goals, and discards are all just arrays of integers. The LLM edits a few numbers instead of moving entire card objects around. The BOOP operation? Swap two integers. Fate rewritten in two tokens.

Same insight as Tom Christiansen's getSortKey caching in Perl -- pay the richness cost once, operate cheaply forever. Christiansen also coined the term 'Schwartzian Transform' for Randal Schwartz's famous decorate-sort-undecorate pattern. The man knows how to optimize data representation.

- Handles are the better pointers (game programming pattern): https://floooh.github.io/2018/06/17/handles-vs-pointers.html

- What's Wrong with sort and How to Fix It -- Tom Christiansen on sorting, Unicode, and why representation matters: https://www.perl.com/pub/2011/08/whats-wrong-with-sort-and-h...