We built learning agents of five different kinds, trained some of them on millions of hands, and pushed hard to find a strategy that turns a profit against the house. The short answer is the one casinos are built on: no. But the way it fails is the interesting part, and it reshapes what the game is actually about.
Play every hand by the textbook and never vary your bet, exactly what a lookup table learns, and you lose about half a percent of every dollar wagered. Our simulated table returned about −0.4% per hand, right where the gambling literature puts a standard Las Vegas game. Perfect play does not win; it just loses slowly.
Give a neural network the discard tray (how many of each card have been dealt) and, with enough training, it discovers on its own that a deck rich in high cards is worth betting more on. Real counting, learned from nothing. But the payoff is tiny and buried in noise. We built two counters to see it:
Over 1,000 simulated sessions of 300 hands each, from a $10,000 stack, neither turned a profit:
| Over 1,000 games | Average end | Net / game | Went broke |
|---|---|---|---|
| BlackJackKing | $8,532 | −$1,468 | 32% |
| BlackJackSage | $9,369 | −$631 | 0.2% |
The lesson in one line: variance is not an edge. King finished ahead on most nights and even won more head-to-head sessions, yet lost the most money, because his 32% of busts each wiped out a full stack. A high ceiling on top of a losing average is still a losing game.
We let the counters bet from $1 all the way to $1,000 and sit down with $10,000, so a bad streak could not wipe them out, then trained fourteen of them hard. Every single one reached the same conclusion and bet the table minimum. Given the freedom to leverage a rich deck, they declined, because betting big on hands that are not truly favorable only loses faster. The learner was smart enough to know it had no edge to press.
To find out whether the wall was counting or playing, we gave the models the exact card count directly, no discovery required. The best one learned a textbook bet ramp, flat until the deck got rich, then scaling up. But measured over hundreds of thousands of hands it still came out slightly behind, about $9,960 on a $10,000 stack. A perfect count was necessary but not sufficient.
This matches the advantage-play literature closely. A counter's edge is genuinely small (roughly half a percent to one and a half percent under good conditions) and it is dwarfed by variance, you need hundreds of thousands of hands just to measure it. Winning for real also takes tools our game leaves out: strategy deviations that depend on the count, and taking insurance when the deck is rich. Without them, correctly timed big bets still are not enough.
Since nobody, human or machine, reliably beats the house at this game, that is not the contest. The real contest is this: build the model that most outplays the simple lookup bot, the naive player that memorizes basic strategy and flat-bets every hand.
That is a target you can actually hit. A model that learns to bet a little more when the deck is rich, or that plays a shade better, will finish ahead of the flat bot over a long run of hands. Load the lookup bot as your opponent on the Tournament page (or add it as a House Bot) and see how far past it your design can get. Everyone trains under the same rules, so the fight is fair, and beating the bot, not beating the casino, is how you win.
A few house games can be beaten by a skilled player, always by a thin margin and always with effort: blackjack by counting (what we simulated), certain full-pay video poker machines where perfect play returns just over 100%, sharp sports betting against the book, progressive jackpots once the meter climbs high enough, and the occasional promotion. Everything with no memory and a fixed payout, roulette, craps, baccarat played straight, slots, is unbeatable by any betting system. The through-line is the same one this project taught us: you can only win when the game leaks exploitable information or misprices a payout, and even then the edge is small and the variance is large.