Community Challenge: Recreate Balatro card effects in Defold!

Balatro is a poker inspired deck building game made in Love2D. It has become extremely popular, so much so that others try to recreate the juicy card effects in other game engines:

Let’s make this into a community challenge! Try to recreate as much of the card effects from Balatro as possible in Defold. Use the original game and other sources such as the ones linked above as your inspiration. Share your solution here (it must be open source) and in two weeks from now we’ll pick three projects and award the authors with Steam Gift Cards.


I wouldn’t compete anyway as I lack the required abilities but it’s not a fair challenge since whoever owns the game has plain access to the game’s shader code(GLSL) and the game itself is written in Lua/Love2D with no obfuscation.

I’m sorry you feel that way. (Did you watch the linked content in the OP?)

And as an organizer of the challenge, I can assure you that we intend to have these challenges as a lighthearted and easy-going event to spur our users to learn more things about various concepts related to game making (and how to do them in Defold).

Think of it as an impromptu mini game jam. Our hope is that most users will feel like it’s a nice opportunity to create something and learn at the same time, while at the same time not commit to a full game jam.
I wouldn’t expect most users to enter just because they can win a gift card, but as an exercise and an opportunity to learn and share the results.
Another goal with these challenges is for our community to build skill, and also produce more assets in the long run, and perhaps blog posts about what they did. We’ll simply see how it turns out!


Mathias answer is spot on. I hope members in the community do it to learn something new and to share their learnings with the community. I also hope the gift card is not seen as the only reason to participate.

Decompiling the game to get access to shaders and code, and the adapt it to Defold and share it as open source, is most likely illegal and not something we encourage.


I see it as a nice challenge for myself, a chance to learn shaders. It is something I’ve wanted to dive deeper into. A small idea to make the card burn effect is a perfect opportunity to research and try to build by myself :slight_smile:


I came here to say the same thing. Unfortunately I’m traveling right now so I probably won’t be able to enter the contest. However, I love balatrto and I think this is a great idea to help me learn how to polish my graphics. I’ll just have to do it later.


With the help of Shadertoy I’m getting somewhere! Still needs some tweaking, but so far I’m really impressed with the result already! Thanks again for the mini-challenge.



It’s great! Keep it up!
and can you share a little code? I’m starting learning shader


Of course; you can find the fragment program here:

With speed you can change the burn speed effect, 1 is really slow but a nice demo to see how it reacts. I still have to figure out how to get the actual size of the card in the fragment program instead of hard coding it.


Amazing work. Thanks for sharing.


I want to learn how to do these two effects. Especially the oil slick/rainbow poly card.

1 Like

This is a fun idea, some great implementations already!

For me, it’s a great exercise for learning the engine without needing to be creative. My agonisingly slow progress is @ GitHub - prismglue/balatro-fx but I probably won’t get around to shaders.

I’m finding this video at 0.25 speed helpful for seeing the gameplay animations:


This is a good initiative! Not as lengthy or time consuming as a game jam, and builds skills that can be applied to more important projects. I hope these challenges will become a regular thing, even if no prizes are involved.


Yes, that is our plan! This challenge ends on Sunday. Please post what you’ve created here!


Hello again!
A small reminder that there’s two days left (i.e. the weekend) of this challenge.

We (the Defold team), will go through the open source examples posted here on monday, and choose three top picks who gets a steam gift card!

Have fun!


Well. Here is my one:


HTML5 Demo: cards-fx-kit 0.1

My goal was to try to make card distortion effects exactly in the GUI system, which in its current form, though it got new features such as individual materials for individual nodes, but remains completely 2D orientated. I encountered some problems in passing parameters to the shader, in particular the local coordinates of the node. However, it was interesting.


Well, I got back from Japan with 2 days to work on this. I have never ever worked with shaders on any platform before. These are pretty basic but I wanted to get them posted before the end of the contest. I think I’ll continue to work on these to learn more about shaders.

You can get the publicly shared code here:

Right click on the card changes the shader. Left click drag moves it. I wanted to get the shimmer effect when it moves and still may get it in before you pick a winner. But to be honest I already won as I have learned about shaders and I’m not so intimidated by them any longer. Thanks for having this challenge.


I didn’t make cards or neat shaders / effects, so this isn’t as eligible as the other great entries. It was still a fun way to learn the basics of Defold and simple animations. Hopefully I get time to tinker more tonight.

Try it @ balatro-fx 1.0 or see silly commits @ GitHub - prismglue/balatro-fx
(now published on tag with GitHub Actions: GitHub - prismglue/defold-builder-simple: Build a simple Defold project using GitHub Actions)