Learning Pygame by making Pong

  Рет қаралды 209,008

Clear Code

Clear Code

Күн бұрын

Пікірлер: 418
@essayprometheus
@essayprometheus 4 жыл бұрын
honestly, its these small coding channels that provide the most useful information, especially to self learning coders like me. Props to u!
@NavjotSingh-zx3we
@NavjotSingh-zx3we 4 жыл бұрын
i am with yo
@A6h4v
@A6h4v 3 жыл бұрын
@@NavjotSingh-zx3we reply to a reply
@A6h4v
@A6h4v 3 жыл бұрын
GELOMILF
@ifergff2280
@ifergff2280 3 жыл бұрын
U are not alone, we all are here👍👍
@mimic_ed
@mimic_ed 4 ай бұрын
It's not small anymore🎉
@Tila1
@Tila1 4 жыл бұрын
0:18 Installing Pygame 0:51 How Pygame works 5:37 Drawing 13:26 Animations 20:24 Input 24:27 Opponent 'AI' 25:47 Basic Scoring
@muhammadanas7698
@muhammadanas7698 3 жыл бұрын
Thanks
@TN3.1
@TN3.1 Жыл бұрын
That was really helpful. I knew how to make basics but i mainly needed to learn animation and opponent AI. Thank you very much!
@micahcarter1332
@micahcarter1332 4 жыл бұрын
You’ve done better explaining PyGame than the 90% of PyGame tutorials I’ve watched.
@itsspratham802
@itsspratham802 3 жыл бұрын
yes,tech with tim and other coding channels were tooooo hard and explained complicated,i almost felt like quitting game devolopment but luckily in time i found clear code
@pathikghugare9918
@pathikghugare9918 3 жыл бұрын
Yeah man really
@michaelshuvalov9100
@michaelshuvalov9100 4 жыл бұрын
Amazing clarity, someone who clearly not only knows how to execute the code, but has a thorough understanding in it. "If you can't explain it simply, you don't understand it well enough." - Mr Einstein
@ClearCode
@ClearCode 4 жыл бұрын
Thank you!
@thepaulcraft957
@thepaulcraft957 3 жыл бұрын
Mr Einstein's words in German "Wenn du es nicht simpel erklären kannst, hast du es nicht gut genug verstanden."
@kaneki_ken_07
@kaneki_ken_07 3 жыл бұрын
@@thepaulcraft957 Thats because Einstien's German, Yeah..!!
@yuka8286
@yuka8286 2 жыл бұрын
@@kaneki_ken_07 Einstein's dying wish was to be referred to as "A rock", other than "The rock" as we all know as Dwayne "The Rock" Johnson, "A rock" in German is "Ein Stein". A singular rock can make a difference, we should respect that.
@kaneki_ken_07
@kaneki_ken_07 2 жыл бұрын
@@yuka8286 Well, there was some other conversation going on and I see some comments are deleted. So, I think you didn't understand the topic because of deleted comments.
@Harry-ub2fv
@Harry-ub2fv 4 жыл бұрын
To be honest, I've read the book 'Beginning Game Development with Python and Pygame (2007)', but this man accurately and more clearly explained all of that in just 4 videos that too in a concise manner. Thanks a lot. You are awesome.man()
@enderman-minecraftmonsters8249
@enderman-minecraftmonsters8249 Жыл бұрын
the function at the end really completed it lol
@quasarcore
@quasarcore 4 жыл бұрын
One of the best programming videos I've seen, super clear and concise explanations
@yusufnusrat
@yusufnusrat 3 жыл бұрын
i am just 2 mins in and so many information that nobody would say that. thanks a lot this really helped me. never know why small channels are always most helpful
@shantanubindhani1622
@shantanubindhani1622 4 жыл бұрын
Your Chanel deserves to grow!.... You content is so awesome to understand, it has good clarity, you make the learning seems easy.. Greatly looking forward for new uploads
@abrarmasumabir3809
@abrarmasumabir3809 3 жыл бұрын
This guy is so clear...he definitely deserves million of subscribers
@akshhat97
@akshhat97 4 жыл бұрын
This was so crisp and clear. I've seen other tutorials where they just guide you through the code without explaining the underlying concepts but this was definitely what I needed. Thanks!
@shourya9998
@shourya9998 4 жыл бұрын
Best tutorial video I've ever seen! Hats off to this guy
@rebornreaper194
@rebornreaper194 3 жыл бұрын
Your presentation style is incredibly intuitive, tysm :D
@lousimms4766
@lousimms4766 4 жыл бұрын
I hope you make more videos, was struggling with pygame trying stuff on my own just reading the documentation but was sooo off with rect collisions, this explained it perfectly!
@ClearCode
@ClearCode 4 жыл бұрын
Thank you, glad it helped :) check out my channel, I already made lots more pygame tutorials
@bepositive271
@bepositive271 Жыл бұрын
For you kind information this is the first video of The world greatest coding teacher like the editing , voice , and the way of explaining is just perfect even in his first video I just want to say that he is a "Legend"
@synthoelectro
@synthoelectro 3 жыл бұрын
This guy has a personality, that's a good thing.
@diegocruz8187
@diegocruz8187 4 жыл бұрын
I've been watching your tutorials for a while and you are simply amazing!! Really, you can't imagine how helpful your channel has been for me.
@knull8508
@knull8508 3 жыл бұрын
your explanation is so clear this is amazing !
@elib7911
@elib7911 4 жыл бұрын
Thanks so much man, I'm a 3rd-year student in college learning computer science. I am very interested in game development/coding and this helped a lot. Hope you make more :)
@rajab4187
@rajab4187 4 жыл бұрын
I'm in 2nd year I'm into web development (front. End) N PyGame too Hope will go any of these twos route Before I mess up in ma mind
@alooooshm
@alooooshm 4 жыл бұрын
you truly live up to your channel name. clear coding indeed! honestly, if I could give you more than one like I would. please keep it up and if you could cover some AI topics and applications that would be amazing
@paradoxicalinsomniac9950
@paradoxicalinsomniac9950 4 жыл бұрын
this is the best python tutorial i've ever seen in my life
@rajab4187
@rajab4187 4 жыл бұрын
It's PyGame
@adrienlenud
@adrienlenud 3 жыл бұрын
Thank you so much, you explain things so simply and intuitively compared to the other ressources I was trying to use
@yassinezanned9837
@yassinezanned9837 3 жыл бұрын
Astonishing simplicity and amazing content from your part, sir. Thanks really much.
@AC-he8ln
@AC-he8ln 2 жыл бұрын
I think these Pong videos are the best starting Pygame starting series on KZbin. The others are also good but too complex for a first project.
@knightmare6249
@knightmare6249 4 жыл бұрын
Actually an amazing tutorial, I'm amazed by how you were able to explain the code line by line. Thank you.
@knightmare6249
@knightmare6249 4 жыл бұрын
btw who are the six people that disliked this lol
@dolphinman9802
@dolphinman9802 2 жыл бұрын
Awesome video! You walked through it all really well and it was easy to follow along to. One change i made to the code though, that made the AI smarter, is i changed the opponent_ai function to compare the opponent center y with the ball instead of opponent bottom and opponent top respectively. This made it so the opponent tried to align its middle with the ball instead of its bottom/top. def opponent_ai(): if opponent.centery < ball.y: opponent.centery += opponent_speed if opponent.centery > ball.y: opponent.centery -= opponent_speed if opponent.top = screen_height: opponent.bottom = screen_height
@yashshreeaute8108
@yashshreeaute8108 3 жыл бұрын
This is the best channel I ever seen for self learners. keep it up Man!
@todd3578
@todd3578 4 жыл бұрын
This video is amazing, you really know how to explain the code!
@ismailaminu9826
@ismailaminu9826 4 жыл бұрын
Do you know what software he was using?
@jivinhipcat
@jivinhipcat 4 жыл бұрын
I wish all videos were this good. Thanks for it man.
@semajislove2353
@semajislove2353 4 жыл бұрын
My first Python project, thank you very much, Good Sir!
@ClearCode
@ClearCode 4 жыл бұрын
You're welcome and glad you liked it :) I made lots more pygame tutorials and I will make a video on a much better pong game in about a week!
@aidan5077
@aidan5077 4 жыл бұрын
Just made this after watching your flappy bird video. These tutorials are incredible
@DailyFacts698
@DailyFacts698 Жыл бұрын
I don't know what python was like 3 years ago, but now I was able to make player moving by this lines: keys = pygame.key.get_pressed() ''''if key[pygame.K_UP: ''''''''self.player.x += 7 and this works even when you hold the button :)
@AmateurStoryteller
@AmateurStoryteller 3 жыл бұрын
Clean and CLEAR beginner tutorial... as the channel name
@xadas5230
@xadas5230 4 жыл бұрын
I just had the urge to write this comment, and compliment you for doing those type of videos, as a beginner/intermediate programmer this really helps me to understand pygame better. Thanks for your work, looking forward to more videos of yours.
@gamedog123games
@gamedog123games Жыл бұрын
I've been trying to make a game without an engine (yet my brain stops working when I open VSCode) and this was a lifesaver and helped me start out with a small project
@chigstardan7285
@chigstardan7285 3 жыл бұрын
This is one of the best tutorials ive ever seen and the clarity is.... Muah. Keep up the good work
@spaidory874
@spaidory874 2 жыл бұрын
Thanks bro. Your vids are cool and rly well edited. U are underrated.
@Zellaaaaaaaaaaa
@Zellaaaaaaaaaaa 2 жыл бұрын
Very informative and instructive tutorial! Thank you
@didyouknowsciences
@didyouknowsciences 5 жыл бұрын
Thanks for the tutorial as well as the clear and detailled explanations.
@ClearCode
@ClearCode 5 жыл бұрын
Glad you liked it, let me know if you want me to cover another Pygame topic
@bearwater8747
@bearwater8747 Ай бұрын
Just finished this video thank you for helping me learn, I am still a little confused but I am using you to teach myself.
@structuralcraft
@structuralcraft 2 жыл бұрын
Your teaching outline is good to begin with
@mier7239
@mier7239 4 жыл бұрын
Thank you very much for the tutorial - its very well explained - just a pointer on a little twitch in the game: the ball can get behind the 'players' and move weirdly alongside it until it gets out.
@ClearCode
@ClearCode 4 жыл бұрын
Yes, that's true. Although it is only really a problem as long as the ball can bounce on the left and right side of the screen. Once that is removed and the ball just gets reset there it should be fine.
@jivinhipcat
@jivinhipcat 4 жыл бұрын
I noticed the same thing. I think the ball can collide with the top and bottom surfaces of the player/opponent rect. It then changes the x direction but not the y, so it is still colliding with the same surface during the next move. It keeps changing the x direction this way until it works it's way all the way up/down the player/opponent rect. I tried adding this if-else statement to the collision detection and I think it fixes it. It's such a small amount of movement that you don't notice it, and it makes the ball begin from the infacing side of the player/opponent so the problem collision no longer happens. if ball.colliderect(player) or ball.colliderect(opponent): ball_speed_x *= -1 if ball_speed_x > 0: ball.x = 30 else: ball.x = screen_width - (ball_width + 30) *I think I have adjust the player/opponent paddle sizes to make them a little wider. I don't remember just now what they were originally.
@ClearCode
@ClearCode 4 жыл бұрын
@@jivinhipcat Now I get it, that is indeed a bit of a bug. And your solution is workable but I would say that it doesn't achieve the right goal. Basically, when the ball hits either the top or bottom of the paddle, the player (or opponent) shouldn't be able to recover the ball anymore. A really quick solution would be to change the parameters when ball_start is called from 0 and screen_width to 15 and screen_width - 15. That way the ball starts when it is even a pixel beyond the paddle; and that removes the issue quite drastically. Doesn't look very good though. Another way would be to modify your approach to move the ball to the opposite direction that you send it; and that would trigger the the ball_start function on the next cycle of the while loop. But I don't think it would look good either since the ball would just disappear mid-air (kinda like the approach above). I think the best way to fix this issue would be to properly code a collision for the top and bottom of the paddles, so that we get a proper movement for it. I am planning on making more pygame tutorials anyway, I'll make a video how to fix it next week :)
@ClearCode
@ClearCode 4 жыл бұрын
@@jivinhipcat Here is a good stack overflow answer that explains how to get collisions for different sides: stackoverflow.com/questions/20180594/pygame-collision-by-sides-of-sprite
@jivinhipcat
@jivinhipcat 4 жыл бұрын
Clear Code nice. I didn’t even think that top/bottom contact should be considered bad, and that makes total sense. I’m just starting with code, and I really like the style of your videos. I’m still playing with this Pong game turning it into an abomination with sounds and images. I plan on watching all your videos as I go. Thanks for making them.
@Schachlover
@Schachlover 4 жыл бұрын
Best explained tutorial ever. U R really a gifted teacher. Wish I had found something similar when I started. Please keep up the good work. Best wishes from D. R.
@ClearCode
@ClearCode 4 жыл бұрын
Thank you so much 🙂
@Schachlover
@Schachlover 4 жыл бұрын
Could you please make a tutorial on string manipulation ; let's say, moving text on the screen using Python or better pygame? Thanks in advance.
@TypeZ3R0
@TypeZ3R0 4 жыл бұрын
BEST EVER EXPLANATION FOR PROGRAMMING. PLZ MAKE VIDEOS ON PYTHON MACHINE LEARNING, DEEPLEARNING AND COMPUTER VISION WITH PYTHON🙏🏽🙏🏽
@mitchellfolbe8729
@mitchellfolbe8729 4 жыл бұрын
Good exercise with good explanation. Thank you.
@Oxim1nus
@Oxim1nus 2 жыл бұрын
Really helpful and very well explained, i did this and some of your other tutorial-projects and it's a great way to learn, please keep going with the great job
@davependrell6653
@davependrell6653 4 жыл бұрын
Awesome tutorial video. Your transitions and animations are super nice as well.
@qashrina4402
@qashrina4402 4 жыл бұрын
Your explanations are so clear!! Thank you so much.
@0x656e
@0x656e 4 жыл бұрын
That was a really great video thank you very much for making this great video.
@imherovirat
@imherovirat 3 жыл бұрын
Subscribed, awesome, perfect,wonderful and really understandable, Thank you Clear Code for this amazing Content.
@sultanrasul2794
@sultanrasul2794 3 жыл бұрын
Why do you not have 1+ million subs, people get this man too 1mil
@parthgupta4850
@parthgupta4850 4 жыл бұрын
you are greAt ! a wonderful experience thanks a lot a different from all the other videos (a straight to the point video with clear concepts) really thanku *now I got to know what power does coding has*
@hürriyetpalestine
@hürriyetpalestine 8 ай бұрын
great explanation...hate other tutorials that just try to have you copy their code without explanation
@muradpetrosyan5128
@muradpetrosyan5128 4 жыл бұрын
The best tutorial for PyGame
@polyeder2000
@polyeder2000 3 жыл бұрын
To solve the problem with keydown: Use keys = pygame.key.get_pressed() if keys[pygame.K_w]: This way the player will move as long as the key (w in this case) is held down. Do this after checking for events (and don't check the movement keys in the events section.)
@jefhamish
@jefhamish 2 жыл бұрын
With this method, my player's speed seems inconsistent and/or slower than it should be as if for some frames it's missing that the button is held down.
@sudiptobusiness1503
@sudiptobusiness1503 2 жыл бұрын
Your explanation is so clear..
@ktzplayz2601
@ktzplayz2601 4 жыл бұрын
Amazing graphics and a thorough and great tutorial = fast sub :)
@christianschaub160
@christianschaub160 2 жыл бұрын
Amazing tutorial. Thank u for all the explanation step by step guy 😃💪
@mohammedsaad3801
@mohammedsaad3801 3 жыл бұрын
yup dude u explaain well which is why I also bought ur udemy classes I saw u on it and thanks for the great content
@rezashir3873
@rezashir3873 Жыл бұрын
actually im zero in programing. i like to become hero in programing, like you. thank you
@freadbear9645
@freadbear9645 Жыл бұрын
This was the first game I learned to make from scratch
@pcslowhand
@pcslowhand 4 жыл бұрын
Thanks very much for this video. It was really helpful :)
@lu34z
@lu34z 11 ай бұрын
For anybody having an error with the keys at 23:20 getting the error "K_DOWN not defined". All you have to do is at the top say "from pygame import *" and it should fix it.
@ChaosArtist
@ChaosArtist 3 жыл бұрын
Thanks for this tutorial, very helpful.
@thelife8836
@thelife8836 2 жыл бұрын
You are the best brother❤
@jurkokubik6383
@jurkokubik6383 4 жыл бұрын
this was a really good tutorial!
@KeremDemirtas
@KeremDemirtas 2 жыл бұрын
Thanks for the tutorial. I just don't get one simple part. Why don't we need to declare player_speed as a global inside the player_animation finction but we need to declare ball_speed_x and ball_speed_y variables as globals inside the ball_animation function?
@kaberanshutisamuel1856
@kaberanshutisamuel1856 10 ай бұрын
how I learned this is hilarious, I first followed along tutorial and then the nextday i tried to do it without tutorial and comeback for where I am stuck, the funny thing I am very understanding it for the second time
@hariharanm6705
@hariharanm6705 4 жыл бұрын
No words to appreciate Clear Code. Is this a teamwork or all are done by yourself?
@ClearCode
@ClearCode 4 жыл бұрын
hey, yes I am making it by myself (looks much harder than it actually is tbh)
@abhalera
@abhalera 4 жыл бұрын
Very nicely explained. Thanks
@gdd9866
@gdd9866 2 жыл бұрын
Amazing and well explained.
@lucasreingo
@lucasreingo 3 жыл бұрын
Thanks so much for this pog tutorial. Also if you want to make the AI a bit better in the opponent_ai function instead of opponent.top < ball.y:, you can use opponent.centery. This is more efficient as it checks if the ball is lower or higher than the center of the opponent Rect.
@IGOverkill
@IGOverkill 2 жыл бұрын
thanks it really made the program better but you also need to replace ' opponent.bottom ' with 'opponent.centerx'
@lucasreingo
@lucasreingo 2 жыл бұрын
@@IGOverkill yh, soz I forgot that. Good luck on your pygame journey
@magoninhogamer
@magoninhogamer 4 жыл бұрын
finally a good pygame tutorial
@ClearCode
@ClearCode 4 жыл бұрын
Thanks, I actually made quite a few by now :)
@magoninhogamer
@magoninhogamer 4 жыл бұрын
@@ClearCode awesome! you deserve more attention :D
@BabyQuasarX
@BabyQuasarX Жыл бұрын
The ball_animations function does not allow the player and opponent variables to operate correctly. As far as the computer is concerned, those variables only exist outside of this function. How do you go about solving this issue?
@joeyh2185
@joeyh2185 2 жыл бұрын
very well made and helpful :) cheers mate
@swiftal8312
@swiftal8312 3 жыл бұрын
Your the best, i watched someone else and he made my pygame so it looked blocky and 30 fps. But with your vid its smooooooooth
@akiha7611
@akiha7611 3 жыл бұрын
thank you very much for the tutorial, you teach very well bro
@stefanleustean4253
@stefanleustean4253 4 жыл бұрын
Really good tutorial!!
@latviesupidari2103
@latviesupidari2103 2 жыл бұрын
For player movement, I found it easier to put this code inside the While loop instead of For loop: keys = pygame.key.get_pressed() if keys[pygame.K_UP]: player.y -= 7 if keys[pygame.K_DOWN]: player.y += 7
@dungngoquang8354
@dungngoquang8354 10 ай бұрын
very useful, thank you so much!!!!
@munjolla
@munjolla 4 жыл бұрын
Great tutorial!
@erremazo
@erremazo 3 жыл бұрын
Excelent video, thanks a lot.
@iohellemans3280
@iohellemans3280 2 жыл бұрын
great tutorial, loved it
@saadedi75
@saadedi75 2 жыл бұрын
thanks for all video
@conorhogan6111
@conorhogan6111 3 жыл бұрын
Why does ball_speed_x and ball_speed_y have to be included as global variables in ball_animation, but player_speed not have to be included in player_movement?
@lorendaoust4443
@lorendaoust4443 Жыл бұрын
Thanks for this tutorial. Having absolutely no code experience, I was able to follow along and get a game working with some small changes so I have two players. I used ai to add a score game ender and mouse control - like I said, no code experience. I am hoping to use this for a setup using two bicycles mounted on a frame that control the paddle movement. I have a working prototype now. The only thing I'd like to add is changing the ball graphic to a small pixel graphic of the grinch's face. Is this a possibility? Could you point me in the right direction to look if it is? Thanks for this again.
@kogulansaravanabawan2034
@kogulansaravanabawan2034 2 жыл бұрын
Very use full sir! And please tell me how to create this game for mobile phones!
@rafy-ivanmorales3077
@rafy-ivanmorales3077 2 жыл бұрын
Rafy-Ivan Morales 0 seconds ago I'm a new student trying to learn, so I can become a programmer with python and I have a project on how to make a port scan. So far I already make a port scan with Python3, and it scans fine, give a date and everything working good so far. I see on your video tutorial, it is very good. I would like to ask for your advice if you can and guide me on how I will add this 3 in a Python script, I have: 2. System should look for all the ports between the range of 1 to 1025 3. If the Ports is open, it should create a file and add an entry for port number 4. In case of any exception for instance “host is not available”, “host name could not be resolved” or due to any other error, you need to write that exception into the same file. Thank you and Merry Christmas.
@kodaditank173
@kodaditank173 Жыл бұрын
thank you u saved my life
@iceisspider3860
@iceisspider3860 3 жыл бұрын
How did you get this black bacground in python
@mr.blobfish5535
@mr.blobfish5535 Жыл бұрын
sympathisch. Man kann sich unterhalten.
@janl5242
@janl5242 2 жыл бұрын
Great stuff, thanks :)
@MrFeivelinho
@MrFeivelinho 4 жыл бұрын
Easily one of the best tutorials on coding i have seen so far. Does anybody know how difficult it would be to add multiplayer (via internet) to the game?
@rajab4187
@rajab4187 4 жыл бұрын
APIs
@leobozkir5425
@leobozkir5425 4 жыл бұрын
I>>> SIMPLY>>> LOVE>>> IT>>>
@testvb6417
@testvb6417 3 жыл бұрын
Pls more ur the best
@madhavkrishna4579
@madhavkrishna4579 4 жыл бұрын
where do i get this code as i wanted to work on this
@shinichiokazaki3705
@shinichiokazaki3705 Жыл бұрын
Thanks for the Video
@Sharky_0456
@Sharky_0456 3 жыл бұрын
thanks! this was my first project so i had a lot of bugs but it was really fun! i will do part 2 soon!
@vedantpandey4079
@vedantpandey4079 2 жыл бұрын
Hey, awesome tutorial, keep up the good work! One very minor error, at 17:41 it says "Colissions" instead of "Collisions".
@shaneadecer7205
@shaneadecer7205 3 жыл бұрын
how do you ask user for an input on what colour do they want their ball to be? (in pong game)
@silverseacow
@silverseacow Жыл бұрын
18:46 Like cant we also add arguments, ballxspeed and ballyspeed for the function ball_animation() instead of global variables
I made Games with Python for 10 Years...
28:52
DaFluffyPotato
Рет қаралды 370 М.
Lamborghini vs Smoke 😱
00:38
Topper Guild
Рет қаралды 53 МЛН
Players push long pins through a cardboard box attempting to pop the balloon!
00:31
2 YEARS of PYTHON Game Development in 5 Minutes!
4:54
Coding With Russ
Рет қаралды 972 М.
CODE WITH ME | Python Snake Game
15:36
CS Jackie
Рет қаралды 179 М.
Easy pathfinding in python [almost without math]
1:11:12
Clear Code
Рет қаралды 87 М.
C++ Developer Learns Python
9:26
PolyMars
Рет қаралды 2,8 МЛН
Learn Python OOP in under 20 Minutes
18:32
Indently
Рет қаралды 119 М.
Making a Game in Python with No Experience
5:57
Goodgis
Рет қаралды 1,7 МЛН
Coding Challenge #86: Cube Wave by Bees and Bombs
30:09
The Coding Train
Рет қаралды 630 М.
Python / Pygame Tutorial: Animations with sprites
14:25
Clear Code
Рет қаралды 122 М.
HOW TO MAKE PONG IN PYTHON AND PYGAME! (15 Min)
17:29
baraltech
Рет қаралды 9 М.
Simulating physics in Python
23:21
Clear Code
Рет қаралды 136 М.