You are the first person i have seen create tutorials with such depth yet simplicity, from someone like me who has only scraped the surface of pygame am amazed by these intricate and useful features, you really explain it well
In my software renderer I did pixel perfect collisions in the same way that you might do depth buffering. I made an int array the size of the window, initialized to 0, called ID buffer. Then when I render anything, of course I change the RGB of the screen pixel buffer and put the Z in the depth buffer, but I also update the ID buffer. Now when you want to know what objects are on a given pixel... just check the ID buffer. And remember to clear the buffer at the end/beginning of the loop. pixel perfect, doesn't cost too much memory, fast, and works perfectly for 3d as well.
Excellent works. Keep it up!
Great tutorial! Learnt a lot of useful stuff :D
I wanna thank u, I can't tell u how useful that was to me.
Thank you for mentioning that this doesn't work in earlier pygame versions. Saved me a lot of time.
Yuh so hyped for a new vid
Your tutorials are really helpful but can you please make a video on your seamless tree swinging movements?
Very cool! Can you calculate the outline outside of the mainloop and then just offset it's x and y to improve performance?
I think the chapters might be wrong? (Something about selection sort rather than masks!) Either way the video was very helpful!
Also what editor are you using? Looks very slick!
Hero's come back!
It's him! It's the potato man!
A new pygame video?
Yes!
And it's the exact video I need and was searching for??
Yes!!!
BUT IT'S BY DAFLUFFYPOTATO?!?
YESS!!!!!
Hi, what editor do you use? (not video editor but just python editor) I've installed PyCharm but its kinda slow... I'm still using IDLE but the downside of that is that you can't really have more than 2 .py files open cuz then you wont be able to edit it very well...
Sadly Atom is being deprecated, so official development and support will stop soon. I used Intellij Idea before, and found the speed to be reasonable, so PyCharm should not be any worse. What are the specs of your computer?
Can you do a tutorial to show how to use masks for curved platforms collisions?
Depending on the type of platform, those get implemented with just math rather than using masks.
hey so a small question, do you have any recommended beginner tutorials that i could use to learn pygame? I have quite a nice knowledge in coding in general (I do a bit of python but i mainly specialize in lua but i wanna learn more of python) I looked over alot of tuts but alot of them arent really detailed so maybe someone that does this on a day to day basis might have some advice
not the potato, but i recommend codingwithruss. im currently watching his platformer shooter tutorials and they're really easy to understand
@@thelittledragon5595 thank you so much, his tutorials are really easy to understand thanks again!
This is a great intro. My usual usage of masks is through collidemask. For example if I'm making a bullet hell shmup, the hitbox for the player ship is generally smaller than the sprite, so I first check if a bullet is inside the player sprite with spritecollide and if so, then checking the mask collide. I'm sure there are better ways of handling this, but using masks to fine tune collision only when necessary seems to give decent performance.
What do you think of Python Arcade?
How do you know what founction do what, do you know them by heart? I'm just a beginner and I try to understand this aspect of programming
What color theme is this?
"phenomenal"
can you tell us which theme that is?
Does anybody know of a video tutorial on collision with masks? Not for pygame, but just learning how mask collision works? Like not actual code or anything but explaining the algorithms. So I can learn how to make my own collision. But then again, I guess every language has a library for collision. But I still want to learn how it works.
@@DaFluffyPotato Oh, yeah. that's super simple. idk why I didn't think of that. duh
Why do stuff like fighting games still use hitboxes instead of having pixel perfect masks?
probably because hitboxes are way easier to code and they're way faster (I think)
Think about it. Fighting games need consistency and speed. Using masks would make a basic punch unreliable depending on how the other character is shaped and the distance. And calculating masks for them would be more resource intensive than necessary. Using boxes is faster and you will always hit the opponent no matter how their body curves.
Gonk :]
I want to install pygame but it's not working
Please DaFluffyPotato i cant find a good python tutorial make one on yt please!!! I need to get into pygame u give me inspiration
I dont know why, but I'm having a hard time finding an install for Pygame2, everything is Pygame1.X. Do you happen to have a link I could use to install Pygame2?
just make :
py -m pip uninstall pygame
py -m pip install pygame
Btw, Idk why you have this pygame version but ok
Hello
please make a game step by step and make video and publish on UA-cam thats help us lot
it's pretty funny how unreliable pygames built-in collision detection methods are. I was having a hell of a time getting bullets to collide and ricochet appropriately until I finally just said "fuck it" and wrote my own methods.
@@michaelpalmer2143 you must be using it for very very basic collision detection
I am first sir
@@daksh8758 dude just ask the question you don't have to ask for permission
I don't know why but every time I watch one of his videos I get inspiration to continue working on my own pygame projects. I really wish more people knew about this chanel.
Ikr
100%