Debugging Tips You MUST Know as a Godot Developer

Поділитися
Вставка
  • Опубліковано 16 вер 2024

КОМЕНТАРІ • 91

  • @DucktatorD
    @DucktatorD Місяць тому +19

    Damn, its actually strange none of the courses I've done so far even mention any of this, the most they tell you about print and printt.

  • @Qas22w
    @Qas22w Місяць тому +4

    Nice tips! I want to improve the first one a little bit. You should start the func with "if not OS.is_debug_build(): return" on the first line, and keep all the hotkeys below this. It keeps you from having to write "not OS.is_debug_build()" on every hotkey snippet.

    • @dev-worm
      @dev-worm  Місяць тому +1

      that is a very good point! that would make it much simpler

  • @jeremiahaemile2008
    @jeremiahaemile2008 Місяць тому +8

    although i take break from gamedev and start in appdev
    i still watch your amazing videos
    keep up😻

    • @dev-worm
      @dev-worm  Місяць тому +1

      aw thank you so much!! it truly means the world jeremiah!! it always makes me so happy to see your comment!

  • @DutchyTechTips
    @DutchyTechTips Місяць тому +2

    Thank you, very helpful and we can now make changes to suit.

  • @Seraph120
    @Seraph120 Місяць тому

    Thank You for Your video! For Me personally, You chose good selection of things to cover. And i find Your explanations are well between in-depth and to the point.

    • @dev-worm
      @dev-worm  Місяць тому

      Glad it was helpful!

  • @we1n1ng
    @we1n1ng Місяць тому

    I was wondering how I was going to start debugging and understanding various errors that occur. Again, thank you for the tips 🙏

    • @dev-worm
      @dev-worm  Місяць тому +1

      i’m glad it was helpful!! your comment has made my day!! it truly means the world!! if you have any questions just let me know!!

    • @we1n1ng
      @we1n1ng Місяць тому

      @@dev-worm I appreciate your response and you are most welcome. I will, thank you.
      Please keep up the good work you're doing 🙂

  • @pennyloafers
    @pennyloafers Місяць тому

    The debug panel and remote tree can do most of this video for you without any code. You can modify values in any node in the scene tree. Although a little more manual and also pausing is a thing.
    You also have "breakpoint" keyword which wasn't mentioned which can be used for condition breakpoints.

  • @DrW1ne
    @DrW1ne Місяць тому +28

    Best way to debug is to not make bugs in the first place. Sadly that's hard.

    • @thesomeone2nd
      @thesomeone2nd Місяць тому +3

      More like impossible unless you practice the same project a lot of times.

    • @dev-worm
      @dev-worm  Місяць тому +3

      i wish it wasn’t hard lol

    • @hotcrossbun26
      @hotcrossbun26 Місяць тому +2

      I feel so stupid now for writing code with bugs in it. It was this simple the whole time 😂

    • @NexNoctis
      @NexNoctis Місяць тому +2

      That's like saying: 'The secret to an endless life is to be immortal.' It it true, but it's not helpful at all :D

    • @DrW1ne
      @DrW1ne Місяць тому

      @@NexNoctis lmao

  • @YamanAlBaini
    @YamanAlBaini Місяць тому +2

    This video is so helpful although it is simple
    Thanks a lot❤

    • @dev-worm
      @dev-worm  Місяць тому

      thank you!! i hope it provided a bit of value!

  • @CFiu8737
    @CFiu8737 Місяць тому

    That help me so much!!
    You are the best

    • @dev-worm
      @dev-worm  Місяць тому +1

      so happy to help!!

  • @neptun3189
    @neptun3189 Місяць тому

    grats on 30k dude, so good to see

    • @dev-worm
      @dev-worm  Місяць тому

      thank you so much! it means the world!

  • @acetrainerarcane1755
    @acetrainerarcane1755 Місяць тому +1

    Im glad I found this when I'm starting to create my game for a jam

    • @dev-worm
      @dev-worm  Місяць тому +1

      that is amazing!! i hope it can help!! goodluck in the game jam!! update me on how it goes!

  • @tigwykplaysgames
    @tigwykplaysgames Місяць тому

    The tip about push_error was super useful, thanks!

    • @dev-worm
      @dev-worm  Місяць тому +1

      so happy to hear!!

  • @XGazudin
    @XGazudin Місяць тому

    Incredible advice, you earned my sub!

    • @dev-worm
      @dev-worm  Місяць тому +1

      thank you so much!! so happy to hear!

  • @ndexer
    @ndexer 4 дні тому

    This channel is gold

  • @HansMilling
    @HansMilling Місяць тому

    I hope future versions of Godot will support better debugging. When hitting a breakpoint, it would be so nice to be able to hover over different variables/objects and see their values and properties. Often nothing happens or you just see the objects is. I have not used the print statement since coding on my Commodore 64. So having to revert to that feels so dumb.

  • @BenTyler-eq2xx
    @BenTyler-eq2xx Місяць тому

    As always great video! been watching you for some time now and your experience shows. Can i request that you do a video on tile maps and how to delete specific tiles/groups of tiles at a point AND inside and area. You seem to have a good understanding godot and i appreciate how you explain everything.... i have been so stuck and a lot changed with tile maps from 3-4. I KNOW people would watch it.

    • @dev-worm
      @dev-worm  Місяць тому

      that is a great suggestion!! i just noted it down and will look into it in more depth soon!! hope i can help!

  • @WizardofWestmarch
    @WizardofWestmarch Місяць тому

    Minor detail but something that could be useful is put the is debug check first so you can short circuit on release. Technically not the biggest deal but a good habit to form in general of putting the thing most likely to end a short circuited if/etc block first to avoid extra binary checks, for those times where it is in an inner loop (and not like doing it makes the code less readable)

    • @dev-worm
      @dev-worm  Місяць тому +1

      that is smart! i don’t know why but i never even thought of that! you learn something new everyday! thanks!

    • @WizardofWestmarch
      @WizardofWestmarch Місяць тому

      @@dev-worm Not a problem, thank you for releasing high quality Godot content, we need to keep creating more and more to help everyone who wants to try it :)

  • @kai19038
    @kai19038 Місяць тому

    Your tutorials are very cool, can you make a video on how to make bullet time or a dash that dealt damage on the path in Godot?

  • @dragongoddragneel7106
    @dragongoddragneel7106 Місяць тому

    Thanks for the debugging guide.

    • @dev-worm
      @dev-worm  Місяць тому

      hope it was helpful!! thank you!

    • @dragongoddragneel7106
      @dragongoddragneel7106 Місяць тому

      @@dev-worm if you are taking video suggestions. Here are somewhat different of mine:
      1. Games made in Godot engine each month top 5-10
      2. New Video series about making popular game modes
      3. In-depth guides about popular godot nodes.
      4. Some stuff you discovered that would save others time.

  • @orglightning281
    @orglightning281 Місяць тому

    thank you DevWorm your videos are always a blessing

    • @dev-worm
      @dev-worm  Місяць тому

      thank you so much!! that means the world to me!! i hope it was able to provide a bit of value!

  • @Volt-Eye.
    @Volt-Eye. Місяць тому

    Congo for 30 K

    • @dev-worm
      @dev-worm  Місяць тому

      thank you so much!! it means the world!

  • @fuzzy-02
    @fuzzy-02 Місяць тому

    You wormed your way inti ny subscribe list. And I aint complaining

    • @dev-worm
      @dev-worm  Місяць тому

      lol thats actually funny.. thank you!! just happy i could help!

  • @drJavi
    @drJavi Місяць тому

    This will help a lot. Thanks for sharing.

    • @dev-worm
      @dev-worm  Місяць тому

      thank you!! i hope it can help!

  • @Rotado
    @Rotado Місяць тому

    Really helpful for a beginner

    • @dev-worm
      @dev-worm  Місяць тому +1

      glad to hear!! thanks!

  • @kunai9809
    @kunai9809 Місяць тому

    0:33 of course there are differences other than that function... Release builds are further optimized than debug builds

  • @MuffinMan_Ken
    @MuffinMan_Ken Місяць тому

    is_debug_build will also be true in an exported debug build. There is a separate test to see if you're running in the editor.

  • @LocherYT
    @LocherYT Місяць тому

    i am honestly too lazy to implement proper debugging scripts to set HP or other variables.
    I usually go straight into the remote tab and tweak thinks around until they look right

  • @do_it_like_rei
    @do_it_like_rei Місяць тому

    I''m watching that platformer series now! Can you please make a video on an in-game clock and calendar? I can't figure it out and if anyone can teach me, it's you

    • @dev-worm
      @dev-worm  Місяць тому +1

      ill start looking into creating a tutorial about it!! thanks for letting me know!! goodluck in the platformer series!! if you ever need anything just let me know!

    • @do_it_like_rei
      @do_it_like_rei Місяць тому

      @@dev-worm You're amazing, thanks sm!!

  • @somebody7090
    @somebody7090 Місяць тому

    hey i was wondering if you could do a vid on making your character shoot projectiles (like knives or from a bow and arrow) ty if you see this

    • @dev-worm
      @dev-worm  Місяць тому

      I have a plan for this in a upcoming series!! so I hope that will beable to help!!

  • @bloop1504
    @bloop1504 Місяць тому

    hi! im commenting on this because its your most recent video, but i come from your wall jumping and wall slide tutorial! amazing btw, it's been such a great help in my beginning journey as a godot developer! i'm having an issue though, when i first tried your code, i didn't like the fact that the player had the ability to wall jump multiple times on the same wall. so, to try and fix this i implemented code that used rays to check which wall the player was last on and setting if they can jump on the wall to true or blah blah blah, so that they could wall jump between two DIFFerent walls. however, the player is able to exploit this code because they can wall jump on a wall, quickly turn to the other direction, and then quickly turn back to the previous wall and this resets their wall jump, thus letting them jump infinite amount of times on the same wall. is there any way you could try and help me fix this issue? i'm not sure what to do whatsoever, i've thought about adding some kind of cooldown to the wall jump, but i'd rather not because that could stop the player from jumping from two different walls quickly. anyways, your videos have been such a great help to me overall and this is just a tiny issue i have! thank you!!

    • @NIGHTMARE-yp4oz
      @NIGHTMARE-yp4oz Місяць тому

      @@bloop1504 just make it a feature. If you don't want the player to walljump to a place just make it closed. You can checkout hollow knight, it doesn't have any cool down on walljump and has implemented it beautifully

  • @TRFWINGS
    @TRFWINGS Місяць тому

    can you make a tutorial on how to make enemy ai that con do platforming/jumping/moving

  • @Burnrate
    @Burnrate Місяць тому

    No mention of print_debug()? I know it's a simple one but worth mentioning for a video like this.
    Or print_stack too which i find to be rarely useful though.

    • @dev-worm
      @dev-worm  Місяць тому

      youre right i shouldve mentioned print_debug() I dont know why I didnt! thanks for pointing that out!!

  • @crazycross5501
    @crazycross5501 Місяць тому

    Are you able to do 3d game toutorals one day 😊 thank you for all the 2d ones

    • @dev-worm
      @dev-worm  Місяць тому

      i may start looking into them soon!!

  • @NikaDolidze-rg2xy
    @NikaDolidze-rg2xy Місяць тому

    whats the difference between OS.has_feature("debug") and OS.is_debug_build() ?

  • @Zero-el6gs
    @Zero-el6gs Місяць тому

    Do you recommend learning gd script for someone new to game development or c#?

    • @dev-worm
      @dev-worm  Місяць тому

      i really recommend gdscript cause it is kinda like writing english instead of code… but you get to learn the way programming is structured and everything

  • @Volt-Eye.
    @Volt-Eye. Місяць тому

    1:05 is it your PC Fan ?

  • @harshguptaxg2774
    @harshguptaxg2774 Місяць тому +1

    Best way to debug is print statements 😂

    • @dev-worm
      @dev-worm  Місяць тому +1

      this is so true lol.. just make sure to remove them after

    • @harshguptaxg2774
      @harshguptaxg2774 Місяць тому +1

      @@dev-worm lol that's another headache

  • @nehasrivastava7992
    @nehasrivastava7992 Місяць тому

    nice video❤❤

  • @NIGHTMARE-yp4oz
    @NIGHTMARE-yp4oz Місяць тому

    Hey can you please create a new latest video on how to make a 2d physics based grappling that we can use to swing. I have seen your old one but its just too long and old and not suiting ( can you please try to keep it simple)

    • @dev-worm
      @dev-worm  Місяць тому +1

      ill start working on one!! thanks for letting me know!

    • @NIGHTMARE-yp4oz
      @NIGHTMARE-yp4oz Місяць тому

      Thanks man you saved my game

    • @NIGHTMARE-yp4oz
      @NIGHTMARE-yp4oz Місяць тому

      I love how much you care and listen to your audience, you won yourself a permanent and loyal sub

  • @danielsalimonu
    @danielsalimonu Місяць тому +1

    please can i join in making games with you, im really good at logic

    • @dev-worm
      @dev-worm  Місяць тому +1

      thatd be fun! we could do a game jam together

    • @danielsalimonu
      @danielsalimonu Місяць тому +1

      @@dev-worm so were do i start

    • @danielsalimonu
      @danielsalimonu Місяць тому +1

      devworm?

  • @B33BopTheAlien
    @B33BopTheAlien Місяць тому

    WHEN IS FACE REVEAL? :D

  • @halfsine
    @halfsine Місяць тому +1

    debug build is not a very good idea imo. debug mode should be accessible to any player, but hidden away. a lot of games that give the player access to debug mode are also some of the best and most modded games of all time

    • @dev-worm
      @dev-worm  Місяць тому

      that is actually a really good point

  • @RafaFiedo
    @RafaFiedo Місяць тому

    very nice usage of OS.is_debug_build() !

  • @thygrrr
    @thygrrr 8 днів тому

    print_debug(), man. print_debug().