GodotGameLab
GodotGameLab
  • 24
  • 173 391
Shop and Treasure Room for a Roguelike Deckbuilder in Godot (S02E12)
Welcome to the second season of the "Godot 4 Card Game Course" using the powerful Godot engine! 🎮
In this beginner-intermediate tutorial, we'll implement shops and treasure rooms.
⏰ Timestamps:
00:00 - Intro & Demo
02:08 - Creating the Shop Scene
12:20 - Creating the ShopCard Scene
19:09 - Coding part for ShopCard
28:36 - Tooltips for ShopCards
36:29 - Creating the ShopRelic Scene
38:03 - Coding part for ShopRelic
41:35 - Tooltips for ShopRelics
46:21 - Coding the Shop
53:44 - Ko-Fi Page Self-Promotion
53:53 - Hooking up the Shop in Run
59:39 - Making the Shopkeeper Blink
01:01:57 - Creating the Coupons Relic
01:22:50 - Preparing the BattleReward for Relic rewards
01:26:35 - Creating the Treasure Scene
01:43:09 - Coding the Treasure Room
01:50:11 - Hooking up the Treasure inside Run
01:54:54 - Outro & Credits
👩‍💻 Season 2 Starter Project on GitHub:
github.com/guladam/deck_builder_tutorial/tree/season-2-starter-project
🔥 Connect with Me:
Instagram: adamgulacsi
Twitter: adam_gulacsi
Mastodon: mastodon.gamedev.place/@guladev
#godot #godot4 #cardgames #gamedev #indiedev
zhlédnutí: 513

Video

Slay the Spire-style Relics in Godot (S02E11)
zhlédnutí 1,3KPřed 21 hodinou
Welcome to the second season of the "Godot 4 Card Game Course" using the powerful Godot engine! 🎮 In this beginner-intermediate tutorial, we'll implement relics. ⏰ Timestamps: 00:00 - Intro & Demo 02:23 - Architecture Overview 09:03 - Creating the Relic Resource 16:54 - Creating RelicUI 29:21 - RelicHandler Node Hierarchy and Visuals 37:28 - Coding the Visual Logic for the RelicHandler 54:15 - ...
Dynamic UI for a Roguelike Deckbuilder in Godot (S02E10)
zhlédnutí 2,2KPřed měsícem
Welcome to the second season of the "Godot 4 Card Game Course" using the powerful Godot engine! 🎮 In this beginner-intermediate tutorial, we'll implement Dynamic UI which reacts to all the modifiers and status effects in the game. ⏰ Timestamps: 00:00 - Intro & Summary 00:42 - Making the Enemy Intent System Dynamic 22:34 - Making the Card Tooltip System Dynamic 22:53 - Changing Card.gd 24:47 - U...
Modifier System for a Roguelike Deckbuilder in Godot (S02E09)
zhlédnutí 2,9KPřed měsícem
Welcome to the second season of the "Godot 4 Card Game Course" using the powerful Godot engine! 🎮 In this beginner-intermediate tutorial, we'll implement the Modifier System so the Player and Enemies can be buffed or debuffed during combat. ⏰ Timestamps: 00:00 - Intro & Demo 05:03 - Architecture Overview 10:58 - Creating ModifierValue 15:45 - Creating Modifier 23:39 - Creating ModifierHandler 2...
Status Effect System for a Roguelike Deckbuilder in Godot (S02E08)
zhlédnutí 2,6KPřed měsícem
Welcome to the second season of the "Godot 4 Card Game Course" using the powerful Godot engine! 🎮 In this beginner-intermediate tutorial, we'll implement the Status System so the Player and Enemies can be buffed or debuffed during combat. ⌚ Timestamps: 00:00 - Intro & Demo 03:04 - Status Effects in Slay the Spire 06:06 - Statuses: Architecture Overview 10:06 - Sidenote on Bug Tracking and Movin...
Creating a Cozy Pixel Campfire for a Roguelike Deckbuilder (S02E07)
zhlédnutí 1,8KPřed 2 měsíci
Welcome to the second season of the "Godot 4 Card Game Course" using the powerful Godot engine! 🎮 In this beginner-intermediate tutorial, we'll implement the Campfire System so the Player can restore HP between Battles. Timestamps: 00:00 - Intro & Demo 01:26 - Architecture Overview 02:46 - Fixing a Bug #1: Discarding with and Empty Hand 06:34 - Fixing a Bug #2: Scrolling an Invisible Map 10:02 ...
Creating a Flexible Roguelike Encounter Pool System in Godot 4 (S02E06)
zhlédnutí 3,3KPřed 3 měsíci
Welcome to the second season of the "Godot 4 Card Game Course" using the powerful Godot engine! 🎮 In this beginner-intermediate tutorial, we'll implement the BattleStats System so we can assign random battles to the different rooms in the map. Timestamps: 00:00 - Demo & Intro 03:37 - Architecture Overview 07:51 - Minor Refactor 14:19 - BattleStats Resource (Code) 16:24 - BattleStats Resource (E...
How to Generate a Slay the Spire-style Roguelike Map in Godot 4 (S02E05)
zhlédnutí 7KPřed 3 měsíci
Welcome to the second season of the "Godot 4 Card Game Course" using the powerful Godot engine! 🎮 In this beginner-intermediate tutorial, we'll implement the long awaited procedural Map Generation system. ☕ If you want to support me, buy me a coffee at: ko-fi.com/godotgamelab 🃏 Part 2: Card Rarity, Gold, BattleRewards 00:00 - Intro & Demo 02:04 - Map: Architecture Overview 03:22 - Map Generatio...
Godot 4 Intermediate Card Game: Card Rarity, Gold, Battle Rewards (S02E04)
zhlédnutí 2,8KPřed 4 měsíci
Welcome to the second season of the "Godot 4 Card Game Course" using the powerful Godot engine! 🎮 In this beginner-intermediate tutorial, we'll implement the CardPileView which use to display the Deck, Draw Pile and Discard Pile when playing the game. ☕ If you want to support me, buy me a coffee at: ko-fi.com/godotgamelab 🃏 Part 2: Card Rarity, Gold, BattleRewards 00:00 - Intro & Demo 01:24 - A...
Godot 4 Intermediate Card Game: CardPileView (S02E03)
zhlédnutí 3KPřed 4 měsíci
Welcome to the second season of the "Godot 4 Card Game Course" using the powerful Godot engine! 🎮 In this beginner-intermediate tutorial, we'll implement the CardPileView which use to display the Deck, Draw Pile and Discard Pile when playing the game. ☕ If you want to support me, buy me a coffee at: ko-fi.com/godotgamelab 🃏 Part 2: CardPileView 00:00 - Intro & Demo 01:29 - Architecture Overview...
Godot 4 Intermediate Card Game: MainMenu & Run (S02E02)
zhlédnutí 6KPřed 4 měsíci
Welcome to the second season of the "Godot 4 Card Game Course" using the powerful Godot engine! 🎮 In this beginner-intermediate tutorial, we'll implement the MainMenu and the ‘brain’ of the whole operation, the almighty Run Scene. ☕ If you want to support me, buy me a coffee at: ko-fi.com/godotgamelab 🃏 Part 1: MainMenu, CharacterSelector & Run Scene 00:00 - Intro & Demo 02:21 - Code Changes Fr...
Godot 4 Intermediate Card Game: Architecture & Setup (S02E01)
zhlédnutí 8KPřed 4 měsíci
Welcome to the second season of the "Godot 4 Card Game Course" using the powerful Godot engine! 🎮 In this beginner-intermediate tutorial, we'll kick off our game development journey by laying the foundation for the new set of features for our card game. We are talking map generation, relics, treasure chests, campfires and much more… Let's dive in. ☕ If you want to support me, buy me a coffee at...
Why is it so FRUSTRATING to learn GAMEDEV from TUTORIALS?
zhlédnutí 3,5KPřed 5 měsíci
This video tries to answer the age-old indie gamedev question: how to escape tutorial hell? We explore a framework to understand different kinds of tutorials and you can choose the right one for your skill level. There are also 6 handy tips for maximizing your game dev learning when watching tutorials. ☕ If you want to support me, buy me a coffee at: ko-fi.com/godotgamelab 🔥 Chapters 0:00 - Int...
How I Design Architecture for Godot Engine Projects
zhlédnutí 11KPřed 5 měsíci
In this in-depth video, we'll go a journey through the intricacies of designing code architecture for larger scale Godot games. Whether you're a seasoned developer or just getting started, this tutorial will provide you with invaluable insights and actionable tips to elevate your game software architecture. 🎓 Learn More About Godot: Godot Docs: docs.godotengine.org/en/stable/getting_started/ste...
CHANNEL UPDATE: What's NEXT? New GODOT 4 COURSES?
zhlédnutí 1,2KPřed 5 měsíci
In this video we talk about what to expect next from the Godot GameLab, what kind of free Godot 4 Courses should I make in the future and more. ☕ If you want to support me, buy me a coffee at: ko-fi.com/godotgamelab 🔥 Connect with Me: Instagram: adamgulacsi Twitter: adam_gulacsi Mastodon: mastodon.gamedev.place/@guladev #godot #godot4 #godotengine #tutorial #godotgamelab
Slay the Spire Clone Godot 4 Tutorial: SFX, Music & Adding New Content (S01 FINALE)
zhlédnutí 5KPřed 5 měsíci
Slay the Spire Clone Godot 4 Tutorial: SFX, Music & Adding New Content (S01 FINALE)
Slay the Spire Clone Godot 4 Tutorial: Enemy Intents & Polish (08/08)
zhlédnutí 3,4KPřed 6 měsíci
Slay the Spire Clone Godot 4 Tutorial: Enemy Intents & Polish (08/08)
Slay the Spire Clone Godot 4 Tutorial: Enemy AI, Win/Lose States (07/08)
zhlédnutí 4,6KPřed 6 měsíci
Slay the Spire Clone Godot 4 Tutorial: Enemy AI, Win/Lose States (07/08)
Slay the Spire Clone Godot 4 Tutorial: Card Tooltips, Drawing & Discarding (06/08)
zhlédnutí 6KPřed 6 měsíci
Slay the Spire Clone Godot 4 Tutorial: Card Tooltips, Drawing & Discarding (06/08)
Slay the Spire Clone Godot 4 Tutorial: Card Visuals + Logic, Mana Management (05/08)
zhlédnutí 8KPřed 6 měsíci
Slay the Spire Clone Godot 4 Tutorial: Card Visuals Logic, Mana Management (05/08)
Slay the Spire Clone Godot 4 Tutorial: Stats with Resources (04/08)
zhlédnutí 9KPřed 6 měsíci
Slay the Spire Clone Godot 4 Tutorial: Stats with Resources (04/08)
Slay the Spire Clone Godot 4 Tutorial: Card Aiming (03/08)
zhlédnutí 11KPřed 6 měsíci
Slay the Spire Clone Godot 4 Tutorial: Card Aiming (03/08)
Slay the Spire Clone Godot 4 Tutorial: Card Dragging & State Machines (02/08)
zhlédnutí 28KPřed 6 měsíci
Slay the Spire Clone Godot 4 Tutorial: Card Dragging & State Machines (02/08)
Slay the Spire Clone Godot 4 Tutorial: Intro, Architecture & Setup (01/08)
zhlédnutí 39KPřed 6 měsíci
Slay the Spire Clone Godot 4 Tutorial: Intro, Architecture & Setup (01/08)

Komentáře

  • @fosphos
    @fosphos Před 8 hodinami

    Hey, thanks a lot for continuing the series! It's probably the most useful Godot tutorial on CZcams that I've seen yet. Especially valuable the parts where you talk about architecture and how to keep the game easily maintainable, so please keep doing that!

    • @godotgamelab
      @godotgamelab Před 5 hodinami

      Thanks for the kind words, it helps a lot! ❤

  • @simoncarden3390
    @simoncarden3390 Před 16 hodinami

    Hi Adam, just wanted to say you're doing an amazing job. As a beginner I am learning so much, you manage the pacing well while explaining in detail. Once I got past the intial jargon, I could start fixing my mistakes based on the debugger and not just going back through your video step by step (which I did have to do the first few times). I've created a seperate project and while basing a lot of the code from your tutorials, the progress I have been able to make in 1 week is far beyond what I could have imagined. I had previously looked at doing the paid courses, but they pale in comparison. If you're open to it I suggest a patreon or similar as I would be willing to donate a small amount monthly (cheaper than those courses anyways!). If not I will send over an email where if you wish you can provide some payment option. Thanks again and keep up the amazing work, I'm sure I speak for many when I say it is very much appreciated. Cheers!

    • @simoncarden3390
      @simoncarden3390 Před 16 hodinami

      Nevermind just found your ko-fi and ofcourse became a lab-tech.

    • @godotgamelab
      @godotgamelab Před 12 hodinami

      Hey Simon, Thanks for the very kind words. I'm glad you learn a lot with the course! :) I do have a Ko-Fi page where you can donate one-time or you can become a member. Membership grants early access for all my content.

  • @matthewshute9036
    @matthewshute9036 Před 19 hodinami

    Spent an embarrassing amount of time wondering why I wasn't getting the "Victory!" debug message ... and then I realized there is a button that can filter those messages.😅

    • @godotgamelab
      @godotgamelab Před 12 hodinami

      Ouch... Lesson learned I guess? 😅

  • @h.thomasseckinger3509
    @h.thomasseckinger3509 Před 20 hodinami

    Not sure if it's just me but I'm insanely stumped.

  • @grimreaper7059
    @grimreaper7059 Před dnem

    Once I implemented a pause at around 35:00 I got an error whenever I lose in the game and click on restart button. This error happens : Invalid set index 'position' (on base: 'Nil') with value of type 'Vector2'. It points to the last line of the Shaker script's shake function where the position of the thing is changed. To fix it I wrapped it inside this check : tween.finished.connect(func() -> void: if is_instance_valid(thing): thing.position = orig_pos ) It fixed it for now. It probably happened because something that shaker needed got removed or whatever. I use 4.2.1 version of Godot which is likely a bit newer than the one in the video. I checked the source code for season one and it did not have this fix but his version did work for him for some reason. Maybe I missed something somewhere.

  • @ophanap
    @ophanap Před dnem

    Just finished this one. I'm hoping its because I've picked up a few tricks, but that one was a breeze to get through! :D Everything made sense straight away. Thanks for another great episode!

  • @sebastiandendulk3275

    as an educator myself, I am so thankful for your content. It is always high-quality and informative. I can't wait to apply all of this when publishing my first game :D

    • @godotgamelab
      @godotgamelab Před 2 dny

      thanks for the kind words! :) would love to play your game when you're finished! good luck

  • @skusku6636
    @skusku6636 Před 2 dny

    This tutorial series is a god sent! You are really helping at making my own godot game. It may be late but I have an issue: just after implementing the drawind functionality, if I launch the scene the game freezes with this bug: Invalid get index 'reparent_requested' (on base: 'Control (CardUI)') I'm adapting your code to suit my game but I have followed everything you did, you know where I can investigate to solve this bug?

    • @godotgamelab
      @godotgamelab Před 2 dny

      Hi, Glad you like it! it seems like you are missing the reparent_requested signal from the CardUI class? If it helps you can find the finished season 1 source in this branch: github.com/guladam/deck_builder_tutorial/tree/season-1-code

    • @skusku6636
      @skusku6636 Před dnem

      @@godotgamelab I was able to fix it thanks to the source you provided thank you sooooo much!

  • @chair5613
    @chair5613 Před 3 dny

    I've really enjoyed this series so far and think it's really well done. You explain things quite clearly and break down individual parts in ways that are clear and easy to understand. That said, I really don't like how you just pasted in the code for calculating the points of the card_arc and then moved on without explaining how any of it works. You briefly demonstrate the effect of the easing function, but you don't explain how or why it works, just that it does. I have copied the code into my project but I haven't learned anything, meaning I still cannot replicate what you did in the future in my own projects, which defeats the point of a tutorial. Again, this goes just for that one specific part of this video. I've learned a lot from everything else, and overall do think these are really good tutorials except for this one bit.

    • @godotgamelab
      @godotgamelab Před 3 dny

      Hey, What part specifically needs more explanation? I feel like if you know what a function is, it's very intuitive with the visual explanation. You can find all the common easing functions on easings.net/ If you click on them you'll see the math implementation. I don't think there is much else to it, but let me know how I can help.

    • @chair5613
      @chair5613 Před 3 dny

      ​@@godotgamelab It's the entire _get_points() function that you didn't really explain at all. Up until this point you've done a pretty great job at explaining pretty much what every line of code is doing, but here you skipped over the entire function and went straight into your visual explanation of the ease function, which doesn't explain how you actually utilized it. How you calculated the t, x, and y variables, and what t even means aren't intuitive and an explanation of what this code is doing is sorely missing from the video.

    • @godotgamelab
      @godotgamelab Před 3 dny

      ​@@chair5613 Alright, I still think it's pretty intuitive but I can try to break it down further to you if you want it to: Let's say you have eight points in the arc right? t will be a floating point value between 0 and 1. In this context, 0 means it's at the start point of the "path" (the arc) and 1 means it's at the target, or end point. You can think of it as a "percentage of distance travelled in the path": 0.0 -> 0% and 1.0 is 100%. When we define any point in the coordinate system we have to use two values, an X and a Y. On the X we don't want to do any easing, we want the points to have equal distance between each other. The X variable's assignment does just that. So there is NO EASING applied on the X axis, those are just eight different coordinates, equally spread throughout the whole distance of the mouse and the card's top center position. To achieve that, we divide distance we need to travel on the X axis into 8 equal parts in this example (distance.x / ARC_POINTS) and multiply it by "i" which is the index of the current point. We add this value to the starting position to get the current X value, depending on which point we are calculating currently. For the first point it will be start.x + 0 (because "i" is 0), for the second it will be start.x + 1/8th of the full distance and so on... On the Y we basically do the same thing but we don't want it to be 8 equal parts like on the X axis, otherwise we would have a straight line. So instead what we do, is we transform the amount we want to change on the Y axis FOR EACH POINT, with the help of an easing function. That's what we use that t variable for, as I explained it above. The rest is explained and demonstrated in the video pretty well I think. Let me know if this helps. Hopefully it does.

    • @chair5613
      @chair5613 Před 3 dny

      @@godotgamelab That's a pretty good explanation and helps me to understand it better. Thank you. Some form of that should have been in the video. I still don't know why you think that's intuitive. I think you're assuming a better understanding of vector math from your viewers than I expected to need for a UI-based game that doesn't have any physics or character movement.

  • @horesfan400
    @horesfan400 Před 4 dny

    When it comes to the RelicHandler scene, I decided to use a scroll container with a HBoxContainer as its child to display the relics.

  • @yellowyellow99
    @yellowyellow99 Před 5 dny

    Hey Adam, I've been following your series a little behind. Will you make a save/load system in the future episodes? By the way, I'm learning a lot from the series, thank you for that.

    • @godotgamelab
      @godotgamelab Před 5 dny

      Yes! The Save/Load system and seed-based random generation will be in the last episode!

  • @gameboyj6309
    @gameboyj6309 Před 5 dny

    I think i followed every step, but for some reason, and it works until then, but after 36:49 - Continuing the Card Target Selector Script, the game crashed when i try to aim with the card, and it gives an error, saying that current_card is nill. Anyone that has an idea of what might be wrong? When and where should it have been set? edit: I figured it out, When i was typing the function _on_card_aim_started, i accidentally put the code for _on_card_aim_ended

  • @pizzaturtle6226
    @pizzaturtle6226 Před 6 dny

    Thank you so much for this video series. I am currently learning Godot and this has been a godsend in helping me create the game i want to make so i am very grateful for this priceless knowledge.

    • @godotgamelab
      @godotgamelab Před 6 dny

      thanks for the kinds words! good luck with your game 😊

  • @thewmadlad
    @thewmadlad Před 6 dny

    Kedves Ádám! A videóidban található architektúra számomra lenyűgöző. Ez az első tutorial sorozat, aminek minden epizódját megnézem, mert úgy érzem, hogy szakember csinálja (rengeteg másik sorozatot optimalizálatlannak, skálázhatatlannak éreztem). Csak így tovább, fantasztikus amit csinálsz!

    • @godotgamelab
      @godotgamelab Před 6 dny

      Nagyon köszönöm a kedves szavakat! Örülök, ha tetszik ^_^

  • @Steev42
    @Steev42 Před 6 dny

    Finally found the time to watch this. Quite enjoy it, though I can certainly see gaps in this system from some relics in STS ("When you apply poison stacks, add 1 extra poison stack" for instance). With that said -- is there a reason you chose this way instead of just tying relics and statuses together? I think they're very similar systems and probably work much the same way.

    • @godotgamelab
      @godotgamelab Před 6 dny

      Yes, there is a reason: statuses can only do their thing inside a Battle. There are no status effects outside the context of a Battle. But there are many relics in slay the spire which can alter basically anything in the game. Changing ? Rooms, giving shop discount, increasing the chance of getting rare cards, just to name a few. You can't do any of those if you're restricted to the battle. That said, you can go for your own implementation if you don't like this one. I just tried to create the most flexible solution possible.

    • @Steev42
      @Steev42 Před 6 dny

      @@godotgamelab ah, no. That makes sense. Just hadn't thought it through.

  • @looterman_
    @looterman_ Před 6 dny

    It seemed like a lot of overhead to have to type out "card_ui.panel.set("theme_override_styles/panel", card_ui.STYLE_NAME)" every time, so I approached it differently and added a STYLE enum with BASE, DRAGGING, HOVER, and a styles array with all styles inside this array, then added a function called set_style(style: STYLE) to the card_ui so now I only have to call card_ui.set_style(card_ui.BASE) to set the style, is there anything wrong with this approach?

    • @godotgamelab
      @godotgamelab Před 6 dny

      Nothing wrong with it. I actually think it's a good idea, I like it a lot! :)

    • @looterman_
      @looterman_ Před 6 dny

      @@godotgamelab glad to hear! This has been a great series to follow and I’ve been learning a lot from it, so thank you for taking the time to create it :)

  • @blueeyedwhiskey
    @blueeyedwhiskey Před 7 dny

    Very nice, thanks for another great episode Adam! One thing I noticed, to work around that issue with child_order_changed when exiting (in both RelicsControl and Battle), instead of calling is_instance_valid on a specific child node you can just check if the node is inside the tree which is a bit neater. if not is_inside_tree(): return

    • @godotgamelab
      @godotgamelab Před 7 dny

      Yep, that's a good one too, thanks for sharing ☺️👌

  • @ince55ant
    @ince55ant Před 7 dny

    clicked this video on a whim. no plan to make anything like this. but the whole thing is just so well laid out. i hate how overly direct most tutorials are, so few explain WHY they are doing things. laying out the whole thing as you did is great and should be standard (though thats a lot of work to be given out for free, which makes your efforts more impressive)

    • @godotgamelab
      @godotgamelab Před 7 dny

      Thanks for the kind words, it means a lot ☺️

  • @bigdirtyphil
    @bigdirtyphil Před 7 dny

    This tutorial series is awesome and I can't wait to continue! One thing I noticed (not sure if you've addressed this in a future video) that I'm not sure how to properly fix - when you release a card very soon after starting to drag it (don't move it too far), it loses the hover effect, even though the mouse is still over it, since entering the base state sets it back to the base stylebox. I'm wondering what the best approach would be to make sure that the hover stylebox is still applied in this case? I was thinking when entering the base state you could simply detect if the mouse is still overlapping the card and set the hover stylebox in that case, otherwise set the base stylebox. But I'm not sure if that solution would be the best. Would love to know how you would approach fixing that small bug!

  • @dirtii9701
    @dirtii9701 Před 8 dny

    Two little things I would like to add for this video, if you go to Editor, and under the interface drop down, you can select Scene Tabs, and if you check off 'Show Script Button' it adds a clickable script button to each open scene tab that takes you to that scenes script. Helpful for swapping around scripts quickly if your working on a specific set of scenes/scripts. Also one bug that I noticed while testing was that if you already have all of the relics, and get to a treasure room and open the chest, it will crash the game because you already have all the relics and therefore will not actually generate one as a reward.

    • @ophanap
      @ophanap Před 23 hodinami

      I added that script shortcut when I stumbled on it randomly a few episodes ago and it's saved so much time!

    • @godotgamelab
      @godotgamelab Před 5 hodinami

      Thanks for the tip, sounds super useful! Can you submit the bug on: github.com/guladam/deck_builder_tutorial/issues thanks again😁

  • @Khalyn12
    @Khalyn12 Před 8 dny

    Relics are finally here :D gj on the video and keep up the good work!

  • @raajshreedhar2993
    @raajshreedhar2993 Před 8 dny

    Hey mate, i started working on the shop early as a trial for me, ive made the scene and the button to buy a card pack which instanstiates from the crad rewards at it all work It even minuses 150 gold however i need your help I have a function that wants to check if you have enough gold to purchase and it tries to disable the button but it doesn't work for me Could i get some help? I just want to check if the the gold is below 150 to disable the buy button that's all Is there a simple way sir?

    • @godotgamelab
      @godotgamelab Před 8 dny

      The next video will cover my Shop implementation, maybe it will give you an idea 💡 Stay tuned!

  • @felipezymor9970
    @felipezymor9970 Před 8 dny

    Tip for the campfire: use the diamond sprite (the one used for card rarity), and increase the amount (currently 128). This makes a bold fire, pretty cool. Also, in the scale, in the end, let it go towards 0 in order to have a nice fading effect as ashes (it's even better if you place gray as the last color of the gradient).

    • @godotgamelab
      @godotgamelab Před 8 dny

      Cool tips, thank you! ☺️👌

    • @felipezymor9970
      @felipezymor9970 Před 7 dny

      @@godotgamelab thank you! And hey, you're the only in CZcams that not only makes a game, but teaches software engineering

  • @navinate
    @navinate Před 8 dny

    Such a good series. So helpful!

  • @612Luck
    @612Luck Před 8 dny

    awesome ! this is one of the channels that i wait fot every single video!

  • @OHTASISAN
    @OHTASISAN Před 8 dny

    youre awesome man keep up the good work!

  • @affablevagrant
    @affablevagrant Před 8 dny

    "hand: Hand = $Hand as Hand" ☠

  • @Xipheos_
    @Xipheos_ Před 9 dny

    Hey, Im really enjoying the videos but Im at 1:06:38 and I've been following your tutorials and I think I did everything alright but in this case when I debug it, it doesn't crash, it doesn't cause a error, it just freeze and I don't know whats making it fail. If you have a mail or discord and you would be down to help me it would be soooo apreciated

    • @godotgamelab
      @godotgamelab Před 9 dny

      Hey, you can find my mail in the channel's about section! I'm happy to help

  • @raajshreedhar2993
    @raajshreedhar2993 Před 9 dny

    Hey mate, thanks for releasing another vid I have a question to ask, when I lose a battle and click restart it just shows the map scene that doesn't move, is there a simple fix or is it difficult I want to make it return to the main menu after losing but I'm not sure how?

    • @godotgamelab
      @godotgamelab Před 9 dny

      Hey, I'll look into it, it's maybe a bug for the whole project? I'll dedicate a whole video to bug fixing at the end of season 2

    • @cavinraj1678
      @cavinraj1678 Před 8 dny

      Yea I have the same problem too

    • @godotgamelab
      @godotgamelab Před 8 dny

      @@cavinraj1678 then it's probably a bug with the project, I'll check it out!

    • @cavinraj1678
      @cavinraj1678 Před 8 dny

      @@godotgamelab thanks mate.Would really appreciate it if you could solve it in the next vid

  • @kamilucky813
    @kamilucky813 Před 9 dny

    Your code is p clear. Thanks to it i was able to solve an error that was thrown cause i had State instead of state

  • @cavinraj1678
    @cavinraj1678 Před 10 dny

    Hey mate great tutorial.Just one question,when will the shop system tutorial come out ?

    • @godotgamelab
      @godotgamelab Před 9 dny

      Hey! The relic one drops this weekend, then porbably the shop one is next week.