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.
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.
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!
Thanks a ton for this tutorial. Pixel perfect collisions in Monogame are extremely resource heavy. I want to see if I can implement something like this, which would really lighten the load. Even if I have to form a mask upon instantiation and figure out a way to run checks with a custom built system. Though, I'm fairly certain XNA has support for this.
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.
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?
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
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?
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.
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.
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.
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%
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
couldnt have said it better
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.
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.
Great tutorial! Learnt a lot of useful stuff :D
Excellent works. Keep it up!
Yuh so hyped for a new vid
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!
I accidentally copied over chapters from the last video. lol
@@DaFluffyPotato Sir i have a IMP question to make
May I procced
atom
Hero's come back!
A new pygame video?
Yes!
And it's the exact video I need and was searching for??
Yes!!!
BUT IT'S BY DAFLUFFYPOTATO?!?
YESS!!!!!
Thanks a ton for this tutorial. Pixel perfect collisions in Monogame are extremely resource heavy. I want to see if I can implement something like this, which would really lighten the load.
Even if I have to form a mask upon instantiation and figure out a way to run checks with a custom built system. Though, I'm fairly certain XNA has support for this.
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.
It's him! It's the potato man!
"phenomenal"
Very cool! Can you calculate the outline outside of the mainloop and then just offset it's x and y to improve performance?
Your tutorials are really helpful but can you please make a video on your seamless tree swinging movements?
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...
That is Atom Editor with the package "Scripts".
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?
I personally use vscode and highly recommend it
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!
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
Use the documentation, Google etc
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.
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?
in console "pip install pygame --upgrade"
just make :
py -m pip uninstall pygame
py -m pip install pygame
Btw, Idk why you have this pygame version but ok
What color theme is this?
Why do stuff like fighting games still use hitboxes instead of having pixel perfect masks?
idk
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.
What do you think of Python Arcade?
can you tell us which theme that is?
Is it possible to make destructible terrain in pygame?
Yes
Thank you for coming to my ted talk
I want to install pygame but it's not working
Gonk :]
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.
It’s just a bitwise and.
@@DaFluffyPotato Oh, yeah. that's super simple. idk why I didn't think of that. duh
Please DaFluffyPotato i cant find a good python tutorial make one on yt please!!! I need to get into pygame u give me inspiration
...here you go
ruclips.net/p/PLX5fBCkxJmm1fPSqgn9gyR3qih8yYLvMj
Hello
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.
@Michael Palmer you must be using it for very very basic collision detection
please make a game step by step and make video and publish on RUclips thats help us lot
Have you looked at his other videos? He's done this multiple times.
Python 3.7 ...
Yee
I am first sir
Sir i have a important question to ask
May I proceed
@@daksh8758 dude just ask the question you don't have to ask for permission
@@daksh8758 you cannot proceed
@@herre3147 ok