Balatro! It’s the hot new indie darling. It shifted
a million copies in a month, it’s been streamed
by pretty much everyone on Twitch, and it’s one of the top-rated games of 2024 so far. I’ve also played it... quite a bit. But, this game has,
according to its own designer, a “fundamental design flaw”. A “cursed problem” that the designer has been
unable to solve. Let me explain. First, if you somehow haven’t
played Balatro, it’s a card game about trying
to find poker hands in order to score points. Better hands score bigger points. But on top of that, you can do all sorts of wily tricks
to boost your score. Special cards rack up more points. Crazy joker cards change
the rules of the game. And you can stack your deck,
or toss away cards, to make certain hands more happenable. It’s a really fun game. A sublime, synergistic slot machine
that feels fun to play, and is even more fun to break. It’s also really elegantly designed with its clean UI,
straightforward concept, and, well, just how much depth has been squeezed
out of a few key systems. But there’s one…
interesting design choice in there. And it’s this: the game doesn’t tell you
how many points you’re going to score before you play your hand. You simply pick your cards,
cross your fingers, and hit go. Now, this would be really
quite helpful information. It could tell you to play one hand
over another. It could tell you if you’re about to
scrape past the ante or miss it by a few points. It could tell you if you’re about
to win the entire game or lose the whole thing
and have to start from scratch. And yet… Balatro doesn’t give you a,
let’s call it a "score preview". Of course, this was
an entirely intentional design choice. LocalThunk, the game’s anonymous
Canadian designer, has explained that, for him, the joy of Balatro lives in
that precise moment I just described. When you cross your fingers
and hit play. When you’ve set up
your point-scoring engine and hope that it will
bring home the bacon. LocalThunk says: “My personal belief is
that the game is more fun when you set up your Rube Goldberg machine
and watch it go before knowing whether or not
the hand will win the round.” And Balatro totally plays into this! There’s so much hype and pageantry
after playing your hand. The numbers tick up,
with escalating sound effects. Each card and joker steps forward
in turn to add their points to the total. If you’re lucky,
the score multiplier will set on fire and start to burn hotter and hotter with each multiplication. And so, if you already knew
how many points you were going to get. If a bit of UI had
pre-calculated the score and told you that you were going to
win the ante with this hand… well none of that would matter. In fact, it would just get in the way. This is not the only reason
to forgo a score preview, mind. It would also add cruft to the UI, especially when you need to account
for cards that have random properties. How do you elegantly show
a range of possible scores? It would slow the game down, incentivising players to check
every possible hand to find
the highest-scoring combination. And it would change the entire feel, from a chill game about
vibing with cards to a stern spreadsheet-style
strategy game. And so this is a totally legit
game design decision, right? Every game designer has to choose how much information
to give to the player. Like, should you show
a boss’s health bar, or keep it hidden? Should enemies come
up with their strategies in secret, or should their intent be explained
to the player? As I’ve explored in
various other videos, how much information
a player has will change their behaviour,
and change the way the game feels. And so, Balatro hides its score preview
to make players act more quickly and to create
a feeling of suspense and drama whenever you play a hand. LocalThunk had an experience in mind and picked mechanics
that would nudge players towards that feeling. A smart design choice. However! Balatro is not like those other games
I just showed. Because while the score preview is
hidden from the player… the information is still
technically available! Because you can just…
you can just calculate it yourself. So, like…. a straight is worth
30 chips and 4 mult. These cards are going to add an extra 10, 20, 30, 39, 47 chips, and then the two face cards will add
another 30 each thanks to this joker. So that’s 137 chips times 4… 548. Not quite enough to beat the ante, but close. And so,
if information in a game can be hidden, or visible… Balatro’s score preview falls
into a weird half category: hidden, but attainable
if you really want it. And that’s the fundamental design flaw
at the heart of Balatro. The designer wants the excitement
of a slot machine, but also the numerical predicability of an Excel spreadsheet. And so the only way
to square that circle is to hope that players won’t bother
to calculate the final score. But, if we go back to
that timeless Soren Johnson quote: “Given the opportunity,
players will optimize the fun out of a game.” It shouldn’t be surprising that
a number of Balatro players are playing the game with the calculator app
open on their phone, or with a spreadsheet
set up on a second monitor, or with Steam’s in-game overlay showing a bespoke website
that calculates Balatro hands. And, actually this is exactly why
Balatro has a deck view. During playtesting,
the game did not show you which cards were left in your deck. But, playtesters could technically
get that information by tracking which cards
had already been played. And after polling users, LocalThunk found
that many were doing just that even though it really wasn’t much fun. So he added
a powerful deck peek feature. But a score preview felt different. It felt like it encroached upon
the DNA of the game. It stepped on the stuff
that made Balatro… Balatro. And so,
while the designer is empathetic to people who wish to
play more strategically. And is bummed out that
the optimum way to play involves busywork, and doing calculations
outside of the game, he worries that adding
a score preview would spoil the fun for those who wish to play
more casually. And that’s totally true! Making a game better for one group
can make it worse for another. As a designer, you need to be certain
who the game is for and then protect that player base
from certain design decisions. Even if that design decision is provided
merely as an option. Speaking on the Eggplant podcast,
LocalThunk says: “If I add an option
to have this score preview, people are just going to click on it, and they're not going to experience
the game that I wanted to create.” And besides, should a designer even have
to endorse an option that directly goes against
their intentions for the game? LocalThunk has been clear
that he made the game for himself and isn’t interested in changing the game for other people. Even if there are a million of them. But, here’s the rub. It’s one thing to make
a bold design choice and then stand by it, for
the betterment of the game. To shun the haters
and stick by your design. But that doesn’t really work if there’s a way for players
to find a way around your choice, no matter how tedious
that loophole might be. And we know this! Because this is not the first time
this has happened to a game. In fact, it’s not even the first time
it’s happened to an extremely popular roguelike. Enter The Binding of Isaac. So this basement-dwelling
dungeon crawler is packed with powerful
items and upgrades… but the game doesn’t tell you
what they do. They just have a name, or a cryptic tagline, or maybe just three question marks. The game’s designer, Edmund McMillen,
did this on purpose to create
a feeling of mystery, similar to the sensation he got
when playing games as a kid like the original Legend of Zelda. He described that game by saying: “You weren't sure what things did
until you experimented with them, and you had to brainstorm
with your friends and put all your findings together
in order to progress.” And so to mimic
that mysterious sensation in Isaac, the items are deliberately left
unexplained. You’ll need to pick things up,
try them, and puzzle out their properties. Finding a new item
should lead to curiosity, experimentation, and surprise. And that worked… for about five seconds. And then people figured out
what all the items did and put that information up on wikis
and other websites. Want to know what
this weird little thing will do? Just find it on Platinum God and mouse over it
for a full description. So, like Balatro, McMillen chose to hide information
to create a certain feeling. But because that information is
technically attainable this time with a Google search
rather than a spreadsheet, a number of players ended up
playing the game in a completely different way
than the designer intended. Arguably, a worse way. And so after multiple DLC packs
which added hundreds of new pick-ups, this has become, basically, the defacto way to play
The Binding of Isaac. McMillen says:
“People would always say, 'You can't play Isaac
without a browser open on your phone.' I hated that that's how everyone played
for so long... and still play." In fact,
he’s described the lack of item descriptions as the biggest flaw
with Binding of Isaac. This design choice has
basically haunted him in the years since Isaac’s release. And in a post in 2023,
McMillen has said that he’s considering finally adding
item descriptions into the game as an optional feature. Perhaps deciding that it’s better
to support them officially than players having a worse time
with your game because of the way you designed it. And I wonder if something similar
might happen with Balatro. Now, I don’t think the two examples are
exactly the same. I agree that Balatro is more fun to play
without score previews and I’ve never once thought
to pre-calculate a score in the 30-odd hours
I’ve played the game. This issue only really affects
a small portion of the game’s most hardcore,
strategy-minded audience. But over time,
as the game’s long tail stretches out, I think this decision might come
to haunt the developer, just like Isaac’s item descriptions. But, if you’re watching LocalThunk, I think there are ways to provide this
as an option to these players… without spoiling the game
for everyone else. For one, a score preview is only needed by players who are incredibly invested
in the game, so the option could be granted
as a late-game unlock, and not as something
you can switch on from the word go. Kinda like how Chrono Cross has
a fast-forward button, but it only unlocks
after you’ve beaten the game. The option could also be
clearly communicated to the player, like how Celeste prefaces
its powerful assist mode with a message that explains
who this option is for. Or how Heat Signature politely asks you
to not turn off Permadeath, please, it’s there for a reason. Or Balatro could open itself up
to mods, so users can hack
their own score preview into the game, without the developer needing to
officially support it. This is actually what
happened to Isaac. The ‘External Item Descriptions’ mod is
the most popular Isaac add-on in the game’s Steam workshop,
with almost 2 million subscribers. That’s not great for console players,
though. So it could instead be provided
as a cheat code, so players have to actively seek
this thing out, rather than stumble onto it
as an innocuous option in the menu. As I’ve discussed in my
videos about accessibility, there are plenty of ways
to open a game up to a wider audience, without necessarily spoiling it
for the target group of players. Whatever LocalThunk decides to do, this has proven to be
a fascinating game design case study. About how you can change
how a game feels, by changing how much information
you give to the player. About how players won’t always act
in the way you want them to, especially if you
leave open a loophole. And about how the best intentions
in game design sometimes have to change, when you see how players
actually interact with your game. I’ll be curious to see
what happens with Balatro. For now, check out this video
on heads-up displays, where I talk more
about how information can change the way a player acts and feels. Thanks for watching.