If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

Balatro

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Balatro

Developer: LocalThunk
Publisher: Playstack
Platform: Windows
Released internationally: February 20, 2024[1]


CodeIcon.png This game has unused code.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
Carts.png This game has revisional differences.


PrereleaseIcon.png This game has a prerelease article

<Sanky> please suggest an unused sprite with a clock or something
This game is still under active development.
Be aware that any unused content you find may become used or removed in the future. Please only add things to the article that are unlikely to ever be used, or went unused for some time. If they do get used, please remove them from the page and specify in the edit summary!
Hmmm...
To do:
  • Document the demo.
  • There are a few more unused graphics.
  • Some design changes, and unused cards between the demo and latest builds.
  • 1.0.1c revisional differences.
  • Loads more comments found throughout the game's files.

Balatro is the only game where you could legitimately use a Magic the Gathering card in a Poker game to reach infinite moneys.

Sub-Pages

Read about prerelease information and/or media for this game.
Prerelease Info

Unused Graphics

Balatro ChaosTheory.png

An unused Joker present in the files of an older pre-v1.0 version, drawn by Lumpy Touch. It was given the name "Chaos Theory" in the Lumpy Touch short revealing this information,[2] however this name was most likely made-up as the Joker never actually had a name, nor was it ever implemented.[3]

Balatro UnusedDeck.png

An unused deck. It's unknown what it's ability would be.

Balatro UnusedYellowStake.png

Balatro JokerStake.png

There are two unused stakes, a yellow stake and a Joker one. The Joker one was never supposed to be in the game, since LocalThunk made it for fun,[4] however nothing has been said about the yellow stake so far.


Developer Comments

Card.lua

if self.added_to_deck then --Need to override if adding negative to an existing joker
                if self.ability.consumeable then
                    G.consumeables.config.card_limit = G.consumeables.config.card_limit + 1
                else
                    G.jokers.config.card_limit = G.jokers.config.card_limit + 1
                end
if self.config.center.unlocked == false and not self.bypass_lock then --For everyting that is locked
        card_type = "Locked"
        if self.area and self.area == G.shop_demo then loc_vars = {}; no_badge = true end
    elseif card_type == 'Undiscovered' and not self.bypass_discovery_ui then -- Any Joker or tarot/planet/voucher that is not yet discovered
elseif self.ability.set == 'Joker' then -- all remaining jokers
if self.ability.name == 'Ankh' then 
        --Need to check for edgecases - if there are max Jokers and all are eternal OR there is a max of 1 joker this isn't possible already
        --If there are max Jokers and exactly 1 is not eternal, that joker cannot be the one selected
        --otherwise, the selected joker can be totally random and all other non-eternal jokers can be removed
if self.ability.name == 'Ankh' then
            --if there is at least one joker
            for k, v in pairs(G.jokers.cards) do
                if v.ability.set == 'Joker' and G.jokers.config.card_limit > 1 then 
                    return true
                end
    --if this is the focused card
    if self.states.focus.is and not self.children.focused_ui then
        self.children.focused_ui = G.UIDEF.card_focus_ui(self)
    end
    --Draw the shadow
    if not self.no_shadow and G.SETTINGS.GRAPHICS.shadows == 'On' and((layer == 'shadow' or layer == 'both') and (self.ability.effect ~= 'Glass Card' and not self.greyed) and ((self.area and self.area ~= G.discard and self.area.config.type ~= 'deck') or not self.area or self.states.drag.is)) then
        self.shadow_height = 0*(0.08 + 0.4*math.sqrt(self.velocity.x^2)) + ((((self.highlighted and self.area == G.play) or self.states.drag.is) and 0.35) or (self.area and self.area.config.type == 'title_2') and 0.04 or 0.1)
        G.shared_shadow:draw_shader('dissolve', self.shadow_height)
    end

Debug Mode

Setting _RELEASE_MODE = false in conf.lua enables debug mode.

The debug mode provides functions, including:

  • Changing editions (even on playing card)
  • +$10
  • Spawning/discovering/unlocking jokers/consumables
  • Giving hands/discards
  • Forcing a win/loss
  • Increase ante/round
  • +10 chips/mult
  • X10/X2 mult
  • Reroll the boss blind
  • Test functions for Jimbo and the game's background

Commented Out Music Code

Found within test_functions.lua is an older, unused version of the code which determines what music to play. The unused one is noticeably longer.

Unused Used
{video = 'A1', _s = 2.5, _e = 13.9, track = 'music1'},
        {video = '_A2', _s = 0.4, _e = 3.15},
        {video = 'A3', _s = 0.2, _e = 2.25},
        {video = 'A4', _s = 3.4, _e = 8.2},
        {video = '_B1', _s = 0.15, _e = 4.4},
        {video = 'B3', _s = 2.7, _e = 5.3},
        {video = 'B4', _s = 21.5, _e = 27.6},
        {video = '_C1', _s = 0.25, _e = 3.2, track = 'music4'},
        {video = 'C2', _s = 1.4, _e = 4.4},
        {video = 'C3', _s = 1.9, _e = 4.3, track = 'music3'},
        {video = 'C4a', _s = 1.3, _e = 4.5, track = 'music2'},
        {video = '_C5', _s = 0.1, _e = 3.4, track = 'music1'},
        {video = 'C4b', _s = 0.15, _e = 3.5},
        {video = 'D4', _s = 0.3, _e = 3.7, track = 'music4'},
        {video = 'D3', _s = 1.6, _e = 4.8, track = 'music1'},
        {video = 'D1', _s = 1.4, _e = 3.5, track = 'music4'},
        {video = 'D5', _s = 1.0, _e = 3.8, track = 'music1'},
        {video = 'E1', _s = 3, _e = 6.55},
        {video = 'E2', _s = 0., _e = 4.1},
        {video = 'E3', _s = 3.5, _e = 7.5},
        {video = 'E4', _s = 4, _e = 7.2},
        {video = 'E5', _s = 5.9, _e = 9.2, track = 'music1'},
        {video = 'F1', _s = 4.2, _e = 8.1},
        {video_organ = 0.1, video = 'F5', _s = 2.25, _e = 5.4},
        {video_organ = 0.05, video = 'F6', _s = 0, _e = 2.3},
        {video_organ = 0.2, video = 'F2', _s = 0.2, _e = 1.6},
        {video_organ = 0.4, video = 'F3', _s = 2.6, _e = 4.2},    ]]--
{video = 'A3', _s = 0.1, _e = 4.65, track = 'music1'},
        {video = 'E1', _s = 3.69, _e = 6.55},
        {video = 'C3', _s = 1.9, _e = 4.3, track = 'music3'},
        {video = 'E5', _s = 5.9, _e = 9.2, track = 'music1'},
        {video = 'C4a', _s = 1.3, _e = 4.5, track = 'music2'},
        {video = 'E4', _s = 4, _e = 7.2, track = 'music1'},
        {video = 'D4', _s = 0.3, _e = 3.2, track = 'music4'},
        {video = 'C2', _s = 2.0, _e = 4.4, track = 'music1'},
        {video = 'B3', _s = 2.7, _e = 5.3},
        {video = 'B4', _s = 21.5, _e = 24.8},
        {video = 'D5', _s = 1.2, _e = 3.8, track = 'music1'},
        {video_organ = 0.1,video = 'E2', _s = 1.5, _e = 4.1},
        {video_organ = 0.2,video = 'E3', _s = 3.5, _e = 7.5},
        {video_organ = 0.4, video = 'D3', _s = 1.9, _e = 4.3, track = 'music1'},

Gameplay Mechanic Oddities

Negative Ante

If you are lucky enough to find a seed during the first round which has a Hieroglyph and a Petroglyph both in the same shop while also on the slowest game speed, you can reach Ante -1. In this round, the score requirements are 100 for the Small Blind, 150 for the Big Blind, and 200 for the Boss Blind, which are all lower than the starting round.

(The seed used in the video is D97VRMNE.)

Revisional Differences

v1.0.1c

Joker Changes

  • The league of the Sinful Jokers (Greedy ♢, Lusty ♡, Wrathful ♠, and Gluttonous ♣) were changed to only give +3 Mult instead of +4 Mult.
  • Banner was changed to only give +30 Chips instead of +40 Chips per remaining discard.
  • Hiker was buffed to give +5 Chips permanently instead of +4 Chips permanently.
Pre-1.0.1c v1.0.1c
Balatro-1.0-MadJoker.png
+20 Mult if played
hand contains
a Four of a Kind
Balatro-1.0.1c-MadJoker.png
+10 Mult if played
hand contains
a Two Pair
Pre-1.0.1c v1.0.1c
Balatro-1.0-CleverJoker.png
+150 Chips if played
hand contains
a Four of a Kind
Balatro-1.0.1c-CleverJoker.png
+80 Chips if played
hand contains
a Two Pair
  • Mad Joker and Clever Joker were changed to apply to played hands containing a Two Pair instead of a Four of a Kind. The graphics, as well as the respective amount of Chips and Mult, were changed accordingly to reflect this, while also removing a stray pixel from one of the cards on the joker graphics.
Pre-1.0.1c v1.0.1c
Balatro-1.0-8Ball.png
Create a Planet card
if played hand contains
2 or more 8s
Balatro-1.0.1c-8Ball.png
1 in 4 chance for each
played 8 to create a
Tarot card when scored
  • 8 Ball's effect was completely redone, and as such its graphic's color was changed from blue to purple in accordance with the effect overhaul.

Tarot & Planet Card Changes

  • Magician changed from being only able to select 1 card to turn into a Lucky Card to being able to select 2 cards to turn into Lucky Cards.
  • Saturn's +Mult count increased from +2 Mult to +3 Mult.
  • Neptune's +Mult count increased from +3 Mult to +4 Mult.
  • Ceres' +Mult count increased from +3 Mult to +4 Mult.
  • Eris' +Chip count increased from +40 Chips to +50 Chips.

v1.0.1e

References