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
Apriciate it! It is really hard to keep making new topics on pygame, especially tutorials! Great job!
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)
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?
good job! This is what i needed for my code
tysm, this was rlly useful!
interesting concept!
That was helpful! See you around. ;) (great video as always)
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.
good topic
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.
Thank you
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 :)
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.
You are too amazing!
the moment i pressed the like button under this video was when you showed the cute pixel cat
Generally, on a Black background, the colour that is most legible (for most people) is Yellow.
What app do you use to code ?
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
2 жыл бұрын
I think you are messing up the indentations.
@dennys.1880
2 жыл бұрын
@@ClearCode i did it and still no. anyway thanks
Debug package for sublime text is not useful?
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
2 жыл бұрын
might be because of an outdated pygame version
@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!
Please start kivy🙏 and thanks for this tutorial
@chigstardan7285
2 жыл бұрын
Yess!!! Kivy!!!
By Cython as well. That makes it very fast. Even IronPython...
Please make a tutorial on endless runner 2d game in Godot
why aren't new videos comming
Pls start kivy for ios/Android since it runs pygame under the hood.
amazing
BEST KZreadR!
Please tutorials on algorithms like A* Game AI 🙏🙏🙏🙏🙏🙏🙏🙏🏿🙏🏿🙏🏿🙏🏿🙏🏿
Want some AI based games brother. 🙏🙏🙏 !!!
FiRsT view comment and like!!!
@leestons
2 жыл бұрын
First to comment, last to get laid
@imperialmuffin
2 жыл бұрын
@@leestons :(