@DANtheman-90bestie he is clearly not a professional programmer. Why would an adult (he has a son old enough to code with) programmer who, by virtue of being an adult, has a few good years of work under his belt, even need a tutorial for this.
The box collision and mask collision stuff was very interesting. I remember as a kid that was one of the frustrating things when you "hit" something and the actual visible character clearly did not hit.
I remember trying to look up a tutorial like this and never found one this good for python. THANK YOU SO MUCH. I plan to build a small game maybe the scale of the first Mario and really hope it either lands me a job or at least some donations from fans 😂 I’m so excited to try this out this weekend
I completed the full tutorial. It was very good even though some parts of code not really explained. However, now I'm going to add my own things to the game and i think that will give me better understanding of the code too. Thanks a lot for the tutorial.
I am on the journey to a programming degree and my goal is to program at least one game with every programming language that I learn. With the ultimate goal of designing and coding my own game eventually .
I know you're probably not gonna see this but THANK YOU I AM ON animating the player halfway through finished the x animation but not jumping running or falling yet also THANK YOU AGAIN.
I found that to be able to run the tutorial with a double-click in Windows (rather than via the development environment), I needed to add the line: mypath = os.path.dirname(os.path.realpath(__file__)) near the start of the code (I put it after the line setting the caption), and then change the joins that specify "assets" from path = join("assets", to path = join(mypath, "assets", This is needed because double-click does not set your starting directory to the one where the code is stored, so the assets folder can't be found.
Hey, would you folks ever consider making text tutorials? I suffered a concussion middle of last year and even though I'm out of the 7 month window of recovery, it seems that migraines and audio sensitivity are going to be a thing for me for... who knows how long. So, I have my own personal reasons for wanting text tutorials, but I can't be the only one who would like to see one or two? Ty
Any time I watch Tech with Tim, I slow down the video by 0.25 to 0.50 and can usually keep up to pace without pausing or rewinding much, it just makes him sound a little drunk sometimes..
I am at 1:14:00 in the Video and I have the problem that my Charakter dissapears after ~4 sec cant find the misstake I have made can anyone help me? solved the problem! Thanks for the Video
having a problem at 54:24 where my code is saying "" 'pygame.Rect' object has no attribute ''topLeft' " i am using replit, idk if that changes anything but if I could any help it would be appreciated :)
I am having trouble where on line 69 27:29 where he placed player.draw(window) and run the script it launched, but for me it gives the error of AttributeError: 'Player' object has no attribute 'draw' what should I do?
hello, I am having a problem at 48:34 at the def draw. I keep on getting this error in the terminal (KeyError: 'idle_left'). I've tried to fix this problem multiple times by rewatching and recoding it but I still can't seem to solve it. def draw(self, win): self.sprite = self.SPRITES["idle_" + self.direction][0] win.blit(self.sprite, (self.rect.x, self.rect.y)) I belive this is the code that keeps on erroring but I do not know how to solve it.
the ‘if direction:’ conditional within the load_sprite_sheet function needs to be within the first for loop called ‘for image in images’, not just in the function, that fixed it for me
I was having the same problem, and it was happening because an identation error. For me, it was in th load_sprite_sheets function: the return of the function must be out of the else block, otherwise it wont work properly.
01:18:40 I can only jump the number of times it say: player.jump_count < 2 01:27:50 Is there a fast way to add floor? 01:03:00 I checked it, every square in the terrain image is 8 px, it's 12 squares from edge to this image, 12*8=96 cant't find enemies file
Need help, when i try to run the code on "Pixel Perfect Collision (vertical)" portion, i got error: AttributeError: 'NoneType' object has no attribute 'overlap'
Any tips on how to learn such things? How to approach this trying it on my own? This thing seems too complicated to just somehow start learning and applying this by myself...
Thanks so much for putting these tutorials out there. One of the things i don't understand is how do you know what functions to use within the PyGame library (Or any library for that matter)? I do know where to find the documentation online but it seems like a lot of info to parse through. Or do I just need to bite the bullet and RTFM? haha.
Love the tutorial so far, but I've run into a snag and can't seem to get around it. I installed pygame through VSC but when I run the script to test whether it quits the game window, it gives me "ModuleNotFoundError: No module named 'pygame' " because my pygame installation is located under Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pygame (using Mac) -- any suggestions?
Hey this is very late but while I was following the tutorial on the draw player part I'm getting an error saying "player is not accessed Pylance" and I'm unsure of what is causing it or what it means. If you can lmk how to fix it that would be amazing! Thanks.
in Generating the backround, how in line 40 you make two variables take 2 values if there is only one? im having this error: ValueError: too many values to unpack (expected 2)
recreating the follw up on scripts , when making call player and just drawing it with the rectangle . i found out I put pgyame.rect but it required a pygame.Rect , that claimed a value error :(
In the "def main(window):" each time the "fire" Variable is called, i make a duplicate called "fire1". like this: fire = Fire(100, HEIGHT - block_size - 64, 16, 32) *fire1 = Fire(100, HEIGHT - block_size - 64, 16, 32)* fire.on() *fire1.on()* in the "objects" variable i do this: objects = [*floor, Block(0, HEIGHT - block_size * 2, block_size), Block(block_size * 3, HEIGHT - block_size * 4, block_size), fire, *fire1* ] and i add another loop too: fire.loop() *fire1.loop()*
How can u run the file with a lot of problems I have one and it just crashes does anybody know how to fix it I installed the pygame module but it still didn't work
assets , lists are just ways to bring images and other animations into code since you cant really make them in python besides creating turles etc. U make these in things like a sprite maker online or anything with the correct scale.
This Tutorial is good but has a HUGE issue. since we are resetting the x.vel so the player doesnt move on toggle, but on hold... everytime the function is called we are resetting to the idle sprite. its not super visilible with this specific animation but its a BIG PROBLEM. maybe try to use on keydown instead of keys? idk
For some reason whenever my character touches the ground it keeps bouncing on it, i double check the code with the one Tim had and I can't find the problem, anyone have any idea what could cause it?
This video seems cool but I've run into a problem. I'm on the part where we're making the window. when I tried to run the code I wrote and the tutorial code, it said " Traceback (most recent call last): File "C:\Users\freeg\PycharmProjects\pythonProject31\main.py", line 24, in if _name_ == "_main_": NameError: name '_name_' is not defined " what can I do to fix this?
Hattsoff!!!! To all of your team that you’re providing all these useful courses free of cost
Thanks a million Tim! I've been searching for two months now for a tutorial exactly like this to do a project with my son. My search is over!
@DANtheman-90bestie he is clearly not a professional programmer. Why would an adult (he has a son old enough to code with) programmer who, by virtue of being an adult, has a few good years of work under his belt, even need a tutorial for this.
@@AnaLogical-rx1oj Because it's for his son. Not him.
Best tutorial of the kind. Not too slow that takes 5 hours just to insert a block, not too fast that we dont understand. Perfectly timed, well done!!!
I'am 43 , I did it! I just finished your course .. thank you Tim
it feels great that, people like your age is doing this. keep it up sir
This is crazy I've been searching for a tutorial like this for years. Thank You Tim!!!!
The box collision and mask collision stuff was very interesting. I remember as a kid that was one of the frustrating things when you "hit" something and the actual visible character clearly did not hit.
This is amazing. I skimmed through the video because I dont have much time but I really want to watch this. Saved for later
Did you watch it?
Did you watch it yet?
Did you watch it yet?
Im very new to Python, and reigniting my interest in programing. This has whet my appetite to keep going in my learning. Thank you
You guys are so super i don't have words to appreciate you.Thnks for this video ❤❤
I remember trying to look up a tutorial like this and never found one this good for python. THANK YOU SO MUCH. I plan to build a small game maybe the scale of the first Mario and really hope it either lands me a job or at least some donations from fans 😂 I’m so excited to try this out this weekend
You got this!
Great and super easy to follow tutorial! I learned a great deal! Thanks so much, Tim!!!
I completed the full tutorial. It was very good even though some parts of code not really explained. However, now I'm going to add my own things to the game and i think that will give me better understanding of the code too. Thanks a lot for the tutorial.
Excellent tutorial mate!
I can finally watch this with confidence, I guess I'll see how it goes
This is a great introduction to python for gaming.
Thanks Tim! After I'm finished, I am going to tweak the code a bit!
nice i used a lot of tims tutorials to learn python, can recommend !
I am on the journey to a programming degree and my goal is to program at least one game with every programming language that I learn. With the ultimate goal of designing and coding my own game eventually .
Omg yay! I can’t wait to try this
I know you're probably not gonna see this but THANK YOU I AM ON animating the player halfway through finished the x animation but not jumping running or falling yet also THANK YOU AGAIN.
bro chill
@bloxgamingRL huh
Throrougly enjoying this so far❤❤❤🎉
Absolutely amazing video!
⭐ Timestamps ⭐
⌨ (0:00:00) Project Demo
⌨ (0:01:32) Project Brief/Getting Started
⌨ (0:03:07) Project Setup
⌨ (0:04:18) Asset Walkthrough
⌨ (0:05:38) Game Setup
⌨ (0:10:57) Generating The Background
⌨ (0:18:15) Creating The Player
⌨ (0:27:39) Moving The Player
⌨ (0:31:20) Adding Gravity
⌨ (0:35:19) Loading/Splitting Sprite Sheets
⌨ (0:48:50) Animating The Player
⌨ (0:56:14) Adding Terrain/Blocks
⌨ (1:08:51) Pixel Perfect Collision (Vertical)
⌨ (1:14:48) Jumping & Double Jumping
⌨ (1:22:28) Scrolling Background
⌨ (1:27:53) Pixel Perfect Collision (Horizontal)
⌨ (1:36:16) Adding Traps (Fire)
⌨ (1:45:09) Player Collision With Traps
⌨ (1:50:51) Conclusion
Woo! Nice one!
1:35:40 I notice that when I jump and land on the very edge of the block, it triggers the falling animation - wondering how to fix this?
Tech with Tim good programmer
channel was very understable
I found that to be able to run the tutorial with a double-click in Windows (rather than via the development environment), I needed to add the line:
mypath = os.path.dirname(os.path.realpath(__file__))
near the start of the code (I put it after the line setting the caption),
and then change the joins that specify "assets" from
path = join("assets",
to
path = join(mypath, "assets",
This is needed because double-click does not set your starting directory to the one where the code is stored, so the assets folder can't be found.
you just saved my day
yes i fixed it thanks a lot!
I'm facing the issue of the directory for 3 weeks 😢I will try your method to solve it I'm working in pycharm
This has help me a bunch the way he shows the code and explain the input methods give me total controle **newmember alert**
Love this ❤
Considering pygame it's a SDL wrapper, this tutorial is useful for C++ programmers who are using SDL to game games aswell
Great tutorial!
what is a SDL wrapper?
@@yrds96 So, this is something like, how do you write the code for the program runs faster?
@@yrds96 Oh, I see. Then, It's basically a trick. That's good to know.
This is excellent!
Thanks.
Hey, would you folks ever consider making text tutorials? I suffered a concussion middle of last year and even though I'm out of the 7 month window of recovery, it seems that migraines and audio sensitivity are going to be a thing for me for... who knows how long. So, I have my own personal reasons for wanting text tutorials, but I can't be the only one who would like to see one or two? Ty
you can find the transcript of it in the description. I hope you get better soon.
THANK YOU SO MUCH!
Thank you very much for posting this video....
😀😀😀😀
Hvala Brate! :)
Nice guide
THANK YOU!!
YOU'RE AMAZING!
its very fast paced and its a lil hard to keep up and the details are not much discussed and why the code is structured that way, lil confusing
skill issue
I agree
Exactly
Yeah, I had to rewind the video a lot
Any time I watch Tech with Tim, I slow down the video by 0.25 to 0.50 and can usually keep up to pace without pausing or rewinding much, it just makes him sound a little drunk sometimes..
Are the assets public domain? If someone wants to use them commercially, can they?
Amazing
Wow That so cool😁
I am at 1:14:00 in the Video and I have the problem that my Charakter dissapears after ~4 sec cant find the misstake I have made can anyone help me? solved the problem!
Thanks for the Video
Can i see your code? and are there any error you encounter?
So great 😀 ❤
Let's good Tim!
having a problem at 54:24 where my code is saying "" 'pygame.Rect' object has no attribute ''topLeft' " i am using replit, idk if that changes anything but if I could any help it would be appreciated :)
Use "topleft" not "topLeft", I had the same problem but looking through the PyGame documentation helped with that.
@@loganjames2638 Thank you so much, I couldn't figure out what was wrong.
you are super genius
WHY CANT EVERYONE BE AS DOPE AS THE BEGINNING BRO SAID IF THAT DOESNT WORK THEN HERES 5 OTHER OPTIONS AND 2 VIDEOS damn bro cares :)
30:38 why is there the FPS parameter when it isn't even used? sorry if i sound rude i am just very confused and struggling on how to fix my code LOL
I am having trouble where on line 69 27:29 where he placed player.draw(window) and run the script it launched, but for me it gives the error of AttributeError: 'Player' object has no attribute 'draw' what should I do?
Hi did you ever find a fix for this? Having the same problem and can't seem to solve
Thanks
No I couldn't, I can't find anyone who can help with me this specific problem
can you describe the error i might be able to help
@@linusyong4731 i'm having the same issue. it just says 'Plater" object has no attribute 'draw'
nvm i figured it out
hello, I am having a problem at 48:34 at the def draw. I keep on getting this error in the terminal (KeyError: 'idle_left'). I've tried to fix this problem multiple times by rewatching and recoding it but I still can't seem to solve it.
def draw(self, win):
self.sprite = self.SPRITES["idle_" + self.direction][0]
win.blit(self.sprite, (self.rect.x, self.rect.y))
I belive this is the code that keeps on erroring but I do not know how to solve it.
the ‘if direction:’ conditional within the load_sprite_sheet function needs to be within the first for loop called ‘for image in images’, not just in the function, that fixed it for me
How did you fix it I have a same problem
I was having the same problem, and it was happening because an identation error. For me, it was in th load_sprite_sheets function: the return of the function must be out of the else block, otherwise it wont work properly.
Thank you so much@@otavio_rodrigues1823
Tim is a really good teacher.... hats off 🫂
01:18:40 I can only jump the number of times it say: player.jump_count < 2
01:27:50 Is there a fast way to add floor?
01:03:00 I checked it, every square in the terrain image is 8 px, it's 12 squares from edge to this image, 12*8=96
cant't find enemies file
Thanks team~
1:28
"Jesse, we need to code"
Thank you!!!
muito obrigado pela Magnifica aula
oloco meo
Just Wondering: How Do You Add Multiple Fires?
great!
does anyone know how to make it scroll upwards instead of side to side
Need help,
when i try to run the code on "Pixel Perfect Collision (vertical)" portion, i got error:
AttributeError: 'NoneType' object has no attribute 'overlap'
Got 2 questions Tim, why u dont use Sprites in pygame and what is the other way to bypass Sprites?
This is great but some visual explanation would help next time something similar to networkchuck but without the over-the-top energy.
8:45 __main__
12:48 running from correct directory
1:20:20 animation to jumps do I need not rlly
Any tips on how to learn such things? How to approach this trying it on my own? This thing seems too complicated to just somehow start learning and applying this by myself...
I am 12 and I could do it thank you so much
why those the game get slower when you make the game window bigger ?
how do we add another image ike a terrain ? not a different terrain type just another one
How can I find the continuation of your tutorial about the platformer game?
Thanks so much for putting these tutorials out there. One of the things i don't understand is how do you know what functions to use within the PyGame library (Or any library for that matter)?
I do know where to find the documentation online but it seems like a lot of info to parse through. Or do I just need to bite the bullet and RTFM? haha.
reading is the best way to keep learning
Its not likely ill get ansers but how whould i make my own sprites and switch these for my own tho youres will look beter.
Where to get the enemies? says link in project page, but no link.
In class Block(Object)
The line no. 131 shows a error : TypeError: object.__init__() takes exactly one argument (the instance to initialize)
I love this work! I am currently working on a similar game for uni, does anybody know how i could make those sprites myself? Any tool recommendations?
Do we have score also for this game ?
Tech with tim
Love the tutorial so far, but I've run into a snag and can't seem to get around it. I installed pygame through VSC but when I run the script to test whether it quits the game window, it gives me "ModuleNotFoundError: No module named 'pygame' " because my pygame installation is located under Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pygame (using Mac) -- any suggestions?
Hey this is very late but while I was following the tutorial on the draw player part I'm getting an error saying "player is not accessed Pylance" and I'm unsure of what is causing it or what it means. If you can lmk how to fix it that would be amazing! Thanks.
Thank you so much! I'll try it right now
Thanks for your tutorial.
How can make this game mobile compatible for ios/android?
Please let me know the possibilities.
just when I close the application, appears to me the 'blue' blackground, instead of this appears black, why?
in Generating the backround, how in line 40 you make two variables take 2 values if there is only one? im having this error: ValueError: too many values to unpack (expected 2)
recreating the follw up on scripts , when making call player and just drawing it with the rectangle . i found out I put pgyame.rect but it required a pygame.Rect , that claimed a value error :(
Wooooooooooooooooooooooooooow
How to add fire trap at other positions as well
In the "def main(window):" each time the "fire" Variable is called, i make a duplicate called "fire1".
like this:
fire = Fire(100, HEIGHT - block_size - 64, 16, 32)
*fire1 = Fire(100, HEIGHT - block_size - 64, 16, 32)*
fire.on()
*fire1.on()*
in the "objects" variable i do this:
objects = [*floor, Block(0, HEIGHT - block_size * 2, block_size), Block(block_size * 3, HEIGHT - block_size * 4, block_size), fire, *fire1* ]
and i add another loop too:
fire.loop()
*fire1.loop()*
❤❤❤
How can u run the file with a lot of problems I have one and it just crashes does anybody know how to fix it I installed the pygame module but it still didn't work
Cool
The assets list makes it seeem like there is way more than this that you didnt go over. Its like this is a part 1 that never got a part 2
assets , lists are just ways to bring images and other animations into code since you cant really make them in python besides creating turles etc. U make these in things like a sprite maker online or anything with the correct scale.
@@lm2thed142 I'm aware of that. I'm talking about the assets themselves suggesting there is more to this, such as assets for enemies
I have installed pygame, but why does it say import phygame ModuleNotFoundError: No module named pygame
hey! can i use intellij idea to code this game
thank you i always dreamed to make a game and publish it i am 9
I watch Pygame tutorials so I can build my game in C SDL2 - it's literally the same library.
Thanks, that's good to know.
Why does it say “for beginners” in the title but in the brief it says you should be intermediate???
This Tutorial is good but has a HUGE issue. since we are resetting the x.vel so the player doesnt move on toggle, but on hold... everytime the function is called we are resetting to the idle sprite. its not super visilible with this specific animation but its a BIG PROBLEM. maybe try to use on keydown instead of keys? idk
You can check this by adding print(sprite_sheet)
I cant believe this isnt in the comments. did everyone fallow line by line XD ?? hahaha no one tried different assets/animations....
For some reason whenever my character touches the ground it keeps bouncing on it, i double check the code with the one Tim had and I can't find the problem, anyone have any idea what could cause it?
i changed my sprite to something with other dimension (200x200) and seem to be encountering the same thing
lmk if you find something to fix this
I'm facing directory issue in pycharm to load background image can anyone help me im stuck on this from 3 weeks
This video seems cool but I've run into a problem. I'm on the part where we're making the window. when I tried to run the code I wrote and the tutorial code, it said " Traceback (most recent call last):
File "C:\Users\freeg\PycharmProjects\pythonProject31\main.py", line 24, in
if _name_ == "_main_":
NameError: name '_name_' is not defined " what can I do to fix this?
main should have double underscores around it
yeah it should look like this: if __name__ == "__main__":
Tried the code from the GH repository. When you run to a side, why is it so visible that the scrolling of the floor is not smooth at all?
Its probably because the width and height are too big, try scaling it down a bit
After creating the background my separate window just keeps shutting down and I figure out why?
Can i see your code? and is there any error that showed up?
Thanks! It was fun but it works very laggy on my computer (and I don't know why, it's a good computer).
what to do if the window doesn't pop up when running the program