Learning pygame by creating Snake [python tutorial]

  Рет қаралды 322,086

Clear Code

Clear Code

Күн бұрын

A tutorial to teach you the fundamentals of pygame by creating the classic snake game. It is designed for absolute beginners, so you don't need to know any pygame; but you would need knowledge of basic python. But besides that, the project should be useful to understand a slightly more complex project, how to use python classes and how to create a basic game in general.
Hope you enjoy :)
The project file is available here: github.com/clear-code-projects/Snake
Timestamps:
0:00:00 - Intro
0:00:40 - How games work
0:02:52 - A basic intro to pygame
0:12:26 - Drawing in pygame
0:29:25 - The logic of snake
0:30:29 - Setting up the board
0:43:42 - Creating the snake
0:49:00 - Moving the snake
0:57:19 - Make sneck munch!
1:06:45 - Game over states
1:16:17 - Creating the fruit graphic
1:18:27 - Creating the snake graphics
1:38:45 - Grass pattern
1:44:25 - Adding the score
1:56:50 - Adding the sound
2:00:32 - Final tweaks

Пікірлер: 599
@ClearCode
@ClearCode 3 жыл бұрын
Slight correction at 0:03:12 the text at the bottom is supposed to say python 3.9 not pygame 3.9
@hariharanthegreat5576
@hariharanthegreat5576 3 жыл бұрын
Can you give link to assets you used here
@ClearCode
@ClearCode 3 жыл бұрын
@@hariharanthegreat5576 check the video description, there is a link to all the files :)
@aarushpal3736
@aarushpal3736 3 жыл бұрын
you are so sensitive to your mistake love it xD :->
@jakelanghel8917
@jakelanghel8917 3 жыл бұрын
do you hav a link to all the graphics you used??
@jakelanghel8917
@jakelanghel8917 3 жыл бұрын
nvm I didn't notice the github link lol thank you.. I've been trying to teach myself how to program and this is by far one of the best tutorials I have found for free!!! super detailed and you explain everything!! alot of other tutorial I felt like I was just copying what they were doing but not rly understanding why im doing it!! thanks again
@marnierogers3931
@marnierogers3931 2 жыл бұрын
If anyone is new here and gets stuck around the 40min mark returning an attribute error. Try adding a double underscore before and after __init__. I just learnt a looooong lesson that I'll now never forget! haha
@kafactz7710
@kafactz7710 Жыл бұрын
Thanks bro
@BonkySonky
@BonkySonky 16 күн бұрын
this does nothing
@mixlaproduction
@mixlaproduction 3 жыл бұрын
I just found out your stuff. I was blown away by the amount of detail and effort you put into your videos! Your channel seems golden! Can’t wait to watch all your python game-developing related videos. Keep up with those awesome simple projects! 😎
@roiho5405
@roiho5405 3 жыл бұрын
I love your Pygame videos. I'm having so much fun with this module, I hope to see more from you :)
@e.e.schonborn9344
@e.e.schonborn9344 Жыл бұрын
This was by far the most helpful python tutorial I have ever watched! Every single detail was explained super precisely and yet so easily at the same time! Thank you so so much!
@chikaosita662
@chikaosita662 2 жыл бұрын
This channel is truly amazing ive recently got into pygame and I will definetly be using this channel for all my needs. Thank you so much !!!!!
@OettingerPirat
@OettingerPirat 2 жыл бұрын
I can't imagine how I've could have invested the last 2-ish hours better than following your video and code along. Thank you so much for your fantastic work! :)
@christophercoronaios4732
@christophercoronaios4732 2 жыл бұрын
Wow, you are extremely helpful. I love how you explain each and every single line of code and just how you have put this tutorial together in general. This has been a great experience for me. Keep it up man!
@samtheserious19
@samtheserious19 2 жыл бұрын
Man, your channel is amazing, your tutorials and explanations are clear and we'll explained. You have teacher material and the fact that all this is for free makes me appreciate and respect your work even more. Thanks mate
@MouseCodes
@MouseCodes 3 жыл бұрын
I was happy getting the notification of this video. Keep it up, bro.
@RandomJeevanYT
@RandomJeevanYT 2 жыл бұрын
1:06:39 "Well takes no time at all to create it" More like 2 days for me cuz im doing this sort of stuff for first time 😥 But i understood everything clearly cuz u explain so well so thanks for that🤗
@iamailasama
@iamailasama 3 жыл бұрын
thanks man! you are one of the best teachers out there, and you brought back my interest in python and programming!
@sebzanardo
@sebzanardo 3 жыл бұрын
AWESOME VIDEO! Super clear explanations of how pygame works and breaking down the program into manageable sections. subscribed and can't wait to see more pygame and coding videos in the future : D
@klausbrier6307
@klausbrier6307 2 жыл бұрын
I found a lot of snake-game-tutorials, but I think, this is really the best one .
@RohanKumar-zd3pc
@RohanKumar-zd3pc 3 жыл бұрын
Amazing, It is explained in a very detailed way Of all the logic from the setup to finishing
@cup624
@cup624 3 жыл бұрын
i believe this tutorial is the most underrated one of other pyhton tutorials. thanks for your efforts.
@yussefhallak981
@yussefhallak981 3 жыл бұрын
I got so happy when I saw the notification. This tutorial is gonna help a lot. Thank you!
@TheDrumtracks
@TheDrumtracks 3 жыл бұрын
This is the best tutorial I found so far to this topic. (and the prettiest one. :D) Every line is explained in more detail than all others tutorial I watched. You Sir, did a great Job! I felt like I was able to understand everything!
@Codingforkids
@Codingforkids 3 жыл бұрын
Thank you for the detailed and precise tutorial! Keep up the great work!
@tayyabsajid7552
@tayyabsajid7552 3 жыл бұрын
How do you not already have a huge fan base, you're epic!
@nullifier_
@nullifier_ 2 жыл бұрын
Thank you so much! You helped me create my first game ever. I even added things like out-of-bound wrapping check for when the snake goes outside of the grid and tail cut for when the head intercepts the body
@apopodo
@apopodo 2 жыл бұрын
yor channel is INSANELY underrated. I've seen many pygame tutorials yet I only understood 100% of what I was told is in your video, you explain everything so in depth and stop at every line of code to explain. You give examples and even show little animations to show us what you're trying to say. 10/10 keep it up man
@zagrajzguru
@zagrajzguru 2 жыл бұрын
This
@UniquelyMadeIAm
@UniquelyMadeIAm Жыл бұрын
This is so true!!! Keep making these please
@bobbyreily3018
@bobbyreily3018 3 жыл бұрын
You definitely deserve more subscribers! Keep the videos coming and they will flock in.
@Thoalfeqargamer
@Thoalfeqargamer 3 жыл бұрын
What a legendary channel. Keep up the amazing work man!
@Brandonator24
@Brandonator24 2 жыл бұрын
One of the best tutorials around. Good work mate!!
@flippingflipbooks565
@flippingflipbooks565 3 жыл бұрын
I am currently learning Python, but I don't know ANYTHING about pygame! I really wanted to learn it: My main motive for learning programming was to make games! You are the best person for me to help me learn. You add in litte bits of humor, so your vids aren't just plain coding. I really think that you are the best!
@uskumru3106
@uskumru3106 2 жыл бұрын
Python is realy bad choice if you want making game
@user-hx1lp6fc9r
@user-hx1lp6fc9r Жыл бұрын
Hey friend! How did it go for you?
@No3inator
@No3inator Жыл бұрын
yeah after learning python you can easily start using Godot using gd script which is 90% similar to python because python just has many bad things in game development which you cant avoid
@Bluemoon_wav
@Bluemoon_wav 11 ай бұрын
@@No3inator could you tell me in a broad way what those "bad things" are?
@jeremyhubaker1199
@jeremyhubaker1199 9 ай бұрын
IF YOU REALLY WANT TO MAKE GAMES THEN YOU NEED TO LEARN C++ ,C#, JAVA YOU WILL BE LIMITED WITH PYTHON AS IT IS BETTER SUITED FOR DATA MANIPULATION AND BACK ND STUFF. ALTHOUGH PYTHON IS A GOOD START BECAUSE IT IS SIMPLE
@imherovirat
@imherovirat 3 жыл бұрын
Perfectly Explained, You are genius. Keep making videos on pygame, I'm proud to find your channel.
@HoRRoRlets
@HoRRoRlets Жыл бұрын
Great job on this Tutorial. Helped me get my head around vectors quite a bit more.
@clairehua7545
@clairehua7545 3 жыл бұрын
Wow! This vid is awesome! I didn't even get stuck once! This is probably one of my better python projects. I currently code: block code, text code, java, javascript, C, C+, C++, html, and python. Would love to see more awesome tutorials on those coding languages. Keep up the AMAZING work!
@momanirful
@momanirful 4 ай бұрын
Fantastic tutorial, explains concepts clearly and then applies knowledge to write code. Love your delivery style, perfect for young children to learn coding.
@Omer-or8pg
@Omer-or8pg Жыл бұрын
Your videos are so informative and well-put. I love your channel SO much. I am so grateful for the effort you put into making your videos, and that you explain concepts beyond the code in an easily comprehensible way. Your pacing is great too. I eeply appreciate your content.
@aimeedillard9665
@aimeedillard9665 2 жыл бұрын
So glad I found this channel, I immediately subscribed! Can’t wait to try some of this out
@burak9802_
@burak9802_ 3 жыл бұрын
Christian you're awesome keep on loading videos. We all have been waiting for new game videos!
@thelogbob281
@thelogbob281 9 ай бұрын
Incredible incredible video! Very descriptive and thorough with every little detail! You are an amazing youtuber, and I love the effort!
@HarryTK
@HarryTK Жыл бұрын
broken it down makes it seem so user-friendly and easy to use. I can’t wait to start making soft! Thanks again!
@sarankumar9370
@sarankumar9370 2 жыл бұрын
Ohh my God!! This is the best tutorial I had ever seen till today... The way you are explaining every tiny bit details is just amazing... Keep doing more video's..
@JayeshSarvaiya
@JayeshSarvaiya 3 жыл бұрын
I am just blown away by such an effort taken for smooth explanation, planning and gaming skills, you really came up with beautiful channel, All the Best for upcoming videos. Great Stuff !!! Thanks a tonnnnn... for everything. 😃
@soumenmondal7638
@soumenmondal7638 3 жыл бұрын
THANK YOU SOO MUCH FOR CLEARING EACH AND EVERY PORTION SOO WELL ❤
@sabirkhan6898
@sabirkhan6898 3 жыл бұрын
Well explained! I loved the amount of detail given throughout the video
@shivamkantprasad
@shivamkantprasad 3 жыл бұрын
Keep making these tutorials they are fun and easy to understand
@Hotterman10
@Hotterman10 Ай бұрын
Wow, best pygame tutorial ive seen so far. Bravo.
@sahidabegum7365
@sahidabegum7365 4 ай бұрын
This is the best tutorial about pygame. I enjoyed it and also understand the concepts and logics very easily.
@Xnothen
@Xnothen 3 жыл бұрын
Just started but I'm already loving the detail description of everything we are doing which is far better than some other tutorial which goes blazingly fast yet neglects to explain what is it that we are doing.
@shareefaridha8082
@shareefaridha8082 2 жыл бұрын
Same!!
@jananni123456789
@jananni123456789 3 жыл бұрын
Such clean, logical, well organised code!
@liukang81
@liukang81 Жыл бұрын
Your explanation is awesome man! You’re the best teacher! 👍
@Schachlover
@Schachlover 3 жыл бұрын
Awesome as always. Plz. keep up the good work!!
@Daloshka
@Daloshka 3 жыл бұрын
I've just started watching your video about Flappy Bird. I want to say thanks for your videos. You make a huge influence on me and other people
@pitermg
@pitermg 7 ай бұрын
Very nice, complete and thorough tutorial!
@majdnassar3257
@majdnassar3257 2 жыл бұрын
Thanks alot, first time i use pygame lib and i understand your tutorial, because you explained every thing very well and clear :)
@rxphi5382
@rxphi5382 2 жыл бұрын
Hi, this is a great video, I learned a lot! The draw_grass() function at 1:38:45 seemed a little bit overkill to me tbh, so here is how I did it if anyone is interested in it: def draw_grass(self): for i in range(cell_number): for j in range(cell_number): if (i+j)%2==0: grass_rect = pygame.Rect(j*cell_size, i*cell_size, cell_size, cell_size) pygame.draw.rect(screen, grass_color, grass_rect)
@arkamukhopadhyay2177
@arkamukhopadhyay2177 2 жыл бұрын
BG_COLORS = [(125, 215, 70), (100, 200, 50)] for x in range(cell_number): for y in range(cell_number): rect = pygame.Rect(x * CELL_SIZE, y * CELL_SIZE, CELL_SIZE, CELL_SIZE) pygame.draw.rect(screen, BG_COLORS[(x + y) % 2], rect) this does the job as well :)
@arkamukhopadhyay2177
@arkamukhopadhyay2177 2 жыл бұрын
@@vihasharma804 works for me though
@yisus.avocado
@yisus.avocado 3 жыл бұрын
This so awesome, really interesting video, keep up doing well!
@parthgupta4850
@parthgupta4850 3 жыл бұрын
100th comment says that this is awesome tutorial you teach explain everything as other skip many things and at last we are confused but you are not like them you teach and explain and write everything, best tutorial as well as game of your channel.
@shubharamanath3049
@shubharamanath3049 3 жыл бұрын
thank you for this tutorial, I was struggling to get my snake program to work then I searched the internet to find the solutions but I did not find any , then I saw your vid , I learnt the pygame basics now I have coded many projects in which I had very few errors. thank you again for this very good tutorial. 😀😀😀😀
@muradarif7373
@muradarif7373 2 жыл бұрын
I have finished the tutorial, Huge thank you for such a video 🤝👌
@rubenbartelet756
@rubenbartelet756 2 жыл бұрын
You need more subscribers man! This is quality content!
@jakenik1241
@jakenik1241 3 жыл бұрын
Very good work and very good explanation. The only thing I found is that if you press two buttons at the same time like key.up and key.left and the snake goes to the right direction then you cause the game to end, i believe likely because the snake has not had time to go up and gives the command to go right. Again pretty amazing work keep it up!
@YanisCharef-dy5rk
@YanisCharef-dy5rk 9 ай бұрын
That was a simple and a clear tutorial, thank you!
@atharvapatil7474
@atharvapatil7474 3 жыл бұрын
Best tutorial of snake game ever found on KZbin
@parthgupta4850
@parthgupta4850 3 жыл бұрын
Congrats! 1 unlike only out of 5000 views great job this proves that you're videos are quality driven.
@jeffreywen8901
@jeffreywen8901 3 жыл бұрын
awesome tutorial, I learned a lot. great work!
@hoatran-dg3ir
@hoatran-dg3ir 2 жыл бұрын
Wow this tutorial is really good! Thanks man!
@zCrabOG
@zCrabOG Жыл бұрын
Thank you for explaining the "why's". The puzzle pieces just fall straight into place
@banji8171
@banji8171 3 жыл бұрын
Wow, we need more tutorial like this, keep it up🥺❤️❤️
@dogesh828
@dogesh828 3 жыл бұрын
It's midnight i am gonna watch it tomorrow. But i know it's will be awesome as always.😆😆😆 Please keep making more quality content. Lots of love❤❤❤
@bycorrohmarketingdesigns7852
@bycorrohmarketingdesigns7852 Жыл бұрын
you are AMAZING MAN! Very clear and good class man!! CONGRATS!!!
@catastrophiccarrots5626
@catastrophiccarrots5626 3 жыл бұрын
I love this tutorial it is so clear and informative! Plus every error i get is always my fault as i did a typo or forgot the () thanks so much i will definitely watch more of your videos and you got another sub!
@RandomJeevanYT
@RandomJeevanYT 2 жыл бұрын
I wanted to creat snake game in python i saw so many tutorials could do the code and it worked but i wasn't satisfied cuz i understood only partly. But ur vids are amazing the differences u show between surfaces and display surface, explaining each line code. Just prefect 🤗🤗
@armeidiandanny0522
@armeidiandanny0522 Жыл бұрын
Very Helpful and really easy to understand man.. keep fight and consistenly upload to create implementation PyGame learning with another game 👍
@kalashshah1049
@kalashshah1049 3 жыл бұрын
Hey clear code you deserved more subscribers. really nice videos.
@AbhishekMishraiitkgp
@AbhishekMishraiitkgp 9 ай бұрын
Extremely well explained tutorial. Thanks!!!
@zgreatest69
@zgreatest69 3 жыл бұрын
You explained it so well I'm so glad
@anupambayen5554
@anupambayen5554 2 жыл бұрын
Fantastic Tutorial for beginners. I have learned lot from this tutorial.
@Sc4rletAss4ssin
@Sc4rletAss4ssin 3 жыл бұрын
Your tutorial is fantastic thank you so much for making this
@astrowow9377
@astrowow9377 3 жыл бұрын
You are the best mate, my greetings from Mexico ✌️🇲🇽💕
@NoisyMachines
@NoisyMachines 3 жыл бұрын
That it's a master CLASS! Thank you! ::)
@shariqshaikh2421
@shariqshaikh2421 8 ай бұрын
I am getting an error about FRUIT class at 39:27. It says that 'Fruit' object has no attribute 'pos' after running it.
@mr.curious1714
@mr.curious1714 2 жыл бұрын
This is the best video on #PygameBasics and #SnakeGamePython . You have explained everything in the perfect pace. I would recommend this tutorial to everyone who wants to learn pygame and also snake game using pygame. Best tutorial!!!! You Earned a sub!!!!
@Code_in_simple_English
@Code_in_simple_English 2 жыл бұрын
These lessons are just awesome. Thank you for posting them. What would be useful in the comments, if you were interested in adding them, are the key concepts taught: like Vector2, enumerate, slicing.. and so on.
@isakurbanov8627
@isakurbanov8627 3 жыл бұрын
Great content keep up the hard work!
@vmartme
@vmartme 9 ай бұрын
This is amazing! Thank you so much!!! You doing teaching so good so I can't wait in the morning to continue learning with your tut's :) I have question how make snake moving smoothly (not like now looks lagy moving jumping block_size ) but keep same size and same grid?
@ElloBruh69
@ElloBruh69 2 жыл бұрын
Thank you. I have learnt a lot from this video!
@mariozaldivar7802
@mariozaldivar7802 2 жыл бұрын
Great tutorial! really helped me out!
@danielDev-hg3jo
@danielDev-hg3jo 4 ай бұрын
Great video, excellent explanation.
@JohnSmith952
@JohnSmith952 3 жыл бұрын
Every your video is pure gold
@PixelGaming_2020
@PixelGaming_2020 Жыл бұрын
Really good tutorial. You explained everything in amazing detail. With a few other tutorials, they move too quickly, which causes me to have errors in my code that I don't know how to correct. This one is nicely paced, and I end up with a fully working and functional snake game.
@imSHEN
@imSHEN Жыл бұрын
how do you fixed 'MAIN' object has no attribute 'snake'
@potato420
@potato420 3 жыл бұрын
i love your videos so much you explain perfectly
@RahilKasimi
@RahilKasimi 3 жыл бұрын
Just Awesome brother, I learned a lot.
@olavlilj1145
@olavlilj1145 3 жыл бұрын
This was great!!! Thank you!
@yaroslavkovaliv6884
@yaroslavkovaliv6884 3 жыл бұрын
great video, love it, pls make some more pygame videos!
@aditgaur1585
@aditgaur1585 3 жыл бұрын
You defeated the entire purpose of the game in the thumbnail 😂 BTW nice tutorial 👍
@sermeliodas8618
@sermeliodas8618 3 жыл бұрын
Amazing work thank you so much
@samkh746
@samkh746 3 жыл бұрын
Really informative, thanks
@builder481
@builder481 2 жыл бұрын
Friends : what did you had for breakfast? Me : I had some eggs in a rectangle plate
@angelinalieske8516
@angelinalieske8516 3 жыл бұрын
okey, this video is saving my life ! thank u!
@ravageranger8680
@ravageranger8680 3 жыл бұрын
Your vids make me excited
@Vincent-fo9ie
@Vincent-fo9ie 3 жыл бұрын
thankyou very much this really helps. very detailed and explanation is very good. :D
@salouhimohammed1030
@salouhimohammed1030 2 жыл бұрын
i think is more efficient to use a while loop to avoid the fruit spawns over the snake, this part i coded it like below while self.fruit.pos in self.snake.body[1:]: self.fruit.randomize() thanks for the great tutorial, a channel like the yours i never seen before
@nathanwhite704
@nathanwhite704 3 жыл бұрын
Ive been working on this tutorial for nearly 6 hours and im only half way through it, programming is fun but challenging I spent an hour fixing indentation errors.
@mrmizan1977
@mrmizan1977 3 жыл бұрын
You’re really a great programmer!
@007JackTR
@007JackTR Жыл бұрын
Awesome stuff!!! Thanks
Learn Python With This ONE Project!
55:04
Tech With Tim
Рет қаралды 1,6 МЛН
The ultimate introduction to Pygame
3:47:58
Clear Code
Рет қаралды 2,2 МЛН
Let's all try it too‼︎#magic#tenge
00:26
Nonomen ノノメン
Рет қаралды 47 МЛН
Follow @karina-kola please 🙏🥺
00:21
Andrey Grechka
Рет қаралды 13 МЛН
Teenagers Show Kindness by Repairing Grandmother's Old Fence #shorts
00:37
Fabiosa Best Lifehacks
Рет қаралды 36 МЛН
Python snake game 🐍
33:06
Bro Code
Рет қаралды 545 М.
JavaScript Fighting Game Tutorial with HTML Canvas
3:56:20
Chris Courses
Рет қаралды 5 МЛН
2 YEARS of PYTHON Game Development in 5 Minutes!
4:54
Coding With Russ
Рет қаралды 788 М.
Snake Game in Python Tutorial with pygame 🐍 (OOP)
1:08:52
Programming With Nick
Рет қаралды 7 М.
How to Make a Game in Python
43:01
Tech With Tim
Рет қаралды 351 М.
Python Object Oriented Programming (OOP) - For Beginners
53:06
Tech With Tim
Рет қаралды 3,2 МЛН
5 Useful Dunder Methods In Python
16:10
Indently
Рет қаралды 45 М.
Breakout in python
3:21:21
Clear Code
Рет қаралды 52 М.
👩‍💻 Python for Beginners Tutorial
1:03:21
Kevin Stratvert
Рет қаралды 2,9 МЛН