1 00:00:00,340 --> 00:00:01,193 Balatro! 2 00:00:01,240 --> 00:00:03,573 It’s the hot new indie darling. 3 00:00:03,660 --> 00:00:06,233 It shifted a million copies in a month, 4 00:00:06,234 --> 00:00:09,292 it’s been streamed by pretty much everyone on Twitch, 5 00:00:09,422 --> 00:00:13,564 and it’s one of the top-rated games of 2024 so far. 6 00:00:13,824 --> 00:00:14,885 I’ve also played it... 7 00:00:15,133 --> 00:00:16,167 quite a bit. 8 00:00:16,273 --> 00:00:19,856 But, this game has, according to its own designer, 9 00:00:19,968 --> 00:00:22,749 a “fundamental design flaw”. 10 00:00:23,346 --> 00:00:27,534 A “cursed problem” that the designer has been unable to solve. 11 00:00:28,459 --> 00:00:29,386 Let me explain. 12 00:00:30,277 --> 00:00:33,181 First, if you somehow haven’t played Balatro, 13 00:00:33,335 --> 00:00:36,275 it’s a card game about trying to find poker hands 14 00:00:36,361 --> 00:00:37,806 in order to score points. 15 00:00:38,005 --> 00:00:40,005 Better hands score bigger points. 16 00:00:40,114 --> 00:00:41,511 But on top of that, 17 00:00:41,585 --> 00:00:45,235 you can do all sorts of wily tricks to boost your score. 18 00:00:45,381 --> 00:00:47,634 Special cards rack up more points. 19 00:00:47,805 --> 00:00:51,131 Crazy joker cards change the rules of the game. 20 00:00:51,374 --> 00:00:54,391 And you can stack your deck, or toss away cards, 21 00:00:54,571 --> 00:00:57,076 to make certain hands more happenable. 22 00:00:57,644 --> 00:00:59,401 It’s a really fun game. 23 00:00:59,553 --> 00:01:04,179 A sublime, synergistic slot machine that feels fun to play, 24 00:01:04,293 --> 00:01:06,101 and is even more fun to break. 25 00:01:06,214 --> 00:01:08,658 It’s also really elegantly designed 26 00:01:08,788 --> 00:01:11,366 with its clean UI, straightforward concept, 27 00:01:11,393 --> 00:01:12,452 and, well, 28 00:01:12,600 --> 00:01:17,084 just how much depth has been squeezed out of a few key systems. 29 00:01:17,365 --> 00:01:20,549 But there’s one… interesting design choice in there. 30 00:01:20,779 --> 00:01:21,653 And it’s this: 31 00:01:21,794 --> 00:01:25,413 the game doesn’t tell you how many points you’re going to score 32 00:01:25,541 --> 00:01:27,017 before you play your hand. 33 00:01:27,404 --> 00:01:31,575 You simply pick your cards, cross your fingers, and hit go. 34 00:01:32,181 --> 00:01:35,556 Now, this would be really quite helpful information. 35 00:01:35,863 --> 00:01:39,231 It could tell you to play one hand over another. 36 00:01:39,416 --> 00:01:42,871 It could tell you if you’re about to scrape past the ante 37 00:01:43,091 --> 00:01:45,032 or miss it by a few points. 38 00:01:45,194 --> 00:01:48,218 It could tell you if you’re about to win the entire game 39 00:01:48,528 --> 00:01:51,726 or lose the whole thing and have to start from scratch. 40 00:01:51,931 --> 00:01:52,591 And yet… 41 00:01:52,636 --> 00:01:57,814 Balatro doesn’t give you a, let’s call it a "score preview". 42 00:01:58,303 --> 00:02:02,471 Of course, this was an entirely intentional design choice. 43 00:02:02,698 --> 00:02:06,183 LocalThunk, the game’s anonymous Canadian designer, 44 00:02:06,357 --> 00:02:07,896 has explained that, for him, 45 00:02:08,063 --> 00:02:13,410 the joy of Balatro lives in that precise moment I just described. 46 00:02:13,505 --> 00:02:15,725 When you cross your fingers and hit play. 47 00:02:15,976 --> 00:02:18,644 When you’ve set up your point-scoring engine 48 00:02:18,851 --> 00:02:21,302 and hope that it will bring home the bacon. 49 00:02:21,519 --> 00:02:26,201 LocalThunk says: “My personal belief is that the game is more fun when you set up 50 00:02:26,202 --> 00:02:29,010 your Rube Goldberg machine and watch it go 51 00:02:29,230 --> 00:02:32,925 before knowing whether or not the hand will win the round.” 52 00:02:33,345 --> 00:02:35,892 And Balatro totally plays into this! 53 00:02:36,025 --> 00:02:39,752 There’s so much hype and pageantry after playing your hand. 54 00:02:40,056 --> 00:02:43,134 The numbers tick up, with escalating sound effects. 55 00:02:43,283 --> 00:02:46,329 Each card and joker steps forward in turn 56 00:02:46,469 --> 00:02:48,231 to add their points to the total. 57 00:02:48,484 --> 00:02:51,911 If you’re lucky, the score multiplier will set on fire 58 00:02:52,051 --> 00:02:54,310 and start to burn hotter and hotter 59 00:02:54,450 --> 00:02:56,195 with each multiplication. 60 00:02:56,544 --> 00:02:59,846 And so, if you already knew how many points you were going to get. 61 00:02:59,886 --> 00:03:03,350 If a bit of UI had pre-calculated the score 62 00:03:03,390 --> 00:03:06,534 and told you that you were going to win the ante with this hand… 63 00:03:06,746 --> 00:03:08,060 well none of that would matter. 64 00:03:08,113 --> 00:03:10,114 In fact, it would just get in the way. 65 00:03:10,806 --> 00:03:13,931 This is not the only reason to forgo a score preview, mind. 66 00:03:14,078 --> 00:03:16,145 It would also add cruft to the UI, 67 00:03:16,365 --> 00:03:20,156 especially when you need to account for cards that have random properties. 68 00:03:20,396 --> 00:03:25,037 How do you elegantly show a range of possible scores? 69 00:03:25,353 --> 00:03:26,923 It would slow the game down, 70 00:03:27,117 --> 00:03:30,195 incentivising players to check every possible hand 71 00:03:30,355 --> 00:03:32,551 to find the highest-scoring combination. 72 00:03:32,671 --> 00:03:34,682 And it would change the entire feel, 73 00:03:34,771 --> 00:03:37,692 from a chill game about vibing with cards 74 00:03:37,818 --> 00:03:41,349 to a stern spreadsheet-style strategy game. 75 00:03:41,679 --> 00:03:45,934 And so this is a totally legit game design decision, right? 76 00:03:46,154 --> 00:03:47,832 Every game designer has to choose 77 00:03:47,952 --> 00:03:50,238 how much information to give to the player. 78 00:03:50,399 --> 00:03:53,408 Like, should you show a boss’s health bar, 79 00:03:53,561 --> 00:03:55,060 or keep it hidden? 80 00:03:55,714 --> 00:03:58,260 Should enemies come up with their strategies in secret, 81 00:03:58,373 --> 00:04:01,241 or should their intent be explained to the player? 82 00:04:01,541 --> 00:04:04,108 As I’ve explored in various other videos, 83 00:04:04,289 --> 00:04:06,120 how much information a player has 84 00:04:06,300 --> 00:04:10,253 will change their behaviour, and change the way the game feels. 85 00:04:10,776 --> 00:04:15,568 And so, Balatro hides its score preview to make players act more quickly 86 00:04:15,772 --> 00:04:18,595 and to create a feeling of suspense and drama 87 00:04:18,776 --> 00:04:20,107 whenever you play a hand. 88 00:04:20,359 --> 00:04:22,814 LocalThunk had an experience in mind 89 00:04:22,948 --> 00:04:24,894 and picked mechanics that would nudge players 90 00:04:25,089 --> 00:04:26,450 towards that feeling. 91 00:04:26,669 --> 00:04:28,296 A smart design choice. 92 00:04:28,890 --> 00:04:29,658 However! 93 00:04:30,024 --> 00:04:33,548 Balatro is not like those other games I just showed. 94 00:04:33,674 --> 00:04:37,472 Because while the score preview is hidden from the player… 95 00:04:37,705 --> 00:04:41,219 the information is still technically available! 96 00:04:41,339 --> 00:04:44,056 Because you can just… you can just calculate it yourself. 97 00:04:44,442 --> 00:04:48,992 So, like…. a straight is worth 30 chips and 4 mult. 98 00:04:49,258 --> 00:04:51,351 These cards are going to add an extra 99 00:04:51,545 --> 00:04:55,129 10, 20, 30, 39, 47 chips, 100 00:04:55,214 --> 00:04:58,678 and then the two face cards will add another 30 each 101 00:04:58,852 --> 00:04:59,783 thanks to this joker. 102 00:04:59,863 --> 00:05:02,988 So that’s 137 chips times 4… 103 00:05:03,468 --> 00:05:04,994 548. 104 00:05:05,118 --> 00:05:07,031 Not quite enough to beat the ante, 105 00:05:07,164 --> 00:05:07,924 but close. 106 00:05:08,236 --> 00:05:10,951 And so, if information in a game can be 107 00:05:11,018 --> 00:05:12,737 hidden, or visible… 108 00:05:13,003 --> 00:05:16,963 Balatro’s score preview falls into a weird half category: 109 00:05:17,270 --> 00:05:21,032 hidden, but attainable if you really want it. 110 00:05:21,379 --> 00:05:25,318 And that’s the fundamental design flaw at the heart of Balatro. 111 00:05:25,525 --> 00:05:28,805 The designer wants the excitement of a slot machine, 112 00:05:28,978 --> 00:05:31,500 but also the numerical predicability 113 00:05:31,500 --> 00:05:32,793 of an Excel spreadsheet. 114 00:05:33,060 --> 00:05:35,801 And so the only way to square that circle 115 00:05:35,967 --> 00:05:40,630 is to hope that players won’t bother to calculate the final score. 116 00:05:40,963 --> 00:05:44,912 But, if we go back to that timeless Soren Johnson quote: 117 00:05:45,052 --> 00:05:48,858 “Given the opportunity, players will optimize the fun out of a game.” 118 00:05:49,171 --> 00:05:52,217 It shouldn’t be surprising that a number of Balatro players 119 00:05:52,544 --> 00:05:55,769 are playing the game with the calculator app open on their phone, 120 00:05:55,956 --> 00:05:59,027 or with a spreadsheet set up on a second monitor, 121 00:05:59,174 --> 00:06:01,265 or with Steam’s in-game overlay 122 00:06:01,392 --> 00:06:05,388 showing a bespoke website that calculates Balatro hands. 123 00:06:05,682 --> 00:06:10,617 And, actually this is exactly why Balatro has a deck view. 124 00:06:10,840 --> 00:06:13,510 During playtesting, the game did not show you 125 00:06:13,657 --> 00:06:15,669 which cards were left in your deck. 126 00:06:15,902 --> 00:06:20,148 But, playtesters could technically get that information 127 00:06:20,261 --> 00:06:22,601 by tracking which cards had already been played. 128 00:06:22,961 --> 00:06:24,461 And after polling users, 129 00:06:24,641 --> 00:06:27,587 LocalThunk found that many were doing just that 130 00:06:27,787 --> 00:06:30,021 even though it really wasn’t much fun. 131 00:06:30,114 --> 00:06:33,124 So he added a powerful deck peek feature. 132 00:06:33,578 --> 00:06:36,258 But a score preview felt different. 133 00:06:36,325 --> 00:06:39,886 It felt like it encroached upon the DNA of the game. 134 00:06:39,986 --> 00:06:42,048 It stepped on the stuff that made Balatro… 135 00:06:42,550 --> 00:06:43,355 Balatro. 136 00:06:43,582 --> 00:06:45,592 And so, while the designer is empathetic 137 00:06:45,593 --> 00:06:48,177 to people who wish to play more strategically. 138 00:06:48,417 --> 00:06:52,987 And is bummed out that the optimum way to play involves busywork, 139 00:06:53,067 --> 00:06:56,119 and doing calculations outside of the game, 140 00:06:56,319 --> 00:06:59,816 he worries that adding a score preview would spoil the fun 141 00:07:00,003 --> 00:07:02,029 for those who wish to play more casually. 142 00:07:02,335 --> 00:07:03,914 And that’s totally true! 143 00:07:04,108 --> 00:07:08,425 Making a game better for one group can make it worse for another. 144 00:07:08,638 --> 00:07:12,078 As a designer, you need to be certain who the game is for 145 00:07:12,238 --> 00:07:16,224 and then protect that player base from certain design decisions. 146 00:07:16,524 --> 00:07:20,512 Even if that design decision is provided merely as an option. 147 00:07:20,705 --> 00:07:24,147 Speaking on the Eggplant podcast, LocalThunk says: 148 00:07:24,315 --> 00:07:26,752 “If I add an option to have this score preview, 149 00:07:26,859 --> 00:07:28,630 people are just going to click on it, 150 00:07:28,770 --> 00:07:32,171 and they're not going to experience the game that I wanted to create.” 151 00:07:32,337 --> 00:07:36,716 And besides, should a designer even have to endorse an option 152 00:07:36,717 --> 00:07:39,731 that directly goes against their intentions for the game? 153 00:07:39,944 --> 00:07:43,287 LocalThunk has been clear that he made the game for himself 154 00:07:43,494 --> 00:07:46,675 and isn’t interested in changing the game for other people. 155 00:07:46,929 --> 00:07:49,919 Even if there are a million of them. 156 00:07:50,593 --> 00:07:52,024 But, here’s the rub. 157 00:07:52,271 --> 00:07:54,591 It’s one thing to make a bold design choice 158 00:07:54,638 --> 00:07:58,261 and then stand by it, for the betterment of the game. 159 00:07:58,395 --> 00:08:01,290 To shun the haters and stick by your design. 160 00:08:01,479 --> 00:08:03,556 But that doesn’t really work 161 00:08:03,929 --> 00:08:07,739 if there’s a way for players to find a way around your choice, 162 00:08:07,792 --> 00:08:10,747 no matter how tedious that loophole might be. 163 00:08:11,020 --> 00:08:12,066 And we know this! 164 00:08:12,153 --> 00:08:15,897 Because this is not the first time this has happened to a game. 165 00:08:16,024 --> 00:08:18,605 In fact, it’s not even the first time it’s happened 166 00:08:18,752 --> 00:08:21,132 to an extremely popular roguelike. 167 00:08:21,270 --> 00:08:23,405 Enter The Binding of Isaac. 168 00:08:23,775 --> 00:08:26,174 So this basement-dwelling dungeon crawler 169 00:08:26,247 --> 00:08:28,822 is packed with powerful items and upgrades… 170 00:08:29,049 --> 00:08:31,814 but the game doesn’t tell you what they do. 171 00:08:32,060 --> 00:08:33,892 They just have a name, 172 00:08:34,106 --> 00:08:35,892 or a cryptic tagline, 173 00:08:35,998 --> 00:08:38,563 or maybe just three question marks. 174 00:08:38,943 --> 00:08:41,791 The game’s designer, Edmund McMillen, did this on purpose 175 00:08:41,844 --> 00:08:43,952 to create a feeling of mystery, 176 00:08:44,038 --> 00:08:47,053 similar to the sensation he got when playing games as a kid 177 00:08:47,132 --> 00:08:49,343 like the original Legend of Zelda. 178 00:08:49,494 --> 00:08:51,065 He described that game by saying: 179 00:08:51,278 --> 00:08:54,658 “You weren't sure what things did until you experimented with them, 180 00:08:54,715 --> 00:08:56,471 and you had to brainstorm with your friends 181 00:08:56,505 --> 00:08:59,887 and put all your findings together in order to progress.” 182 00:09:00,153 --> 00:09:03,308 And so to mimic that mysterious sensation in Isaac, 183 00:09:03,413 --> 00:09:06,113 the items are deliberately left unexplained. 184 00:09:06,269 --> 00:09:08,784 You’ll need to pick things up, try them, 185 00:09:08,851 --> 00:09:10,824 and puzzle out their properties. 186 00:09:10,944 --> 00:09:14,002 Finding a new item should lead to curiosity, 187 00:09:14,275 --> 00:09:16,720 experimentation, and surprise. 188 00:09:17,220 --> 00:09:18,109 And that worked… 189 00:09:18,682 --> 00:09:20,459 for about five seconds. 190 00:09:20,599 --> 00:09:23,003 And then people figured out what all the items did 191 00:09:23,150 --> 00:09:26,274 and put that information up on wikis and other websites. 192 00:09:26,601 --> 00:09:29,219 Want to know what this weird little thing will do? 193 00:09:29,412 --> 00:09:31,362 Just find it on Platinum God 194 00:09:31,469 --> 00:09:33,752 and mouse over it for a full description. 195 00:09:34,146 --> 00:09:35,675 So, like Balatro, 196 00:09:35,769 --> 00:09:39,361 McMillen chose to hide information to create a certain feeling. 197 00:09:39,522 --> 00:09:42,452 But because that information is technically attainable 198 00:09:42,559 --> 00:09:45,249 this time with a Google search rather than a spreadsheet, 199 00:09:45,343 --> 00:09:47,501 a number of players ended up playing the game 200 00:09:47,502 --> 00:09:50,356 in a completely different way than the designer intended. 201 00:09:50,749 --> 00:09:52,501 Arguably, a worse way. 202 00:09:52,815 --> 00:09:56,891 And so after multiple DLC packs which added hundreds of new pick-ups, 203 00:09:57,125 --> 00:09:58,953 this has become, basically, 204 00:09:59,167 --> 00:10:02,218 the defacto way to play The Binding of Isaac. 205 00:10:02,578 --> 00:10:04,462 McMillen says: “People would always say, 206 00:10:04,549 --> 00:10:07,506 'You can't play Isaac without a browser open on your phone.' 207 00:10:07,613 --> 00:10:10,569 I hated that that's how everyone played for so long... 208 00:10:10,703 --> 00:10:11,927 and still play." 209 00:10:12,307 --> 00:10:15,194 In fact, he’s described the lack of item descriptions 210 00:10:15,274 --> 00:10:17,800 as the biggest flaw with Binding of Isaac. 211 00:10:18,147 --> 00:10:20,384 This design choice has basically haunted him 212 00:10:20,524 --> 00:10:22,475 in the years since Isaac’s release. 213 00:10:22,629 --> 00:10:25,510 And in a post in 2023, McMillen has said 214 00:10:25,511 --> 00:10:28,320 that he’s considering finally adding item descriptions 215 00:10:28,320 --> 00:10:30,542 into the game as an optional feature. 216 00:10:30,682 --> 00:10:33,275 Perhaps deciding that it’s better to support them officially 217 00:10:33,462 --> 00:10:35,589 than players having a worse time with your game 218 00:10:35,769 --> 00:10:37,930 because of the way you designed it. 219 00:10:38,356 --> 00:10:42,155 And I wonder if something similar might happen with Balatro. 220 00:10:42,503 --> 00:10:45,480 Now, I don’t think the two examples are exactly the same. 221 00:10:45,742 --> 00:10:49,507 I agree that Balatro is more fun to play without score previews 222 00:10:49,613 --> 00:10:52,853 and I’ve never once thought to pre-calculate a score 223 00:10:53,074 --> 00:10:55,244 in the 30-odd hours I’ve played the game. 224 00:10:55,371 --> 00:10:58,159 This issue only really affects a small portion 225 00:10:58,166 --> 00:11:02,085 of the game’s most hardcore, strategy-minded audience. 226 00:11:02,312 --> 00:11:06,035 But over time, as the game’s long tail stretches out, 227 00:11:06,228 --> 00:11:09,271 I think this decision might come to haunt the developer, 228 00:11:09,417 --> 00:11:11,392 just like Isaac’s item descriptions. 229 00:11:11,742 --> 00:11:13,708 But, if you’re watching LocalThunk, 230 00:11:13,968 --> 00:11:17,407 I think there are ways to provide this as an option to these players… 231 00:11:17,593 --> 00:11:20,220 without spoiling the game for everyone else. 232 00:11:20,474 --> 00:11:23,434 For one, a score preview is only needed 233 00:11:23,487 --> 00:11:26,575 by players who are incredibly invested in the game, 234 00:11:26,762 --> 00:11:29,810 so the option could be granted as a late-game unlock, 235 00:11:30,097 --> 00:11:32,687 and not as something you can switch on from the word go. 236 00:11:33,040 --> 00:11:37,433 Kinda like how Chrono Cross has a fast-forward button, 237 00:11:37,666 --> 00:11:40,022 but it only unlocks after you’ve beaten the game. 238 00:11:40,522 --> 00:11:43,800 The option could also be clearly communicated to the player, 239 00:11:43,954 --> 00:11:47,085 like how Celeste prefaces its powerful assist mode 240 00:11:47,392 --> 00:11:50,266 with a message that explains who this option is for. 241 00:11:50,553 --> 00:11:54,254 Or how Heat Signature politely asks you to not turn off Permadeath, 242 00:11:54,494 --> 00:11:56,539 please, it’s there for a reason. 243 00:11:56,950 --> 00:11:59,915 Or Balatro could open itself up to mods, 244 00:12:00,022 --> 00:12:03,398 so users can hack their own score preview into the game, 245 00:12:03,478 --> 00:12:06,250 without the developer needing to officially support it. 246 00:12:06,483 --> 00:12:08,962 This is actually what happened to Isaac. 247 00:12:09,188 --> 00:12:13,359 The ‘External Item Descriptions’ mod is the most popular Isaac add-on 248 00:12:13,479 --> 00:12:17,398 in the game’s Steam workshop, with almost 2 million subscribers. 249 00:12:17,531 --> 00:12:19,517 That’s not great for console players, though. 250 00:12:19,518 --> 00:12:22,258 So it could instead be provided as a cheat code, 251 00:12:22,319 --> 00:12:25,211 so players have to actively seek this thing out, 252 00:12:25,451 --> 00:12:29,130 rather than stumble onto it as an innocuous option in the menu. 253 00:12:29,360 --> 00:12:32,601 As I’ve discussed in my videos about accessibility, 254 00:12:32,688 --> 00:12:36,150 there are plenty of ways to open a game up to a wider audience, 255 00:12:36,503 --> 00:12:40,511 without necessarily spoiling it for the target group of players. 256 00:12:40,983 --> 00:12:43,021 Whatever LocalThunk decides to do, 257 00:12:43,088 --> 00:12:46,730 this has proven to be a fascinating game design case study. 258 00:12:46,964 --> 00:12:49,216 About how you can change how a game feels, 259 00:12:49,423 --> 00:12:52,155 by changing how much information you give to the player. 260 00:12:52,288 --> 00:12:55,568 About how players won’t always act in the way you want them to, 261 00:12:55,787 --> 00:12:58,420 especially if you leave open a loophole. 262 00:12:58,620 --> 00:13:01,173 And about how the best intentions in game design 263 00:13:01,280 --> 00:13:02,743 sometimes have to change, 264 00:13:03,050 --> 00:13:06,431 when you see how players actually interact with your game. 265 00:13:06,988 --> 00:13:10,069 I’ll be curious to see what happens with Balatro. 266 00:13:10,402 --> 00:13:13,372 For now, check out this video on heads-up displays, 267 00:13:13,559 --> 00:13:15,707 where I talk more about how information can change 268 00:13:15,708 --> 00:13:18,540 the way a player acts and feels. 269 00:13:18,540 --> 00:13:20,921 Thanks for watching.