The ultimate introduction to Pygame

Поделиться
HTML-код
  • Опубликовано: 24 апр 2024
  • In this tutorial you will learn to create a runner game in Python with Pygame. The game itself isn't the goal of the video. Instead, I will use the game to go through every crucial aspect of Pygame that you need to know to get started. By the end of the video, you should know all the basics to start basically any 2D game, starting from Pong and ending with the first generation of Doom and Wolfenstein
    Link to the project folder: github.com/clear-code-project...
    Link to the background music: opengameart.org/content/5-chi...
    Link to the artwork: opengameart.org/content/platf...
    Timestamps
    0:00:00 intro
    0:01:06 How games work
    0:05:06 What Pygame does
    0:08:08 Creating a blank window (+ clock)
    0:22:07 Displaying images (with surfaces)
    0:42:22 Basic animations
    0:51:28 Rectangles
    1:03:47 Collisions with rectangles (+using the mouse)
    1:15:38 Drawing with rectangles (+colors)
    1:29:35 The player character 1: Keyboard input
    1:35:58 The player character 2: Jumping & Gravity
    1:44:23 The player character 3: Creating a floor
    1:48:17 Creating different game states
    1:56:03 Displaying the score (+measuring time)
    2:06:15 Transforming surfaces
    2:23:50 Better enemy spawn logic (with timers)
    2:49:33 Animating the player, the snail and the fly
    3:09:01 Using the sprite class (OOP in Pygame)
    3:42:57 Adding music

Комментарии • 1,8 тыс.

  • @Ouvii
    @Ouvii 2 года назад +85

    Hahaha, how is it so hard to find programming education like this: the teacher actually spends time explaining concepts instead of explaining lines of code with fruits, colors, and animals while glossing over important material.
    You are a godsend.

    • @Anto-xh5vn
      @Anto-xh5vn 2 года назад +3

      Lol 🤣🤣
      Fruits colours animals 🤣🤣🤣
      This had me laughing for a good minute

    • @LawrenceAaronLuther
      @LawrenceAaronLuther 21 день назад

      haha you're barely diplomatic but said it way better than I could have

  • @dennisjeske3629
    @dennisjeske3629 2 года назад +713

    I just turned 60, I've been a technologist my entire adult life and have taught many "programming" courses (proprietary languages) for several fortune 100 companies but I'm relatively new to Python. I have to admit my first thought was, this person has a lot of nerve putting out an almost 4 hour video on the subject. I have to admit, when you're good, you're good and you are really good. I did the entire 3:47:57 over the course of 3 days and I got lost one time, _init_ instead of double underscores __init__. That's it. That was the one thing I screwed up, otherwise I learned a ton of new stuff and I'm, really pleased with how it all worked out. In my experience, it's pretty rare in these type of videos for the finished product to look like the author intended but you nailed it. Can't wait to learn more from you. Thanks! All the best, Dennis.

    • @matyaspolzer5887
      @matyaspolzer5887 2 года назад +27

      Thanks to your comment i was able to find out why did the code reached a recursion limit- i wrote init with two Ns 🫠

    • @theonlydhruv7888
      @theonlydhruv7888 Год назад +12

      Yeah, that got me too, I think __init__ is for function, though

    • @stpedro-ht9ng
      @stpedro-ht9ng Год назад +10

      Python is the way. Every time I try to follow C++ tutorials, there's always version incompatibilities and compiler errors.

    • @hybridknight2531
      @hybridknight2531 Год назад +28

      @@matyaspolzer5887 pretty hard innit mate

    • @vanoelizbarashvili6655
      @vanoelizbarashvili6655 Год назад +1

      @@hybridknight2531 lol

  • @alexc1485
    @alexc1485 7 месяцев назад +19

    Love that you release an amazing, 4 hour tutorial like this and it just ends abruptly with, 'so I hope that was helpful' 😆

  • @somethingwrong2595
    @somethingwrong2595 Год назад +79

    I can't believe that you actually uploaded this free for everyone. This is one of the greatest tutorials I've ever seen. Thank you 💜

    • @KeepCalmCapybara
      @KeepCalmCapybara 11 месяцев назад +4

      Indeed! I'm most impressed. I was able to learn so much by this simple tutorial. No, this is not a simple tutorial, it's actually a real mini course about the basics of python game and python itself.

  • @MachineVersatile
    @MachineVersatile 2 года назад +704

    Seriously you do great job because:
    + explaining logical parts on seperate screen and then go into implententing
    + you make a chance to code by yourself
    + you just use simple drawing on screen to make code and logical parts more understandable
    + video is split on some smaller parts
    + tempo is accurate

    • @stefotsufurema13
      @stefotsufurema13 2 года назад +7

      Yeh thats right

    • @costelinha1867
      @costelinha1867 2 года назад +4

      I also like the fact that he makes videos talking about individual mechanics, as they can be used as ideas for smaller exercises for practising pygame.

    • @nowifi3266
      @nowifi3266 Год назад +3

      for more experienced programmers, use 1.25x speed since u dont have to make sure u catch and understand everythin

    • @nowifi3266
      @nowifi3266 Год назад +1

      @Ar! / Penyuin i meant that clear code is explaining eveyrhting so sometimes for more experienced programmers, if you put the speed to 1.25, you can go through a bit faster without worrying ur missing things. if u dont understand what clear code is saying, u dont have to set the speed to 1.25... it was just a suggestion

    • @goi4246
      @goi4246 Год назад

      Agree great at teaching/showing/explainging, not to much, one by one, calm and a steady tempo

  • @melloirl
    @melloirl 2 года назад +337

    Never before have i experienced such a fun and pleasuring learning experience on any kind of video tutorial ever. I can only thank you for you effort, this is now to me the definition of quality content.

  • @gabymaymo8482
    @gabymaymo8482 2 года назад +48

    46 minutes, I am coding along the video. This is already my new favourite channel of youtube man !
    The clarity of speech. The time given for self exercises. This channel is too much !! You are the boss

  • @Josh5698
    @Josh5698 6 месяцев назад +4

    this video has explained Python better to me than 3 months of university lectures

  • @mixlaproduction
    @mixlaproduction 2 года назад +744

    The quality of your videos is out of this world CC! Relaxing, valuable and the way you explain things is top notch.
    I'd like to see a short 2D dungeon-like RPG level game idea with a simple scene changing - that would be a challenge :D
    P.S. I miss your background tutorial music you used in flappy bird ^^

    • @ClearCode
      @ClearCode  2 года назад +76

      always happy to see you here and thank you so much! I am working on some more advanced games, and a rpg style game is definitely in there but the sooner ones will be space invader and a Mario clone :)
      And half the people like the music and the other didn't, I don't really know if it should be there or not ^^
      How is your game dev journey going by the way? I bet you made something cool already!

    • @sylvanfranklin6904
      @sylvanfranklin6904 2 года назад +8

      @@ClearCode Also could you cover custom menu bars? That would be great

    • @V3C._
      @V3C._ 2 года назад +9

      Exactly! A 2D Retro Survival RPG game would be so cool, if the story line is also great, then life is complete :)

    • @mixlaproduction
      @mixlaproduction 2 года назад +15

      @@ClearCode It's going really great! As a fan of the Apple tech, I started doing iOS app development. Some of the first projects were the Pong game inspired by your video, lol. Having some solid programming knowledge, I'm planning to start a new channel about making apps to share my dev journey. Perhaps we would cross our content sometimes in the future. ^^

    • @MrMinevision1
      @MrMinevision1 2 года назад +3

      @@mixlaproduction WHAT? Do you think it'd be possible for you to teach me or like could you tell me how to begin developing apps in python and begin learning this stuff? I stumbled on this channel months ago but post poned it until my school was on break thats why I'm gonna go through this video and code my own project then just code everything this guy has on his channel.

  • @grandparick3176
    @grandparick3176 6 месяцев назад +14

    Your videos literally seems like magic. It's amazing how you go step by step on each process and also give us exercises to try on our own. I hope you keep making more videos and your channel grows exponentially.

  • @therealdyer
    @therealdyer 2 года назад +39

    This is absolutely fantastic. So well explained. Slowly but interestingly dealt with and so I feel like I'm actually learning fundamentals and can come back to this on my own at a later date and actually create my own stuff!
    I'm so happy that this has so many (well deserved) likes and views.
    Thank you.

  • @ayanhaider5579
    @ayanhaider5579 Год назад +6

    Never have I even paid this much attention to an online video tutorial. thanks for making it easy to understand. keep up the good work!

  • @OrangeDied
    @OrangeDied 2 года назад +50

    This is one of the best tutorials I've watched. He explains everything and makes it really easy to visualize how it works, and different ways to use it. This is one of the few long tutorials I've followed to the end, and I enjoyed every second of it. 10/10, would recommend.

  • @robertmanigault625
    @robertmanigault625 2 года назад +44

    I just discovered this tutorial. I'm only 47:46 into the video and I can already tell that this is by far the best video tutorial I've seen to date on RUclips. The presenter is clear and concise. He explains what is going on in the program/code without being overly technical or simplistic. I'm a fairly good Python programmer and decided to expand my knowledge into game development. All I can say is "Wow!" I'm looking forward to completing the entire tutorial.

    • @foreignwarren7361
      @foreignwarren7361 2 года назад +2

      You should move to Godot, pygame is DEAD

    • @foreignwarren7361
      @foreignwarren7361 2 года назад +2

      @@beepbot lol I looked at pygame about 5:years ago. It's all dead social media and the forums, questions never got an answer....you know that there is no more development on the framework right?

    • @pidro1954
      @pidro1954 Год назад +2

      @@foreignwarren7361 no one asked

    • @foreignwarren7361
      @foreignwarren7361 Год назад

      @@pidro1954 so what, doesn't change the fact pygame is shit and a waste of time....trying to save folks.

    • @m.masoom9893
      @m.masoom9893 Год назад +1

      @@foreignwarren7361 wtf are you doing here then ?

  • @randomstufdude
    @randomstufdude Год назад +10

    I love the way you structure your videos. its like ok i just taught you and showed you now you try to do this part on your own, and guess what, i did it on my own.

  • @ddonnie
    @ddonnie 11 месяцев назад +79

    (note for myself)
    1:10:00 mouse stuff
    2:23:50 enemy logic
    2:50:00 animation

  • @thenamesloca
    @thenamesloca 2 года назад +16

    I started at a more difficult tutorial of yours that I was loving but could not get past an issue I was running into. Starting back from the beginning and solidifying the basics with this video helps so much. From all the videos of yours I've followed I have always loved how clearly you explain these concepts. You make it easy to understand! Thank you for all your videos! I can tell I'm learning especially when there is an urge to clean up the code while working through it, when at one point I didn't even know that was a thing!

  • @Jack_______oh
    @Jack_______oh Год назад +9

    I'm halfway through and I really appreciate your teaching style. You move quickly but explain everything and why you're doing it. I'm trying to make a top down RPG game so I find it helpful to learn from a tutorial that's doing something different so i have to actually think about the concepts.

  • @flor18gatar
    @flor18gatar Год назад +4

    I can't put into words how much I appreciate you putting out this video, and the pace at which you explain things for beginners like me. Thank you so much. I wish you all the best.

  • @dominiquetheodore3179
    @dominiquetheodore3179 Год назад +5

    Thank you for this tutorial. It's the first time I've watched a 4 hour tutorial back to back, and every minute was packed with value. Great job!

  • @BrunoVisnadi1
    @BrunoVisnadi1 2 года назад +1138

    Gravity in the real world makes objects to fall quadratically, not exponentially. Your implementation of gravity is actually physically accurate.

    • @connorschultz380
      @connorschultz380 2 года назад +113

      It's mostly because of mario we do that- because if mario fell accurately he'd fall really slowly

    • @erdenejargalbattulga2891
      @erdenejargalbattulga2891 2 года назад +14

      If something has a mass and if you make it faster its mass will increase and if that thing is going down it will go down faster in every second

    • @connorschultz380
      @connorschultz380 2 года назад +36

      @@erdenejargalbattulga2891 the effect of said supposed change in mass is so negligible it's passed off in a rounding error

    • @almond5560
      @almond5560 2 года назад +25

      @@erdenejargalbattulga2891 only significant the closer you go to the light speed....

    • @peafster
      @peafster 2 года назад +8

      1:36:19
      He already knows this lol

  • @generalpo8803
    @generalpo8803 2 года назад +18

    I’m learning how to code in Python at school and this video has been very helpful for my final project, I can’t enumerate how thankful I am for Clear Code and his tutorials, they’re amazing

  • @albaselstudios
    @albaselstudios Год назад +2

    i 've been through a lot of programming courses, but your course is so different , simple ,concise and straight forward . keep the great work

  • @ugib8377
    @ugib8377 6 месяцев назад +2

    Your tutorials are top notch my friend. Comprehensive, both theory AND code, and the big kicker is the exercises. I did the first few hours of 3 different Python for Beginners courses before finding yours. Took me a few weeks, but I finally finished it. And now here you are teaching me Pygame in the same comfy, and well detailed learning environment.
    Thank you so much for the time you take to make these videos!

  • @masonpeck5252
    @masonpeck5252 2 года назад +9

    This was excellent! I've just jumped into programming in Python and this tutorial is exactly what I was looking for. Kudos and thank you!

  • @jinwankim7726
    @jinwankim7726 2 года назад +7

    Dude I just started looking to learn how to make games with pygame and I am so thankful that you uploaded this at such a perfect timing

  • @ngv2646
    @ngv2646 3 месяца назад +2

    I really can't express how happy I am to have found this video. I had been dabbling with learning programming, and using python in particular, but every course or lesson I found online was so abstract that it was difficult for me to follow along. This was genuinely so helpful to just follow along and learn with, that I feel more confident after this 4 hour video than I did after completing CS50, and I can't praise you enough for that!

  • @aw18473
    @aw18473 5 месяцев назад +3

    What an excellent tutorial! I finished almost a third of it and I am following the instructions without any obstacles. Well done!

  • @dawsonhunt
    @dawsonhunt Год назад +6

    Just finished watching and coding along with this video; I have officially created my first video game! 🎉 Very impressed with your channel, and I look forward to creating more projects from your videos and becoming a better programmer!

  • @joefreundt
    @joefreundt Год назад +2

    I knew about 60% of what you explained and I still watched every second of the video! Your structure, tone and patience is admirable. Thank you for creating this content!

  • @gaWalt
    @gaWalt 2 дня назад

    I've just started learning pygame and developing game apps. I found some tutorials, on you tube, that were good but yours are excellent! You're very precise and explain every step of the way, clearly.
    Thank you for these excellent teaching videos.

  • @sylvanfranklin6904
    @sylvanfranklin6904 2 года назад +7

    I love how ur aesthetics also carry over to the games you make

  • @PeaceLoveandMolotovs
    @PeaceLoveandMolotovs 4 месяца назад +3

    This was the clearest and best explanation of python I have ever seen

  • @feepants4495
    @feepants4495 7 месяцев назад +2

    I absolutely love the tutorial. I've done a far share of Unity and C# tutorials, but none have been close to as helpful as this. You're clear, make it simple, and the exercises really help problem solving. I feel like I know so much now compared to other tutorials. You've easily earned a sub. Thanks so much

  • @willernst
    @willernst Год назад +1

    I'm new to the channel, and absolutely impressed with the quality. The pacing and detail of this video; course, really; is phenomenal. Great job!

  • @chaneychane9339
    @chaneychane9339 2 года назад +8

    I've watched the entire video and I want to say thank you so much! This tutorial is really great. The explanation is easy to understand and I especially love how there are exercises in between which I don't see much in other tutorial videos. I have so much fun coding this !

  • @Anastasia-jn7tv
    @Anastasia-jn7tv 11 месяцев назад +3

    I just finished coding along this project, it took me about a week, and I'm very proud of myself and how the game turned out! Thank you so much for this awesome tutorial! Will be tackling next ones soon!💯

  • @merkasable
    @merkasable 3 месяца назад +2

    Hi, I just want to say thank you for making tutorials like this! I've always wanted to try my hand at making games. I followed your python tutorial and now this one and I love your style of teaching. The way you present the information, then show it in code and leave exercises for the viewer is very helpful. I plan to watch your piedew valley and zelda tutorials after this, but first I'll try making some easy games myself to solidify your teachings. Cheers!

  • @woutslosse9776
    @woutslosse9776 Год назад +3

    Decided to learn pygame for fun. Have to say that I was losing motivation before I found this video. Explained simply, not overcomplicated and not too fast. Really helpful that you explain the idea before implementing the code. You gave me a ton of motivation to learn again! Thanks!

  • @jstro-hobbytech
    @jstro-hobbytech Год назад +3

    lost my house to recent hurricane fiona. watching your videos kept me going now im following along to up my pygame skills. by far the best way to get good at python. thank you

    • @ClearCode
      @ClearCode  Год назад

      Hey, thank you so much and so sorry what happened to you, hope things are getting better now!

    • @jstro-hobbytech
      @jstro-hobbytech Год назад

      @@ClearCode least I could do brother.

  • @krypton9378
    @krypton9378 2 года назад +5

    there is no way this tutorial have this less view !!
    it explains so easily !! its quality is too good than any other pygame turtorial !
    Thank you so much for this awesome video !!
    It deserves much more !

  • @cryelectric
    @cryelectric 3 месяца назад +1

    I have to say that your tutorials really stand out from the rest in terms of quality and learning speed. Everything always works as you specify and remains understandable. The Godot 4 tutorial was great, and I think this one is also very good. Thank you for that.

  • @anitabui6265
    @anitabui6265 3 месяца назад +2

    This is such a great tutorial!! I never leave comments but I have to thank you for explaining everything so clearly and explicitly. I was starting the pydew tutorial and almost didn't do this one because I followed a few pygame tutorials before, but this one really helped me actually understand what I was doing lol. Thank you!!

  • @amj.composer
    @amj.composer 7 месяцев назад +4

    I'm really weary of falling into tutorial hell, but you told us the inner workings so well that I seriously have been confident enough to do my own stuff after this tutorial. Thank you so much this might be the best programming tutorial I have ever seen.

    • @liangchen4679
      @liangchen4679 7 месяцев назад

      same feeling bro, 30mins in finally found a good tutorial. Subbed, following this guy from now on :)

    • @amj.composer
      @amj.composer 6 месяцев назад

      @@liangchen4679Yeah! I ended up making a simple snake clone after this video and then switched to MonoGame. Stuff I learnt in this videos still applies to MonoGame, so you really can't go wrong with this.

  • @plasmavoid1658
    @plasmavoid1658 2 года назад +6

    Best tutorial
    Honestly I'm new to pygame and this has taught me soo much
    other tutorials are hard to follow but this is easy to follow
    i love showing my parents and friends my progress
    thank you

  • @ventousemoustachue
    @ventousemoustachue Месяц назад +1

    This video was a blast !! Not only the quality but the nice pace, the exercises, the explanations... everything was wonderful.
    I just program for fun whenever I feel like it, and now i'll watch your 8h video making a Zelda style game since it brought me here in the first place ^^

  • @yoAntosss
    @yoAntosss Год назад +1

    You are such a great teacher! Giving examples and time to do it on our own helps with the learning and lets us use what we already know. Thank you!

  • @xyzxyz6095
    @xyzxyz6095 Год назад +3

    You Sir , are a gift for this planet,the way you are explaining it is just awesome. I prefer watching you doing this game that watching Netflix! I'm not even a code developper, braught here by the RUclips algorithm and I'm very thankful to find your channel, Sir. Thank you for your existence and your generosity for sharing your methods with the rest of the world. Salutations from France.

  • @lunge1
    @lunge1 2 года назад +7

    You are an amazing teacher. This tutorial is the first one I found that explains everything in the most meticulous details. Thank you!

    • @techtips9831
      @techtips9831 2 года назад

      Yes
      I have followed many pygame tutorials but this is the best one because he explains everything...

    • @gopalmeshram6689
      @gopalmeshram6689 13 дней назад

      Unn G

  • @alexeilazarev9576
    @alexeilazarev9576 Год назад

    Thank you very match, Sir!
    Started watching your video as complete zero in pygame. Walked all the way through by hands and finished as someone who can do something. You are an amazing teacher.
    All the best wishes to you!

  • @oldspice105
    @oldspice105 Год назад +1

    Amazing video, I've now added your Zelda and mario videos to a playlist and will be following along! I'm especcially excited for the Zelda clone video!! The best thing about your explanations is this; when you wanted to add a new feature you added it in a easy way just to get it in the code, but the more complex the game got, you had to go back and update the previous code so it worked or was more effcient. I really found this actually showed the workflow of a gamedev and it was great to see! Its a great lesson because it teaches different techniques but also allows creativity to blossom. Amazing work!

  • @michaelwallace9461
    @michaelwallace9461 Год назад +5

    This is a great tutorial. I am still in the middle of my python course on Udemy (still making a black jack game - just using the in built python modules) but one goal I have is to make a simple turn based xcom style game based on Stargate and this really opened up my eyes into what is possible. Thanks very much

  • @wheeup
    @wheeup 2 года назад +2

    This is teaching at it's best. You are truely a talented educator! Thanks for your effort! Instant subscription

  • @AvenMakes
    @AvenMakes 10 месяцев назад +1

    This was amazing. I only knew how to code basic text games, but never about the animation. Now I do. Thank you so much!

  • @arthurmott2800
    @arthurmott2800 4 месяца назад +2

    Dude I have been following you're tutorials for a while and they are fire keep up with the good work! :)

  • @Kyubataubhai
    @Kyubataubhai 2 года назад +10

    Everything was making sense until 2:30:01 when better enemy logic came and destroyed me 😂
    EDIT: I WENT THROUGH IT AND ALL OF IT DID MAKE SENSE AND NOW I HAVE A AMAZING GAME

  • @snowman_student
    @snowman_student 2 года назад +3

    You make alltime great tutorials on coding with clear code,
    All love it
    Please continue uploading,
    And come up with more awesome tutorials,
    Always suppor

  • @endtropi
    @endtropi Год назад +2

    Hello there! I am learning python for the last months, i came across with many video tutorials, your teaching method is great, you explain every point of your thought, and that's the way for students to proceed. I am watching this video again again, taking notes, great reference video. Keep up the good work, and feel great about this. thank you

  • @omegaminoseer4539
    @omegaminoseer4539 5 месяцев назад +1

    @Clear Code, thank you so much for the PyGame Tutorial. As an out-of-practice OOPython Programmer, I was going to use Encapsulation for the MANY Sprite similarities. However, you beat me to the punch and made it possible for me to practice my own OOP Experience against yours. Thank you so much for both the challenges and the video as I worked on my GameJam for the month. It really meant a lot!

  • @jamesbondisamonkey
    @jamesbondisamonkey Год назад +3

    Really great teacher. You are very helpful to the community and anyone who wants to learn.

  • @chrisatronx
    @chrisatronx 2 года назад +3

    Really good tutorial, out of every coding tutorial on youtube, this has captivated me the most. Keep it up!

  • @isabellam1936
    @isabellam1936 8 месяцев назад +1

    You worked extremely hard on this and it shows! Thank you so much for putting so much beauty out into the world and making a difference.

  • @TestyCool
    @TestyCool Месяц назад

    Relaxed pace, well explained, Give problems to solve with what you have learned so far. Truly top tier tut.

  • @somebody6837
    @somebody6837 2 года назад +95

    Now that you have a solid introduction for pygame, will you make an intermediate-level tutorial that includes the use of classes and more slightly advanced topics?

  • @aphievel
    @aphievel 2 года назад +5

    Thanks CC. Great course 👍. One suggestion though, when you plan on overwriting code like you did while you explaining the sprite class, it would be easier to understand if you deleted the redundant code. Other than that this is top-notch stuff!

  • @AlindaeliaGamez
    @AlindaeliaGamez Год назад

    This excellent tutorial has sparked a joy that I didn't even know existed. I am now learning C# and how to code in Unity. Thank you so so much for making such free awesome content!

  • @dogushangunduzer5659
    @dogushangunduzer5659 7 месяцев назад +1

    dude such a start and general attitude, great lecture for both practical and theoritical aspects! keep up! seriously so good!

  • @skkid7799
    @skkid7799 Год назад +8

    Canal tão injustiçado.
    O cara faz um vídeo completão desse na línguagem mais popular do mundo na biblioteca de jogos mais completa nessa língua e ainda é inglês pra literalmente todo mundo aprender.
    Mas tão pouco inscritos e likes e relativamente poucas views... Não faz sentido!
    Falo por mim como brasileiro, esse canal é esplêndido! E tenho certeza que o sortudo que achar esse canal vai falar o mesmo. Continue com o bom trabalho que os apreciadores de verdade vão te agradecer imensamente!

    • @gustavo3220
      @gustavo3220 Год назад +2

      Pro nicho que é programação + python + game development, o video é relativamente bem popular até.

    • @gustavo3220
      @gustavo3220 Год назад

      Mas realmente o canal devia ter muuuuuuuuito mais inscritos

  • @pfever
    @pfever Год назад +12

    2:04:17 You could have use the integer division operator // instead of /, and doing the conversion in a separate line, so you don't need to do it in different places in the code, like this:
    score = pygame.time.get_ticks() - start_time
    score = score // 1000

  • @itsmealex117
    @itsmealex117 Год назад

    Great tutorial, super easy to understand and just at the right pace. Getting started with Pygame was a breeze thanks to this tutorial. 👍

  • @sevdaakari5677
    @sevdaakari5677 6 месяцев назад

    Finally, I've found a video with 100% detailed explanation for every step and even more! I now understand how pygame works and it made my life so much easier. Thank you so much for your kind help for those of us, who really needed this tutorial.

  • @caliburmusic2408
    @caliburmusic2408 3 месяца назад +4

    1:59:58
    you need to call your function which is (display_score) inside your game_active , then you see timer on your screen ❤
    2:35:01
    #obstacle_movment
    obstacle_rect_list = obstacle_movment(obstacle_list) not obstacle_rect_list😊
    3:07:11 if you still have problem with fly animation use this in your game_active :
    if event.type == fly_animation_timer:
    fly_frames_index = (fly_frames_index + 1) % 2
    fly_surf = fly_frames[fly_frames_index]😊

    • @usmarine9603
      @usmarine9603 3 месяца назад

      I did all the requirements for the 1st one, but it still doesnt show the score, it doesnt even appear on screen when I remove the rest of the elements, and the coords are correct,, is there anythingf needet to import or something?

    • @usmarine9603
      @usmarine9603 3 месяца назад

      Update, i found out that the error is in the -score_surf=test_font.render(str(current_time),False,(3,68,24))- line, which doesnt display the numbers. I tried displaying 'clock' instead of 'current_time' and it appeared on screen as . Also, when I start the program, the spaces in (fps= . ) are smaller for the first couple of frames, so obviously the numbers are invisible, I think my font didn't support numbers

    • @usmarine9603
      @usmarine9603 3 месяца назад +1

      That was the solutipon, I had to use anothert font sorry for bothering ;)

  • @invictus2207
    @invictus2207 2 года назад +26

    Hey can you make some games using OOP? I've been doing some of your tutorials and well they end up getting really messy for me, and it would just be great if you start teaching us how to implement OOP to keep our code more organized.

  • @LynAthras
    @LynAthras 2 месяца назад

    Huge thanks for such a wonderful introduction not only to the pygame module but also to the world of gamemaking! You're great!

  • @jakekitzmann2288
    @jakekitzmann2288 Год назад

    This is hands down the best programming tutorial I've ever encountered. Thank you so much!!!

  • @LimitydTech
    @LimitydTech Год назад +3

    "We could run this" *Me: running it* "But you won't be able to close this" *Also me: Ah shitt*

  • @alozyyy
    @alozyyy Год назад +5

    Day 1 (23/02): 22:25
    Day 2: 1:29:34
    Day 3: 2:23:38
    Day 4: end

  • @mrg4234
    @mrg4234 Год назад +2

    Watched 32 mins so far and this is the best tutorial I've seen, liked and subscribed.

  • @Akh608
    @Akh608 5 месяцев назад

    This was a great introduction to pygame. It might get a bit confusing towards the end, but it actually helped me a lot as it was my first time using pygame and found it quite clear in explaining each of the things we were doing. In these more complicated parts, it was actually enough to simply pause it or even replay that part to understand what was happening.
    Even the part which can be a bit more confusing, it actually helps to understand and "build the ideas up". Thank you so much for this.

  • @emperor8716
    @emperor8716 10 месяцев назад +6

    I think here at 2:04:10 we can just change the first variable in score_surf to currentime//1000, no need to change 2 lines and convert to integer, it works perfectly.

  • @kirannambiar1883
    @kirannambiar1883 Год назад +50

    Hi Clear Code. I have been having a problem in this tutorial recently. At 1:21:17 in the tutorial, you are making a bigger rectangle relative to a already declared rectangle using the width parameter in the draw method. When you did this, it added a border instead of a rectangle, and it was larger than if you drew the rectangle without a border. The border was also hollow, so you put in another rectangle to fill in the space. In pygame version 2.1.1, I think this was changed, and when you try to put a border now, the border wont be larger than the original rectangle, it will fill in the rectangle a bit instead, leaving part of the center hollow. This means you can't make the rectangle bigger relative to another rectangle using this method. Do you have any other idea of how to do this instead?
    Edit: I finally realized there was a thing called the INFALTE method. I didn't realize that lol hahah

    • @Dracanus1
      @Dracanus1 Год назад +4

      Hey, where did you use the inflate method? For me it's not working properly.

    • @LemonPengu18
      @LemonPengu18 Год назад +20

      @@Dracanus1 To make the rectangle bigger now, you can type the next line
      pygame.draw.rect(screen,'Pink',score_rect.inflate(10,10))
      The numbers are x and y respectively. It can be changed however you like.

    • @47f0
      @47f0 Год назад +1

      @@LemonPengu18 - This seems to work - On Linux running pygame 2.1.2 (SDL 2.0.20, Python 3.10.6)
      It feels like it should throw some kind of deprecation warning, because this probably breaks existing code (as if Python 3 didn't break existing code...)
      Thanks.

    • @viatori5566
      @viatori5566 Год назад

      For anyone wondering about the inflate method and how to get your boarder to round, the documentation covers that under drawing rectangles. What I ended up using was this:
      pygame.draw.rect(screen, 'Pink', score_rect.inflate(12, 12), border_radius=10)
      Edit: As far as I can tell you can do this with just one line. You dont need one with and one without.

    • @farresalt4381
      @farresalt4381 9 месяцев назад +2

      Thanks, that was an issue I was searching an answer for too.

  • @mcstudios9585
    @mcstudios9585 Год назад +2

    thanks for the great tutorial haven't seen a better one yet!! my brain hurts now because of all the annoying mistakes that I made. You're definitely my favourite programming channel so far :)

  • @bobthetem7892
    @bobthetem7892 Год назад +1

    Thank you so much for this video! I've been wanting to make video games for a long time yet had never started because I thought I'd needed to be a lot better at programming in order to start, but this video has helped a ton for understanding Pygame and core concepts for game programming :D

  • @rodrigocarballo335
    @rodrigocarballo335 Год назад +4

    if you have the "no video mode has been set" problem, at 3:15:10
    You need to create your player (3:14:15) AFTER you define your screen: (screen = pygame.display.set_mode(x, y))

    • @ujjwalchib11
      @ujjwalchib11 9 месяцев назад +2

      thanks a lot dude,I was so frustrated because of this issue

    • @giberi
      @giberi Месяц назад

      AttributeError: 'Player' object has no attribute 'rect' :(((

  • @michaelculley5607
    @michaelculley5607 2 года назад +12

    First of all, thank you for putting so much time into this. I really learned alot from your tutorial. I'd like to provide you with some constructive criticism if I may. Take it from a guy who watched all 4 hours of this. I appreciate how thorough you were and how you walked us through your thinking and mindset. However, you really started to lose me in the end and following this tutorial became painful. Many times you would go so fast and then test the game that I'd have to rewind and often I missed steps because you went so fast. I mustve had at least 20-30 errors that I had to figure out on my own because I was trying to keep up with you so much that I wasn't really paying attention to what I was doing. That also makes it very difficult to learn. I understand this isn't for the beginner but if that's the case, you shouldnt have did everything so manually at first then make it so simple at the end. All the back and forth had me losing track and it was very scatter brained. All that being said, I still do think you did a great job but in the future perhaps consider your audience and how they may be slower than you. Give them time to catch up before scrolling down 90 lines then scrolling back up 50 lines etc. Also maybe plan the video better ahead of time so it's not so all over the place. You still earned my like and sub.

  • @JuampyRabino
    @JuampyRabino 2 года назад +1

    Awesome tutorial!! It gives a solid starting point. Congratulations man! Really appreciate the effort !!

  • @SourMnMs
    @SourMnMs Год назад

    This tutorial left me actually wanting to come back after taking breaks every like 45 mins, and you explain it really well!

  • @SkyFly19853
    @SkyFly19853 2 года назад +8

    Do you know how to select multiple units like in a RTS game and deploy them on a 2d map?

    • @masExz
      @masExz 2 года назад

      hehe that would be interesting to know :)

    • @ivan_bibuh
      @ivan_bibuh 2 года назад

      Nothing hard, just get selection square bound, iterate over units and add them into a list of selected units

  • @piyushkawade6940
    @piyushkawade6940 2 года назад +4

    You are exactly 3 weeks late😭 I needed a tutorial like this 3 weeks ago. I made this Tron game.. this video would have made it way easyy. Anyways I am making different games now.. this video surely will help me a lot🖖
    Great Video!

  • @rr9674
    @rr9674 Год назад

    Amazing video, all the other tutorials zoom through everything and I just end up copy-pasting without knowing what I am doing, thank you for the detailed explanations.

  • @ClintWilcoxen
    @ClintWilcoxen 2 месяца назад

    You sir are a great instructor/teacher. Thank you for your explanations as you teach.

  • @ondralukas9007
    @ondralukas9007 2 года назад +9

    "Please dont call the code right now"
    Me who already did that: -_-

  • @MrMinevision1
    @MrMinevision1 2 года назад +7

    I'm gonna try make basically a clone of mario using this tutorial hope it goes well.

  • @jijin4071
    @jijin4071 9 месяцев назад +2

    Man this is the best tutorial i have seen on youtube so far . thanks for providing this top tier tutorial for free

  • @arturodelangelh3352
    @arturodelangelh3352 11 месяцев назад

    I really appreciate the time invested on this Tutorial, I have learned a lots around pygame, and today I just finished this game. Very Very Thankful for getting these konwledges from you in a very easy way. I'll keep practicing and I'll keep following everything you do, Thanks Again, Greets From Tamaulipas, Mexico.

  • @mladengavrilovic8014
    @mladengavrilovic8014 5 месяцев назад +7

    Instructions unclear accidentally made minecraft

  • @desipher
    @desipher Год назад +1

    very nicely done tutorial! I followed along the whole time and your teaching is very easy to understand. Thank you!

  • @kenjyfukuda
    @kenjyfukuda 10 месяцев назад

    This tutorial is an indisputable ultimate introduction to Pygame which I enjoyed very much. Thank you!

  • @kevingoldfarb620
    @kevingoldfarb620 Год назад

    One of the best tutorial video projects I've ever watched. Thanks!

  • @coder4060
    @coder4060 Год назад

    Really enjoyed this with the pace and explanations, incredibly helpful. Thanks!