Playable on itch.io

The Last Wager

Luck is the decoy. The real game is reading the AI.

Outwit your opponent in a high-stakes gambling duel where nerve beats luck. Watch the AI heartbeat monitor to read their hand, then survive Debt Mode if your chips hit zero.

01

See it running

02

The short version

  • Solo Godot card game reimagining Kaiji's "E-Card" duel as a top-down, Balatro-style prototype.
  • Tension comes from reading the opponent, not luck — a heartbeat monitor is your only window into a lying AI.
  • Asymmetric betting (Slave pays X, AI pays 5X) plus Debt Mode permadeath raise the stakes.
  • All card logic lives in one readable core file (ui.gd); 44 shaders carry the mood.
  • Honest gaps: no tutorial, heartbeat is currently decorative, known comparison/draw-loop bugs documented.
  • Live and playable on itch.io.
03

What it does

  • Emperor > Citizen > Slave > Emperor card triangle (rock-paper-scissors circle)
  • Asymmetric betting: Slave role pays X, AI pays X×5; Emperor role reversed
  • Heartbeat Monitor bluff system, AI BPM can lie, pot size raises the stakes
  • Debt Mode, sign a wax-sealed contract, multi-sensory pressure, permadeath if you lose
  • 3-opponent gauntlet (The Crook, The Right Hand, The Boss) with side-switching every 3 rounds
04

The thought

The Last Wager reimagines Kaiji's "E-Card" duel from Kaiji: Ultimate Survivor as a top-down, Balatro-style prototype. I wanted a gambling duel where the tension comes from reading your opponent, not from luck, a game of nerve where a single heartbeat monitor is your only window into a lying AI.

05

Mechanics

You play twelve rounds against the Emperor using three card types in a Citizen > Slave > Emperor > Citizen circle (rock-paper-scissors). Each turn: drag a card from your hand into the slot, place a bet (1 / 5 / All-In), then Lock In. Cards flip and compare, the loser explodes. Every three matches you swap sides (Slave ↔ Emperor), which flips the bet multipliers. If you run out of chips mid-match, you take a loan and drop into Debt Mode.

06

Systems

Betting is asymmetric. As the Slave you pay X and the AI pays 5X; as the Emperor those roles reverse. You face a gauntlet of three opponents, each with its own risk, bluff, and accuracy profile. The signature system is the Heartbeat Monitor. BPM maps to card type (Emperor = 40 calm, Citizen = 65, Slave = 100), but accuracy varies per opponent, so the AI can fake a calm Emperor or a nervous Citizen. Bigger pots raise the anxiety. Debt Mode is the fail state: a Shepard tone, tinnitus, chromatic aberration, and hit-distortion pile on the pressure. You must win a round to escape, or face permadeath.

07

Under the hood

The card logic lives in one honest core file (ui.gd, ~1058 lines) that owns betting, comparison, payout, debt, and round flow, I resisted splitting it prematurely, so the rules stay in one place you can actually read. Around it, main.tscn is the scene root: CardManager routes audio, playerhand/opponenthand hold the two hands, and a Control-based ui node carries the overlays (slave_win, emperor_wins, accept_loan_screen, heartbeatmonitor). Cards move through a clear drag-and-drop state machine (IN_HAND → PLACING → PLACED → EXPLODING) with wobble, peek, and flip tweens. 44 shader files carry the mood, foil, chromatic aberration, CRT, heartbeat, hurt, spotlight, and a MusicManager autoload keeps the BGM playing across scene reloads.

08

Controls

Drag cards & place betsMouse
Bet / Lock InMouse
09

What I would do differently

To make this commercial I would give the Heartbeat Monitor a real mechanical hook, letting the player Call a bluff or Fold instead of only watching it. I would also add a short tutorial and a post-campaign mode or branch so beating the three opponents is not a dead end. The hover-lock during the Lock In window is the one fix I would port forward first.

Need something like this built?

Tell me what the system has to do and where it sits. I'll tell you what that takes, or say straight away if it isn't a fit.