Debugging in Pygame

How to access information in order to debug games. The major problem we have to overcome is that the game loop produces too much output if we use the if statement. This video goes through how to create a debug panel to access information, which makes debugging drastically easier.
If you want to support me: / clearcode
(You also get lots of perks)
Social stuff:
Twitter - / clear_coder
Discord - / discord

Пікірлер: 37

  • @tarantula0071
    @tarantula00712 жыл бұрын

    Apriciate it! It is really hard to keep making new topics on pygame, especially tutorials! Great job!

  • @rudomir-__-2929
    @rudomir-__-29292 ай бұрын

    Thanks, it's way better than print debugging, and here is the source code (i changed names a bit and add offset of '10' by default): import pygame pygame.init() font = pygame.font.Font(None, 30) def logd(info, y=0, x=0): surface = pygame.display.get_surface() text = font.render(str(info), True, 'white') rect = text.get_rect(topleft=(x + 10, y + 10)) pygame.draw.rect(surface, 'Black', rect) surface.blit(text, rect)

  • @MustafaTuncay..
    @MustafaTuncay..2 жыл бұрын

    Hello, I am really happy that you are preparing these tutorials, so thank you. Can you also show us how to make inventory systems in pygame? Or you already planned?

  • @Bonfere
    @Bonfere2 жыл бұрын

    good job! This is what i needed for my code

  • @shinyduck5324
    @shinyduck53242 жыл бұрын

    tysm, this was rlly useful!

  • @Derpy999
    @Derpy9992 жыл бұрын

    interesting concept!

  • @pbt189
    @pbt1892 жыл бұрын

    That was helpful! See you around. ;) (great video as always)

  • @Klannahar
    @Klannahar2 жыл бұрын

    If u want to make it a little bit more advanced, maybe u can put it in a class so it can keep track of the debug texts, and can auto adjust the nex text pos. Maybe a bit over complicating, but it can be helpful is some situation. But anyway it is a nice one, and i should start using something like this instead of print :D So far did not had that much problem debuging with print. Most bugs come from my stupidity such as refering to a list when i recreate the list instead of use its own clear method, and then wondering why my projectile is still keep moving after it collided with an enemy. :D This one made me headache. But could find it out when i print out the list memory adress and could see 2 different function using 2 different adress.

  • @RATANAGARWALITINFORMER
    @RATANAGARWALITINFORMER2 жыл бұрын

    good topic

  • @mohiuddinsyed1684
    @mohiuddinsyed16842 жыл бұрын

    It would be really good if you introduced type hints in the debugging file. It would help us what exactly it takes and does, or returns.

  • @sasore76
    @sasore762 жыл бұрын

    Thank you

  • @hansvonpetersen5011
    @hansvonpetersen5011 Жыл бұрын

    thank you for the tutorial. i really like the idea to debug right on the screen. as you said is much better than to look in the console :) but i have a question. when i try to make it that it will follow the mouse it spams the screen with the info text. i've tried to fill the surface again( the main surface and after this i tried the debug surface) but that doesnt work as i expected. now the text is there just once but it fills over all other elements so that just got an white screen with the info text.this happens when i fill the debug surface as well when i fill the main screen(which i think is obious but i still tried it :D)... im also tried to first create the debug surface with pygame.Surface() but that just prints the info text on one fixed spot but the text that follows the mouse still spams the screen :-/ im not sure when to call the function or what surface to fill so that the infotext doesnt paint over the whole screen. can you please point me in the right direction? thank you :)

  • @jk-gn2fu
    @jk-gn2fu2 жыл бұрын

    Could you please do a tutorial about simple shaders? Such as: simple 2d lighting (day and night, torches), outline, water effect, glow effect. I really need these tutorial.

  • @maxfarouk3407
    @maxfarouk34079 ай бұрын

    You are too amazing!

  • @Damrok3
    @Damrok32 жыл бұрын

    the moment i pressed the like button under this video was when you showed the cute pixel cat

  • @carlfranz6805
    @carlfranz6805 Жыл бұрын

    Generally, on a Black background, the colour that is most legible (for most people) is Yellow.

  • @seed5743
    @seed57432 жыл бұрын

    What app do you use to code ?

  • @dennys.1880
    @dennys.18802 жыл бұрын

    Hey i always have a problem where everything i write past exit() comes as code is unreachable and i have tried everything and i cant fix it. Do you have any idea why. It might be a simple code like the one from 1:18 but still it doesn't work .

  • @ClearCode

    @ClearCode

    2 жыл бұрын

    I think you are messing up the indentations.

  • @dennys.1880

    @dennys.1880

    2 жыл бұрын

    @@ClearCode i did it and still no. anyway thanks

  • @MrTega1975
    @MrTega19752 жыл бұрын

    Debug package for sublime text is not useful?

  • @affezippel7214
    @affezippel72142 жыл бұрын

    it's a bit offtopic, but I just noticed when trying to implement this debug function in my code. Does anybody know why I get the error "TypeError: invalid color argument" when passing colors in as string ? screen.fill((0,0,0) works, but screen.fill('black') doesn't (so does every other color of the colordict in pygame documentation when I pass it as a string)

  • @ClearCode

    @ClearCode

    2 жыл бұрын

    might be because of an outdated pygame version

  • @affezippel7214

    @affezippel7214

    2 жыл бұрын

    @@ClearCode I thought I'm on the latest version... better to check. upgraded from 2.0.0dev6 to 2.0.1 and it works now. Thanks!

  • @angadsingh6478
    @angadsingh64782 жыл бұрын

    Please start kivy🙏 and thanks for this tutorial

  • @chigstardan7285

    @chigstardan7285

    2 жыл бұрын

    Yess!!! Kivy!!!

  • @SkyFly19853
    @SkyFly198532 жыл бұрын

    By Cython as well. That makes it very fast. Even IronPython...

  • @lahalrahman4916
    @lahalrahman49162 жыл бұрын

    Please make a tutorial on endless runner 2d game in Godot

  • @bishnuprasadpahari3780
    @bishnuprasadpahari37802 жыл бұрын

    why aren't new videos comming

  • @chigstardan7285
    @chigstardan72852 жыл бұрын

    Pls start kivy for ios/Android since it runs pygame under the hood.

  • @bishnupahari3353
    @bishnupahari33532 жыл бұрын

    amazing

  • @pranavxd4606
    @pranavxd46062 жыл бұрын

    BEST KZreadR!

  • @azgaming5304
    @azgaming53042 жыл бұрын

    Please tutorials on algorithms like A* Game AI 🙏🙏🙏🙏🙏🙏🙏🙏🏿🙏🏿🙏🏿🙏🏿🙏🏿

  • @pradeep6514
    @pradeep65142 жыл бұрын

    Want some AI based games brother. 🙏🙏🙏 !!!

  • @imperialmuffin
    @imperialmuffin2 жыл бұрын

    FiRsT view comment and like!!!

  • @leestons

    @leestons

    2 жыл бұрын

    First to comment, last to get laid

  • @imperialmuffin

    @imperialmuffin

    2 жыл бұрын

    @@leestons :(