Balatro motivated me to up my shadergame and now I find the fountain that quenches all my burning question. Searched for a way to inject parameters into shaders in an elegant way and this did it for me.
Super cute! I'd love to see you tackle the five different joker editions as well, especially polychrome (it's so pretty!). Those ones are definitely harder to do though, I know the dev spent a lot of time on them as he's talked about in interviews.
It feels like Balatro has more juice than a grocery store. As for the background shader, the closest I could find was a mixing paint shader on shadertoy, but I haven't looked into it too deeply.
Thanks for this excellent video! I was inspired to give the background shader a shot, and have a pretty close approximation. You're right that it's noise warping. The twist effect for boss fights can be achieved by tweening a spiral + rotation parameter. I may post a detailed breakdown somewhere soon!
holy hell, this was a perfect video to get remotivated. Been needing a nice godot take on this game. easy sub and will enroll in ur juice course at some point!
i'd like to see a tour around the animation aspect of godot the build in functionalities and using some external or custumized assets like character cheets and how to merge and make transitions between the animations, i've been searching content about it, but are not to much good content like yours
A simple trick to figure out how to make the background shader: Extract it from the game! Simplest way is to just copy the .exe and rename it to .zip first. The background shader is in the resources/shaders directory. It's 52 lines of code.
This goes for any shader in any game Because of how they need to be compiled at run time for every gpu, they are normally packaged in as source code even in AAA games.
Man, what an incredible tutorial! Thank you very much for existing! XD I have a question at 1:00, what kind of value should the variable angle_y/x_max be? Something like 45? What values did you use?
do you talk about your decision to use buttons for the cards anywhere? i am just getting started in godot and curious what the implications of such a choice would be in my own games.
I'm using buttons because they give me signals to know if we're hovering, clicking, etc and also because they would make supporting gamepad MUCH easier. That being said, you don't need them and you could recreate everything using Area2D for example
Working through this currently for the card game im making, great tips thanks so much for sharing! I'm getting a really weird issue with the "fake 3D" shader... I've got it mostly working using a viewport as per your video, but when rotating all the cards are upside down and stay that way when you leave the card area. Also hovering one card changes the rotation of all cards in hand, but I presume this is due to the way my individual project is set up. I'll need to take another look at everything, but I'd appreciate any thoughts re this!
I fixed the upside down issue, I had the default Angle X/Y Max set to 15 for some reason! It's been a long day... I still can't resolve the entire hand moving on mouse hover though, any help would be greatly appreciated!
The default angles are limited yes but you can change them without any problem. Every cards are moving because by default resources are shared in Godot. You can enable "local to scene" in your material to make sure it's going to be local to each card.
I'm sure that someone that is more familiar with shaders will correct me, but the background looks like its using Fractal Brownian Motion together with color change. You can look up how to do that with the Book of Shaders online.
pretty cool, makes the whole card feel alive! can you figure out how to hide the card by flipping it over, so we only see the back of the card so if the card game involves other players, it would be nice to hide it from other players.
Yeah sure you can look at the rotation value in the shader and if its above or below a certain value it means the card is showing the back so you can hide the front control node and show the back
0:28 you HAVE to explain how this shader works. I tried to recreate it for 2 hours and failed miserably, then I tried to look at the source code of the shader and didn't understand anything at all (curse vector math!!!!!)
Is anyone else having a strange problem with getting this to work in Godot 4.3? I've remade the project in 4.2 and it works fine but in 4.3 it seems like the velocity breaks down. Anyone have a solution to this?
This video is super useful. Godot motivated me to learn how to program. I'm trying to create a card game, so the video is ideal. For now I learned how to create menus and navigate through them. I also learned how to localize languages. I made a button to toggle between English and Spanish, but I don't know how to create a code that allows the selected language to be memorized when closing the application. Another button to reset to default values would also be nice. Could you help me? Thank you very much! :D
The game is not compiled or obfuscated, so if you own the game you should be able to open the games lua source code and investigate what is going on with thate background shader
I didn't realize you could create such amazing effects with so little code. Thank you.
Balatro motivated me to up my shadergame and now I find the fountain that quenches all my burning question.
Searched for a way to inject parameters into shaders in an elegant way and this did it for me.
The shine / shimmer effect on the "candy bar" at 07:16 is also really cool
SUMMONING ALGORITHM !
Perfect with this weekend's LD jam :)
Excellent tutorial. Truck load of information in less than 10 minutes. Score: 10/10. Perfect. Good job.
Incredible, i definitely like the polish you give to make games stand out, the godot engine is really nice
Thanks a lot to putting this together. I am a beginner both in Godot and Shaders and learned a lot.
really helpful! lots of little details I'd not have thought of replicating.
Glad you liked it :)
Love this one, I would love to see more like this. Exploring juicy games out there and reproducing their effects. Soo cool
Thanks! If you have recommendations for games you want me to explore, don't hesitate :)
Great tutorial, many thanks!
Glad you enjoyed it! Thank you for your donation :)
Super cute! I'd love to see you tackle the five different joker editions as well, especially polychrome (it's so pretty!). Those ones are definitely harder to do though, I know the dev spent a lot of time on them as he's talked about in interviews.
Oh yeah there are some cool shaders to reproduce, but it's a bit out of my league for now!
@@mrelipteach hoping that acerola tackles it
It feels like Balatro has more juice than a grocery store. As for the background shader, the closest I could find was a mixing paint shader on shadertoy, but I haven't looked into it too deeply.
Thanks for this excellent video! I was inspired to give the background shader a shot, and have a pretty close approximation. You're right that it's noise warping. The twist effect for boss fights can be achieved by tweening a spiral + rotation parameter. I may post a detailed breakdown somewhere soon!
Did you ever get a breakdown posted somewhere?
Wow this is awesome. Would love to see more videos recreating effects from really 'juicy' games in Godot.
Pretty neat! AAAAANNNNDDDD I bought your course 🤩
Awesome! Thank you!
Mate, this is awesome! Wish you lot of subscribers.
holy hell, this was a perfect video to get remotivated. Been needing a nice godot take on this game. easy sub and will enroll in ur juice course at some point!
Welcome aboard!
This information is GOLD!!!!
amazing video man
I was already wondering how some of these things work this is sick!
Glad you liked it!
Eyooo this is too good, you are one of the best godot content creators!
You are the best
awesome thanks for sharing. edit: ha I have already bought and watched your juice course. Keep the juice coming.
WoOo
thats impressive work
i was just implementing my own version of the card tilt effect using that same base shader :D crazy how the algorithm just works
Great video packed with useful information. Subscribed.
i'd like to see a tour around the animation aspect of godot the build in functionalities and using some external or custumized assets like character cheets and how to merge and make transitions between the animations, i've been searching content about it, but are not to much good content like yours
A simple trick to figure out how to make the background shader: Extract it from the game! Simplest way is to just copy the .exe and rename it to .zip first. The background shader is in the resources/shaders directory. It's 52 lines of code.
This goes for any shader in any game Because of how they need to be compiled at run time for every gpu, they are normally packaged in as source code even in AAA games.
Incredible! Never knew this, thanks for the tip!
Hi, could you please detail a bit more this method you are speaking about?
Nevermind I got it to work, thank you very much
Amazing tutorial!!!!! A lot of thanks!!!
so good video! hope you could share whole project in video. I love it very much!
The card3D effect example helped me a lot . Thanks
You're welcome!
pls i need, help. I don't know how to donwload the shader.
Thanks for sharing, def going to use some of this if I make a card game.
Please do!
Wow, it was a great and useful tutorials!
Glad to hear that!
Love the content! 🤩
Thank you 🙌
AWESOME Thank you very much m'y for this tresure my friend
As someone currently learning godot, this looks awesome and i cant wait to get to do this sorta stuff myself, once i start a proper project.
Good luck!
very interesting, will you also try to recreate the spiral from the background?
The card spiral in the intro or something else?
Man, what an incredible tutorial! Thank you very much for existing! XD
I have a question at 1:00, what kind of value should the variable angle_y/x_max be? Something like 45? What values did you use?
THIS IS VERY GOOD
Awesome vid, would love to see some of the backend card handling if you went in to that at all with this project.
Super professionnel, bravo et merci
Very very cool, learned a lot! Perfect mid level tutorial
man, I was REALLY hoping you would go into card foil effects. but still its a good tutorial
Great video!
Glad you enjoyed it
can you make a video talking about arctic eggs? i really want to make a low polly game in godot.
What would you like to see exactlyt? The low poly process?
@@mrelipteach i think recreating the mini game where you fry the eggs would be fun
I was waiting for the background 🥲
Some people gave intersting suggestions in the comments. You can look for FBM
Really cool! Thank you so much for sharing :) Quick question, where can I download the cards?
You can find them on my itch mreliptik.itch.io/playing-cards-packs-52-cards
@@mrelipteach thank you so much!
do you talk about your decision to use buttons for the cards anywhere? i am just getting started in godot and curious what the implications of such a choice would be in my own games.
I'm using buttons because they give me signals to know if we're hovering, clicking, etc and also because they would make supporting gamepad MUCH easier. That being said, you don't need them and you could recreate everything using Area2D for example
Great video
FencerDevLog uploaded a tutorial last month for a 'Warped plasma shader' that's exaclty the background swirling effect.
Thanks, I'll check it out!
me bookmarking all your videos for when I have I time to dig more into godot: 👁👄👁
Ahhh awesome! Don't hesitate if you have any questions ;)
Working through this currently for the card game im making, great tips thanks so much for sharing!
I'm getting a really weird issue with the "fake 3D" shader... I've got it mostly working using a viewport as per your video, but when rotating all the cards are upside down and stay that way when you leave the card area.
Also hovering one card changes the rotation of all cards in hand, but I presume this is due to the way my individual project is set up. I'll need to take another look at everything, but I'd appreciate any thoughts re this!
I fixed the upside down issue, I had the default Angle X/Y Max set to 15 for some reason! It's been a long day...
I still can't resolve the entire hand moving on mouse hover though, any help would be greatly appreciated!
The default angles are limited yes but you can change them without any problem.
Every cards are moving because by default resources are shared in Godot. You can enable "local to scene" in your material to make sure it's going to be local to each card.
@@mrelipteach Thank you so much, that fixed it!
nice content
Thank you! 🙂
The background appears to be using a flowmap.
Would you make tutorial on foil and holographic effect shader? It is really beautiful but I have no idea how to replicate it.
I don't know how to do it tbh!
@@mrelipteach same it looks kinda difficult. I Only see tutorial for 3D
Wasn't Balatro's source code visable from within the steam release version openly?
Balatro is made with Lua so technically the code is visible yes as there's no mechanism to "hide"
I'm sure that someone that is more familiar with shaders will correct me, but the background looks like its using Fractal Brownian Motion together with color change. You can look up how to do that with the Book of Shaders online.
Ah yeah it seems it could be a great match
pretty cool, makes the whole card feel alive!
can you figure out how to hide the card by flipping it over, so we only see the back of the card so if the card game involves other players, it would be nice to hide it from other players.
Yeah sure you can look at the rotation value in the shader and if its above or below a certain value it means the card is showing the back so you can hide the front control node and show the back
@@mrelipteach thats interesting, thank you for the reply!
these are cool! can i use it for my project
Yes of course!
Great work! I would like to use this in my own projects. Could you add a license to your github repository by any chance? Thank you.
Yes, sure, I'm doing it asap
@@mrelipteach Thanks so much!
I nice to share and tech stuff is a lot of work in design. XD
Amazing🎉
Brilliant
Does the shader work if I'm using it on Sprite2D as well? Or only TextureRect
I don't see any reason why it wouldn't work. A canvasitem shader will work on any canvasitem derived node
4:21 huge missed opportunity to write Balatrecreation
Next time!
Brouhhh... but how did y implement the dragging mechanism ??
You can look at the code. When I click on a card, I move it to the position of the mouse every time the mouse move
@@mrelipteach ok thanks cool #####
Lovely
0:28 you HAVE to explain how this shader works. I tried to recreate it for 2 hours and failed miserably, then I tried to look at the source code of the shader and didn't understand anything at all (curse vector math!!!!!)
I think you should look at the math behind perspective calculation, it's not related to Godot
Hell yeah
@6:09 The shadow under the main deck card is too distracting.
Could you share your editor theme? It looks really neat
I'm using the one from passivestar: github.com/passivestar/godot-minimal-theme
@@mrelipteach Thanks!
Is anyone else having a strange problem with getting this to work in Godot 4.3? I've remade the project in 4.2 and it works fine but in 4.3 it seems like the velocity breaks down. Anyone have a solution to this?
This video is super useful. Godot motivated me to learn how to program. I'm trying to create a card game, so the video is ideal. For now I learned how to create menus and navigate through them. I also learned how to localize languages. I made a button to toggle between English and Spanish, but I don't know how to create a code that allows the selected language to be memorized when closing the application.
Another button to reset to default values would also be nice. Could you help me? Thank you very much! :D
The Godot docs is a good ressource to get started: docs.godotengine.org/en/stable/tutorials/io/saving_games.html
Nice godot theme, where do i find it?
I think it's from Passivestar github.com/passivestar/godot-minimal-theme
The game is not compiled or obfuscated, so if you own the game you should be able to open the games lua source code and investigate what is going on with thate background shader
Yeah totally. Someone made a Godot port of that shader and I think it's available on Godot shaders now
FOR THE ALGORITHM!
Nice explanations, do you have a Github link? BTW I bought your Udemy course last year
Yes, it's in the description! Thank you, I hope you enjoyed it :)
Alternative title: Other people already did most of the work for creating Balatro's effects in Godot!
Oh yeah sorry next time I'll make sure to start by creating my own engine first
@@mrelipteach OS and microprocessor chip instructions too! 😤
you can make a prototype like axie infinity
Looks great! Good job 👍
Thank you! Cheers!
Sir, may I repost your tutorial on a Chinese platform? TH-cam is not available in China.
Sheeeesh
i actually don’t notice these effects because I use Xbox controller to play
There is a tut on how to decompile Balatro. th-cam.com/video/hmnbda6hJVM/w-d-xo.html
Better title: “I used premade shaders to create effects from balatro”
too bad, I wouldn’t be able to make this in Roblox with just 2D
Please make youtube in godot with api !!!!!
Algorithm
I was hoping to see the card edition effects replicated... too bad. Most of this video boiled down to "I used someone else's shader"
What's the card edition effect? Sorry but this is what gamedev is like most of the time
@@mrelipteach Polychrome / Holo / Foil
make big tutorial how to make your game more juicy
sprinkle some nodes
pour some juice 🧃
oh mighty algorithm
i summon you! 🙌