Bête

A short roguelike roulette game where you pay your debts with the rest of your life.

the table
the table

what it is

You owe the Dealer six escalating installments, and the only thing you can bargain with is the rest of your life. Stake years on a spin to bend the wheel toward your bets, keep them if you come out even or ahead, lose them if you don't.

I made it for a game jam, then rebuilt it from the ground up afterwards. Inspired by Balatro, and by Doggerism for the music idea.

how a run goes

  • Six installments, each with a target to reach within 8 spins. Hit it early and collect for a bonus on every unused spin. Fall short and the Dealer takes the difference in years
  • Normal roulette table and payouts, and stacking even-money bets of the same size earns a cover bonus
  • Stake up to 10 years on a spin for luck
  • Between installments you go to the Back Room to buy charms with chips or with years, sell them, reroll the offers, or sell years for chips
  • Two bosses: installment 3 runs at midnight, and the last one is played on a double-zero wheel

how it's built

The whole game model lives in plain code with no engine dependency, covered by 256 tests that run in about two seconds without Unity, plus a balance simulator that plays thousands of runs with scripted players. The interface is built entirely in code on a 640x360 grid shown at 3x. The pixel art and all 66 sound effects come out of Python scripts.

There's also a play-testing harness that drives a built copy of the game with a virtual mouse and keyboard, checks that every button did what it should, and flags any overlapping text.