0:00:00.340,0:00:01.193 Balatro! 0:00:01.240,0:00:03.573 It’s the hot new indie darling. 0:00:03.660,0:00:06.233 It shifted[br]a million copies in a month, 0:00:06.234,0:00:09.292 it’s been streamed[br]by pretty much everyone on Twitch, 0:00:09.422,0:00:13.564 and it’s one of the top-rated games of 2024 so far. 0:00:13.824,0:00:14.885 I’ve also played it... 0:00:15.133,0:00:16.167 quite a bit. 0:00:16.273,0:00:19.856 But, this game has,[br]according to its own designer, 0:00:19.968,0:00:22.749 a “fundamental design flaw”. 0:00:23.346,0:00:27.534 A “cursed problem” that the designer has been[br]unable to solve. 0:00:28.459,0:00:29.386 Let me explain. 0:00:30.277,0:00:33.181 First, if you somehow haven’t[br]played Balatro, 0:00:33.335,0:00:36.275 it’s a card game about trying[br]to find poker hands 0:00:36.361,0:00:37.806 in order to score points. 0:00:38.005,0:00:40.005 Better hands score bigger points. 0:00:40.114,0:00:41.511 But on top of that, 0:00:41.585,0:00:45.235 you can do all sorts of wily tricks[br]to boost your score. 0:00:45.381,0:00:47.634 Special cards rack up more points. 0:00:47.805,0:00:51.131 Crazy joker cards change[br]the rules of the game. 0:00:51.374,0:00:54.391 And you can stack your deck,[br]or toss away cards, 0:00:54.571,0:00:57.076 to make certain hands more happenable. 0:00:57.644,0:00:59.401 It’s a really fun game. 0:00:59.553,0:01:04.179 A sublime, synergistic slot machine[br]that feels fun to play, 0:01:04.293,0:01:06.101 and is even more fun to break. 0:01:06.214,0:01:08.658 It’s also really elegantly designed 0:01:08.788,0:01:11.366 with its clean UI,[br]straightforward concept, 0:01:11.393,0:01:12.452 and, well, 0:01:12.600,0:01:17.084 just how much depth has been squeezed[br]out of a few key systems. 0:01:17.365,0:01:20.549 But there’s one…[br]interesting design choice in there. 0:01:20.779,0:01:21.653 And it’s this: 0:01:21.794,0:01:25.413 the game doesn’t tell you[br]how many points you’re going to score 0:01:25.541,0:01:27.017 before you play your hand. 0:01:27.404,0:01:31.575 You simply pick your cards,[br]cross your fingers, and hit go. 0:01:32.181,0:01:35.556 Now, this would be really[br]quite helpful information. 0:01:35.863,0:01:39.231 It could tell you to play one hand[br]over another. 0:01:39.416,0:01:42.871 It could tell you if you’re about to[br]scrape past the ante 0:01:43.091,0:01:45.032 or miss it by a few points. 0:01:45.194,0:01:48.218 It could tell you if you’re about[br]to win the entire game 0:01:48.528,0:01:51.726 or lose the whole thing[br]and have to start from scratch. 0:01:51.931,0:01:52.591 And yet… 0:01:52.636,0:01:57.814 Balatro doesn’t give you a,[br]let’s call it a "score preview". 0:01:58.303,0:02:02.471 Of course, this was[br]an entirely intentional design choice. 0:02:02.698,0:02:06.183 LocalThunk, the game’s anonymous[br]Canadian designer, 0:02:06.357,0:02:07.896 has explained that, for him, 0:02:08.063,0:02:13.410 the joy of Balatro lives in[br]that precise moment I just described. 0:02:13.505,0:02:15.725 When you cross your fingers[br]and hit play. 0:02:15.976,0:02:18.644 When you’ve set up[br]your point-scoring engine 0:02:18.851,0:02:21.302 and hope that it will[br]bring home the bacon. 0:02:21.519,0:02:26.201 LocalThunk says: “My personal belief is[br]that the game is more fun when you set up 0:02:26.202,0:02:29.010 your Rube Goldberg machine[br]and watch it go 0:02:29.230,0:02:32.925 before knowing whether or not[br]the hand will win the round.” 0:02:33.345,0:02:35.892 And Balatro totally plays into this! 0:02:36.025,0:02:39.752 There’s so much hype and pageantry[br]after playing your hand. 0:02:40.056,0:02:43.134 The numbers tick up,[br]with escalating sound effects. 0:02:43.283,0:02:46.329 Each card and joker steps forward[br]in turn 0:02:46.469,0:02:48.231 to add their points to the total. 0:02:48.484,0:02:51.911 If you’re lucky,[br]the score multiplier will set on fire 0:02:52.051,0:02:54.310 and start to burn hotter and hotter 0:02:54.450,0:02:56.195 with each multiplication. 0:02:56.544,0:02:59.846 And so, if you already knew[br]how many points you were going to get. 0:02:59.886,0:03:03.350 If a bit of UI had[br]pre-calculated the score 0:03:03.390,0:03:06.534 and told you that you were going to[br]win the ante with this hand… 0:03:06.746,0:03:08.060 well none of that would matter. 0:03:08.113,0:03:10.114 In fact, it would just get in the way. 0:03:10.806,0:03:13.931 This is not the only reason[br]to forgo a score preview, mind. 0:03:14.078,0:03:16.145 It would also add cruft to the UI, 0:03:16.365,0:03:20.156 especially when you need to account[br]for cards that have random properties. 0:03:20.396,0:03:25.037 How do you elegantly show[br]a range of possible scores? 0:03:25.353,0:03:26.923 It would slow the game down, 0:03:27.117,0:03:30.195 incentivising players to check[br]every possible hand 0:03:30.355,0:03:32.551 to find[br]the highest-scoring combination. 0:03:32.671,0:03:34.682 And it would change the entire feel, 0:03:34.771,0:03:37.692 from a chill game about[br]vibing with cards 0:03:37.818,0:03:41.349 to a stern spreadsheet-style[br]strategy game. 0:03:41.679,0:03:45.934 And so this is a totally legit[br]game design decision, right? 0:03:46.154,0:03:47.832 Every game designer has to choose 0:03:47.952,0:03:50.238 how much information[br]to give to the player. 0:03:50.399,0:03:53.408 Like, should you show[br]a boss’s health bar, 0:03:53.561,0:03:55.060 or keep it hidden? 0:03:55.714,0:03:58.260 Should enemies come[br]up with their strategies in secret, 0:03:58.373,0:04:01.241 or should their intent be explained[br]to the player? 0:04:01.541,0:04:04.108 As I’ve explored in[br]various other videos, 0:04:04.289,0:04:06.120 how much information[br]a player has 0:04:06.300,0:04:10.253 will change their behaviour,[br]and change the way the game feels. 0:04:10.776,0:04:15.568 And so, Balatro hides its score preview[br]to make players act more quickly 0:04:15.772,0:04:18.595 and to create[br]a feeling of suspense and drama 0:04:18.776,0:04:20.107 whenever you play a hand. 0:04:20.359,0:04:22.814 LocalThunk had an experience in mind 0:04:22.948,0:04:24.894 and picked mechanics[br]that would nudge players 0:04:25.089,0:04:26.450 towards that feeling. 0:04:26.669,0:04:28.296 A smart design choice. 0:04:28.890,0:04:29.658 However! 0:04:30.024,0:04:33.548 Balatro is not like those other games[br]I just showed. 0:04:33.674,0:04:37.472 Because while the score preview is[br]hidden from the player… 0:04:37.705,0:04:41.219 the information is still[br]technically available! 0:04:41.339,0:04:44.056 Because you can just…[br]you can just calculate it yourself. 0:04:44.442,0:04:48.992 So, like…. a straight is worth[br]30 chips and 4 mult. 0:04:49.258,0:04:51.351 These cards are going to add an extra 0:04:51.545,0:04:55.129 10, 20, 30, 39, 47 chips, 0:04:55.214,0:04:58.678 and then the two face cards will add[br]another 30 each 0:04:58.852,0:04:59.783 thanks to this joker. 0:04:59.863,0:05:02.988 So that’s 137 chips times 4… 0:05:03.468,0:05:04.994 548. 0:05:05.118,0:05:07.031 Not quite enough to beat the ante, 0:05:07.164,0:05:07.924 but close. 0:05:08.236,0:05:10.951 And so,[br]if information in a game can be 0:05:11.018,0:05:12.737 hidden, or visible… 0:05:13.003,0:05:16.963 Balatro’s score preview falls[br]into a weird half category: 0:05:17.270,0:05:21.032 hidden, but attainable[br]if you really want it. 0:05:21.379,0:05:25.318 And that’s the fundamental design flaw[br]at the heart of Balatro. 0:05:25.525,0:05:28.805 The designer wants the excitement[br]of a slot machine, 0:05:28.978,0:05:31.500 but also the numerical predicability 0:05:31.500,0:05:32.793 of an Excel spreadsheet. 0:05:33.060,0:05:35.801 And so the only way[br]to square that circle 0:05:35.967,0:05:40.630 is to hope that players won’t bother[br]to calculate the final score. 0:05:40.963,0:05:44.912 But, if we go back to[br]that timeless Soren Johnson quote: 0:05:45.052,0:05:48.858 “Given the opportunity,[br]players will optimize the fun out of a game.” 0:05:49.171,0:05:52.217 It shouldn’t be surprising that[br]a number of Balatro players 0:05:52.544,0:05:55.769 are playing the game with the calculator app[br]open on their phone, 0:05:55.956,0:05:59.027 or with a spreadsheet[br]set up on a second monitor, 0:05:59.174,0:06:01.265 or with Steam’s in-game overlay 0:06:01.392,0:06:05.388 showing a bespoke website[br]that calculates Balatro hands. 0:06:05.682,0:06:10.617 And, actually this is exactly why[br]Balatro has a deck view. 0:06:10.840,0:06:13.510 During playtesting,[br]the game did not show you 0:06:13.657,0:06:15.669 which cards were left in your deck. 0:06:15.902,0:06:20.148 But, playtesters could technically[br]get that information 0:06:20.261,0:06:22.601 by tracking which cards[br]had already been played. 0:06:22.961,0:06:24.461 And after polling users, 0:06:24.641,0:06:27.587 LocalThunk found[br]that many were doing just that 0:06:27.787,0:06:30.021 even though it really wasn’t much fun. 0:06:30.114,0:06:33.124 So he added[br]a powerful deck peek feature. 0:06:33.578,0:06:36.258 But a score preview felt different. 0:06:36.325,0:06:39.886 It felt like it encroached upon[br]the DNA of the game. 0:06:39.986,0:06:42.048 It stepped on the stuff[br]that made Balatro… 0:06:42.550,0:06:43.355 Balatro. 0:06:43.582,0:06:45.592 And so,[br]while the designer is empathetic 0:06:45.593,0:06:48.177 to people who wish to[br]play more strategically. 0:06:48.417,0:06:52.987 And is bummed out that[br]the optimum way to play involves busywork, 0:06:53.067,0:06:56.119 and doing calculations[br]outside of the game, 0:06:56.319,0:06:59.816 he worries that adding[br]a score preview would spoil the fun 0:07:00.003,0:07:02.029 for those who wish to play[br]more casually. 0:07:02.335,0:07:03.914 And that’s totally true! 0:07:04.108,0:07:08.425 Making a game better for one group[br]can make it worse for another. 0:07:08.638,0:07:12.078 As a designer, you need to be certain[br]who the game is for 0:07:12.238,0:07:16.224 and then protect that player base[br]from certain design decisions. 0:07:16.524,0:07:20.512 Even if that design decision is provided[br]merely as an option. 0:07:20.705,0:07:24.147 Speaking on the Eggplant podcast,[br]LocalThunk says: 0:07:24.315,0:07:26.752 “If I add an option[br]to have this score preview, 0:07:26.859,0:07:28.630 people are just going to click on it, 0:07:28.770,0:07:32.171 and they're not going to experience[br]the game that I wanted to create.” 0:07:32.337,0:07:36.716 And besides, should a designer even have[br]to endorse an option 0:07:36.717,0:07:39.731 that directly goes against[br]their intentions for the game? 0:07:39.944,0:07:43.287 LocalThunk has been clear[br]that he made the game for himself 0:07:43.494,0:07:46.675 and isn’t interested in changing the game for other people. 0:07:46.929,0:07:49.919 Even if there are a million of them. 0:07:50.593,0:07:52.024 But, here’s the rub. 0:07:52.271,0:07:54.591 It’s one thing to make[br]a bold design choice 0:07:54.638,0:07:58.261 and then stand by it, for[br]the betterment of the game. 0:07:58.395,0:08:01.290 To shun the haters[br]and stick by your design. 0:08:01.479,0:08:03.556 But that doesn’t really work 0:08:03.929,0:08:07.739 if there’s a way for players[br]to find a way around your choice, 0:08:07.792,0:08:10.747 no matter how tedious[br]that loophole might be. 0:08:11.020,0:08:12.066 And we know this! 0:08:12.153,0:08:15.897 Because this is not the first time[br]this has happened to a game. 0:08:16.024,0:08:18.605 In fact, it’s not even the first time[br]it’s happened 0:08:18.752,0:08:21.132 to an extremely popular roguelike. 0:08:21.270,0:08:23.405 Enter The Binding of Isaac. 0:08:23.775,0:08:26.174 So this basement-dwelling[br]dungeon crawler 0:08:26.247,0:08:28.822 is packed with powerful[br]items and upgrades… 0:08:29.049,0:08:31.814 but the game doesn’t tell you[br]what they do. 0:08:32.060,0:08:33.892 They just have a name, 0:08:34.106,0:08:35.892 or a cryptic tagline, 0:08:35.998,0:08:38.563 or maybe just three question marks. 0:08:38.943,0:08:41.791 The game’s designer, Edmund McMillen,[br]did this on purpose 0:08:41.844,0:08:43.952 to create[br]a feeling of mystery, 0:08:44.038,0:08:47.053 similar to the sensation he got[br]when playing games as a kid 0:08:47.132,0:08:49.343 like the original Legend of Zelda. 0:08:49.494,0:08:51.065 He described that game by saying: 0:08:51.278,0:08:54.658 “You weren't sure what things did[br]until you experimented with them, 0:08:54.715,0:08:56.471 and you had to brainstorm[br]with your friends 0:08:56.505,0:08:59.887 and put all your findings together[br]in order to progress.” 0:09:00.153,0:09:03.308 And so to mimic[br]that mysterious sensation in Isaac, 0:09:03.413,0:09:06.113 the items are deliberately left[br]unexplained. 0:09:06.269,0:09:08.784 You’ll need to pick things up,[br]try them, 0:09:08.851,0:09:10.824 and puzzle out their properties. 0:09:10.944,0:09:14.002 Finding a new item[br]should lead to curiosity, 0:09:14.275,0:09:16.720 experimentation, and surprise. 0:09:17.220,0:09:18.109 And that worked… 0:09:18.682,0:09:20.459 for about five seconds. 0:09:20.599,0:09:23.003 And then people figured out[br]what all the items did 0:09:23.150,0:09:26.274 and put that information up on wikis[br]and other websites. 0:09:26.601,0:09:29.219 Want to know what[br]this weird little thing will do? 0:09:29.412,0:09:31.362 Just find it on Platinum God 0:09:31.469,0:09:33.752 and mouse over it[br]for a full description. 0:09:34.146,0:09:35.675 So, like Balatro, 0:09:35.769,0:09:39.361 McMillen chose to hide information[br]to create a certain feeling. 0:09:39.522,0:09:42.452 But because that information is[br]technically attainable 0:09:42.559,0:09:45.249 this time with a Google search[br]rather than a spreadsheet, 0:09:45.343,0:09:47.501 a number of players ended up[br]playing the game 0:09:47.502,0:09:50.356 in a completely different way[br]than the designer intended. 0:09:50.749,0:09:52.501 Arguably, a worse way. 0:09:52.815,0:09:56.891 And so after multiple DLC packs[br]which added hundreds of new pick-ups, 0:09:57.125,0:09:58.953 this has become, basically, 0:09:59.167,0:10:02.218 the defacto way to play[br]The Binding of Isaac. 0:10:02.578,0:10:04.462 McMillen says:[br]“People would always say, 0:10:04.549,0:10:07.506 'You can't play Isaac[br]without a browser open on your phone.' 0:10:07.613,0:10:10.569 I hated that that's how everyone played[br]for so long... 0:10:10.703,0:10:11.927 and still play." 0:10:12.307,0:10:15.194 In fact,[br]he’s described the lack of item descriptions 0:10:15.274,0:10:17.800 as the biggest flaw[br]with Binding of Isaac. 0:10:18.147,0:10:20.384 This design choice has[br]basically haunted him 0:10:20.524,0:10:22.475 in the years since Isaac’s release. 0:10:22.629,0:10:25.510 And in a post in 2023,[br]McMillen has said 0:10:25.511,0:10:28.320 that he’s considering finally adding[br]item descriptions 0:10:28.320,0:10:30.542 into the game as an optional feature. 0:10:30.682,0:10:33.275 Perhaps deciding that it’s better[br]to support them officially 0:10:33.462,0:10:35.589 than players having a worse time[br]with your game 0:10:35.769,0:10:37.930 because of the way you designed it. 0:10:38.356,0:10:42.155 And I wonder if something similar[br]might happen with Balatro. 0:10:42.503,0:10:45.480 Now, I don’t think the two examples are[br]exactly the same. 0:10:45.742,0:10:49.507 I agree that Balatro is more fun to play[br]without score previews 0:10:49.613,0:10:52.853 and I’ve never once thought[br]to pre-calculate a score 0:10:53.074,0:10:55.244 in the 30-odd hours[br]I’ve played the game. 0:10:55.371,0:10:58.159 This issue only really affects[br]a small portion 0:10:58.166,0:11:02.085 of the game’s most hardcore,[br]strategy-minded audience. 0:11:02.312,0:11:06.035 But over time,[br]as the game’s long tail stretches out, 0:11:06.228,0:11:09.271 I think this decision might come[br]to haunt the developer, 0:11:09.417,0:11:11.392 just like Isaac’s item descriptions. 0:11:11.742,0:11:13.708 But, if you’re watching LocalThunk, 0:11:13.968,0:11:17.407 I think there are ways to provide this[br]as an option to these players… 0:11:17.593,0:11:20.220 without spoiling the game[br]for everyone else. 0:11:20.474,0:11:23.434 For one, a score preview is only needed 0:11:23.487,0:11:26.575 by players who are incredibly invested[br]in the game, 0:11:26.762,0:11:29.810 so the option could be granted[br]as a late-game unlock, 0:11:30.097,0:11:32.687 and not as something[br]you can switch on from the word go. 0:11:33.040,0:11:37.433 Kinda like how Chrono Cross has[br]a fast-forward button, 0:11:37.666,0:11:40.022 but it only unlocks[br]after you’ve beaten the game. 0:11:40.522,0:11:43.800 The option could also be[br]clearly communicated to the player, 0:11:43.954,0:11:47.085 like how Celeste prefaces[br]its powerful assist mode 0:11:47.392,0:11:50.266 with a message that explains[br]who this option is for. 0:11:50.553,0:11:54.254 Or how Heat Signature politely asks you[br]to not turn off Permadeath, 0:11:54.494,0:11:56.539 please, it’s there for a reason. 0:11:56.950,0:11:59.915 Or Balatro could open itself up[br]to mods, 0:12:00.022,0:12:03.398 so users can hack[br]their own score preview into the game, 0:12:03.478,0:12:06.250 without the developer needing to[br]officially support it. 0:12:06.483,0:12:08.962 This is actually what[br]happened to Isaac. 0:12:09.188,0:12:13.359 The ‘External Item Descriptions’ mod is[br]the most popular Isaac add-on 0:12:13.479,0:12:17.398 in the game’s Steam workshop,[br]with almost 2 million subscribers. 0:12:17.531,0:12:19.517 That’s not great for console players,[br]though. 0:12:19.518,0:12:22.258 So it could instead be provided[br]as a cheat code, 0:12:22.319,0:12:25.211 so players have to actively seek[br]this thing out, 0:12:25.451,0:12:29.130 rather than stumble onto it[br]as an innocuous option in the menu. 0:12:29.360,0:12:32.601 As I’ve discussed in my[br]videos about accessibility, 0:12:32.688,0:12:36.150 there are plenty of ways[br]to open a game up to a wider audience, 0:12:36.503,0:12:40.511 without necessarily spoiling it[br]for the target group of players. 0:12:40.983,0:12:43.021 Whatever LocalThunk decides to do, 0:12:43.088,0:12:46.730 this has proven to be[br]a fascinating game design case study. 0:12:46.964,0:12:49.216 About how you can change[br]how a game feels, 0:12:49.423,0:12:52.155 by changing how much information[br]you give to the player. 0:12:52.288,0:12:55.568 About how players won’t always act[br]in the way you want them to, 0:12:55.787,0:12:58.420 especially if you[br]leave open a loophole. 0:12:58.620,0:13:01.173 And about how the best intentions[br]in game design 0:13:01.280,0:13:02.743 sometimes have to change, 0:13:03.050,0:13:06.431 when you see how players[br]actually interact with your game. 0:13:06.988,0:13:10.069 I’ll be curious to see[br]what happens with Balatro. 0:13:10.402,0:13:13.372 For now, check out this video[br]on heads-up displays, 0:13:13.559,0:13:15.707 where I talk more[br]about how information can change 0:13:15.708,0:13:18.540 the way a player acts and feels. 0:13:18.540,0:13:20.921 Thanks for watching.