Waterluvian 2 hours ago

I’m not sure 32 vs. 64 bit even matters for scoring. Doesn’t balatro go well above the uint64 max, meaning it’s surely using some Numeric abstraction type?

sram1337 20 hours ago

re: numbers, you could store them as integers, but just encoded as 10 times their value. So 1.5 becomes 15.

Would reduce max score to 400M and you'd have to round 0.25 up or down. Would probably want to drop the 0.01 cards too.

super cool project

  • odo1242 18 hours ago

    Yea - this is basically "fixed point but not binary" and it would totally work.

fisherjeff 19 hours ago

This was painful to read, and I am so sorry for the author.

I was fortunate enough to break my Balatro addiction before it had gotten this far along, but others are not so lucky.

  • yjftsjthsd-h 19 hours ago

    What about this reads as addiction? This is clearly a tech demo, not something someone would do to let themselves play more of the game.

    • poolnoodle 18 hours ago

      I believe the comment you replied to was meant in a humorous way.

  • mcphage 14 hours ago

    There but for the grace of god…

  • jimbob45 17 hours ago

    And others are like me who wanted to play but couldn’t because of the nauseating effects of the graphics.

kinduff 19 hours ago

While I understand the sentiment of Playstack and LocalThunk to take down these kind of ports, it's a shame for the community because this will only make the game grow more.

  • geoffpado 19 hours ago

    It doesn’t sound like they did? The author seems to be proactively not releasing out of respect for LocalThunk, not out of fear. (And certainly not because they’ve already been sent a takedown or anything.)

  • wavemode 17 hours ago

    What legal standing would they even have, if the game were simply named something different from "Balatro"? Game mechanics aren't copyrightable, and the game assets are literally just playing cards...

  • ronsor 17 hours ago

    The clear solution is to not copy every aspect of the original and also release your port under a different name.

azhenley 20 hours ago

This is what I need more of from the internet.

im3w1l 19 hours ago

I think floating point is viable - balatro doesn't exactly perform billions of floating point operations per second.

EA-3167 20 hours ago

I also love Balatro, and can say that's shockingly good work especially considering the limitations of the platform. Clearly a labor of love, and I love it.

Dwedit 19 hours ago

If you're hitting sprite limits because you used up all the sprite slots, you're doing something wrong. Sprites are for moving objects that need to exist outside of grid alignment. For steady objects, put them in a background layer. If you need a different alignment than 8x8 tiles, you can use two overlapping layers to get 4-pixel horizontal alignment instead.

  • duneisagoodbook 14 hours ago

    Absolutely! I think that's what the author meant when he said "In my prototype, your hand at the bottom of the screen is a background (similarly, in my E-Reader solitaire game, all of the cards are drawn into a background instead of using sprites)."

    • city41 2 hours ago

      Thanks for the clarification (I'm the blog author). If one were to really make this game, how the cards would ultimately be rendered is hard to say. Sprites are nice because you can overlay them and form many card variations from just a few sprites. Tiles rendering into a background doesn't account for transparent pixels, so building up tiles into a single background is not possible.

      One way to handle that is to provide all the possible tile variations, but that would take up so much space. So you'd have a set of tiles for a regular Ace of Spades, and an entirely different group of tiles for a Lucky Ace of Spades for example.

      The GBA has 4 backgrounds, so it would be doable to grab three of them and use them to render cards. That would only leave 1 background left for, well, the background :)

      Another option would be to use a memory buffer and implement tile rendering yourself that accounts for transparent pixels. That would be the best of backgrounds and sprites combined into one. That would solve many problems, at the cost of the implementation would probably take up a lot of space. My hunch is this would be the best approach.

      This right here might be why I find this platform so interesting. It's very limited, and the limitations usually bump into each other and you often steel from Peter to pay Paul.

      Oh and the post didn't mention debuffed cards (they have a red X drawn over them). That'd be yet another card layer to throw into this mix.

anyfoo 17 hours ago

I’m one of the people that don’t “get” Balatro. I do get how to play it (to a certain level at least), and I’ve certainly been drawn to a bunch of rogue-like games, some of which I still play (Into the Breach for example), but Balatro is just… too distilled for me, to a point where it’s almost absurd.

It’s literally “number go up”, there’s barely any “fluff”, and that bugs me for a reason.

In that regard, it reminds me of cookie clicker, although it distills different aspects. That, too, I stopped playing pretty quickly. I saw coworkers who would play it all the time in the background, and that kind of put me off. Almost philosophically.

Balatro has more “game” than Cookie Clicker, but I’m still slightly repelled by its relatively direct “number go up” aspect. (“Repelled” is a bit of a strong and rude word, but I couldn’t think of anything better right now. I don’t hate Balatro.)

  • rkuykendall-com 13 hours ago

    It sounds like this is just a relic of you beating the well-designed tutorial? Once you start advancing through the decks and difficulties, as well as unlocking more vouchers and jokers, it becomes quite complex. I have many, many hours in it and I can't even beat ante 8 on White Stake consistently. But streamers can consistently beat Gold Stake, as well as playing PvP, so it's clearly not a cookie clicker.

    • anyfoo an hour ago

      That’s not the reason I don’t like it.