Balatro developer Local Thunk has shared a comprehensive account of the game's development journey on their personal blog, revealing a fascinating approach to game design. Throughout the development of Balatro, Local Thunk consciously avoided playing roguelike games, with one notable exception. As of December 2021, they decided not to engage with any roguelike titles, stating, "I want to be crystal clear here and say that this was not because I thought it would result in a better game, this was because making games is my hobby, releasing them and making money from them is not, so naively exploring roguelike design (and especially deckbuilder design, since I had never played one before) was part of the fun for me. I wanted to make mistakes, I wanted to reinvent the wheel, I didn’t want to borrow tried-and-true designs from existing games. That likely would have resulted in a more tight game but it would have defeated the purpose of what I love about making games."
However, a year and a half later, Local Thunk made an exception by downloading and playing Slay the Spire. They described the experience as eye-opening, saying, "Holy shit, now **that** is a game." The decision to play Slay the Spire came about due to challenges with controller implementation in Balatro, and Local Thunk wanted to see how Slay the Spire managed controller inputs for a card game. They admitted, "I did this because I was having some troubles in my controller implementation and I wanted to see how they handled controller inputs for a card game but I ended up getting sucked in. Thank goodness I avoided playing it until now because I surely would have just copied their incredible design (intentionally or subconsciously)."
Local Thunk's blog post is rich with insights into the development process. For instance, they revealed that the game's production folder was originally named "CardGame" and remained unchanged throughout development. The working title for much of the project was "Joker Poker." Additionally, Local Thunk discussed several features that were considered but ultimately scrapped, such as:
Local Thunk also shared an amusing anecdote about how Balatro ended up with 150 Jokers. This was the result of a miscommunication during a meeting with their publisher, Playstack. Local Thunk initially mentioned having "120 Jokers," but a subsequent meeting led to a mention of 150 Jokers. They wrote, "I also had a meeting with Playstack [the publisher] this month [October 2023] where I described to them the final content in the game, including ‘120 Jokers’. Later that week I had another meeting with them, and someone mentioned something about 150 Jokers. I couldn’t remember if I accidentally said I was going to make 150 or if they misheard me, but either way I thought that 150 was a much better number so I added 30 more Jokers to the plan."
The origin of the developer's pseudonym, "Local Thunk," was also explained. It stems from a programming joke. Local Thunk shared, "My partner was learning to code in R at the time, and she asked me 'How do you name your variables?' I went on some rant about casing, using descriptive words, underscores, etc. She waits until I am finished and says 'I like to call mine thunk'. I thought that was just about the funniest thing I had ever heard. The way variables are declared in Lua is (sometimes) with the local keyword, thus local thunk was born! I wouldn’t choose this name for quite a while yet but this is the moment I looked back on when I was finally ready to create a developer handle online."
For those interested in diving deeper into the development of Balatro, Local Thunk's blog provides a wealth of information. IGN has praised Balatro, awarding it a 9/10 and describing it as "A deck-builder of endlessly satisfying proportions, it's the sort of fun that threatens to derail whole weekend plans as you stay awake far too late staring into the eyes of a jester tempting you in for just one more run."