Learning pygame by creating Snake [python tutorial]
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
Пікірлер: 602
Slight correction at 0:03:12 the text at the bottom is supposed to say python 3.9 not pygame 3.9
@hariharanthegreat5576
3 жыл бұрын
Can you give link to assets you used here
@ClearCode
3 жыл бұрын
@@hariharanthegreat5576 check the video description, there is a link to all the files :)
@aarushpal3736
3 жыл бұрын
you are so sensitive to your mistake love it xD :->
@jakelanghel8917
3 жыл бұрын
do you hav a link to all the graphics you used??
@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
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
Жыл бұрын
Thanks bro
@BonkySonky
Ай бұрын
this does nothing
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! 😎
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
2 жыл бұрын
This
@UniquelyMadeIAm
Жыл бұрын
This is so true!!! Keep making these please
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
2 жыл бұрын
Python is realy bad choice if you want making game
@user-hx1lp6fc9r
Жыл бұрын
Hey friend! How did it go for you?
@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
Жыл бұрын
@@No3inator could you tell me in a broad way what those "bad things" are?
@jeremyhubaker1199
10 ай бұрын
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
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!
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! :)
I love your Pygame videos. I'm having so much fun with this module, I hope to see more from you :)
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
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🤗
Amazing, It is explained in a very detailed way Of all the logic from the setup to finishing
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 !!!!!
thanks man! you are one of the best teachers out there, and you brought back my interest in python and programming!
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!
I was happy getting the notification of this video. Keep it up, bro.
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!
i believe this tutorial is the most underrated one of other pyhton tutorials. thanks for your efforts.
Incredible incredible video! Very descriptive and thorough with every little detail! You are an amazing youtuber, and I love the effort!
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
2 жыл бұрын
Same!!
I got so happy when I saw the notification. This tutorial is gonna help a lot. Thank you!
Perfectly Explained, You are genius. Keep making videos on pygame, I'm proud to find your channel.
I found a lot of snake-game-tutorials, but I think, this is really the best one .
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
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
2 жыл бұрын
@@vihasharma804 works for me though
Thank you for the detailed and precise tutorial! Keep up the great work!
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.
How do you not already have a huge fan base, you're epic!
You definitely deserve more subscribers! Keep the videos coming and they will flock in.
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. 😃
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..
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
THANK YOU SOO MUCH FOR CLEARING EACH AND EVERY PORTION SOO WELL ❤
Fantastic tutorial, explains concepts clearly and then applies knowledge to write code. Love your delivery style, perfect for young children to learn coding.
Keep making these tutorials they are fun and easy to understand
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
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!
What a legendary channel. Keep up the amazing work man!
Christian you're awesome keep on loading videos. We all have been waiting for new game videos!
That was a simple and a clear tutorial, thank you!
One of the best tutorials around. Good work mate!!
Such clean, logical, well organised code!
broken it down makes it seem so user-friendly and easy to use. I can’t wait to start making soft! Thanks again!
Great job on this Tutorial. Helped me get my head around vectors quite a bit more.
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.
So glad I found this channel, I immediately subscribed! Can’t wait to try some of this out
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
Well explained! I loved the amount of detail given throughout the video
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. 😀😀😀😀
Thanks alot, first time i use pygame lib and i understand your tutorial, because you explained every thing very well and clear :)
I have finished the tutorial, Huge thank you for such a video 🤝👌
This is the best tutorial about pygame. I enjoyed it and also understand the concepts and logics very easily.
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❤❤❤
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!
Awesome as always. Plz. keep up the good work!!
Your explanation is awesome man! You’re the best teacher! 👍
Very nice, complete and thorough tutorial!
awesome tutorial, I learned a lot. great work!
Best tutorial of snake game ever found on KZread
Wow, best pygame tutorial ive seen so far. Bravo.
You explained it so well I'm so glad
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!
This so awesome, really interesting video, keep up doing well!
Fantastic Tutorial for beginners. I have learned lot from this tutorial.
Wow this tutorial is really good! Thanks man!
Wow, we need more tutorial like this, keep it up🥺❤️❤️
Extremely well explained tutorial. Thanks!!!
You are the best mate, my greetings from Mexico ✌️🇲🇽💕
You need more subscribers man! This is quality content!
Your tutorial is fantastic thank you so much for making this
Congrats! 1 unlike only out of 5000 views great job this proves that you're videos are quality driven.
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!!!!
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 🤗🤗
you are AMAZING MAN! Very clear and good class man!! CONGRATS!!!
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.
Thank you. I have learnt a lot from this video!
Hey clear code you deserved more subscribers. really nice videos.
That it's a master CLASS! Thank you! ::)
Great video, excellent explanation.
You’re really a great programmer!
Great content keep up the hard work!
Great tutorial! really helped me out!
Every your video is pure gold
Very Helpful and really easy to understand man.. keep fight and consistenly upload to create implementation PyGame learning with another game 👍
Just Awesome brother, I learned a lot.
Jazakallah ... Very beautiful explanation ... Thank you so much❤❤❤❤
i love your videos so much you explain perfectly
This was great!!! Thank you!
Thank you a lot I was really happy when I saw it
Thank you for explaining the "why's". The puzzle pieces just fall straight into place
Amazing work thank you so much
Really informative, thanks
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
Жыл бұрын
how do you fixed 'MAIN' object has no attribute 'snake'
okey, this video is saving my life ! thank u!
great video, love it, pls make some more pygame videos!
thankyou very much this really helps. very detailed and explanation is very good. :D
Awesome stuff!!! Thanks
good man👍 thank you for video
Thanks for this great video. it made my weekend :))
im happy i found this video it's amazing
You granted my wish Thanks a lot for this
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