Тёмный

Creating an amazing 2D platformer in Python [ SNES inspired ] 

Clear Code
Подписаться 210 тыс.
Просмотров 65 тыс.
50% 1

Did you play too much SNES as a kid? Have you been raised by Nintendo and Mario? Time to remake the most famous game of that generation! For this beginners tutorial we will use pygame to create a Mario style platformer game that includes an overworld as well.
Thanks to Brilliant for the support, you can find them here: brilliant.org/ClearCode/
Find/support me on other channels
Patreon - / clearcode
Twitter - / clear_coder
Discord - / discord
Timestamps
00:00:00 - Intro & Sponsor
00:02:29 - Level setup
00:39:04 - Collisions
01:02:13 - Floor & Wall jumps
01:36:54 - Platforms
02:03:40 - Semi-collidable platforms
02:40:15 - Level graphics setup
03:09:47 - Player graphics
03:29:08 - Moving objects
04:17:24 - Enemies
05:08:02 - Interactivity & UI
06:14:06 - Sky & background tiles
07:19:53 - Overworld setup
07:57:14 - Overworld movement
09:17:17 - Sound
Related videos
Ultimate introduction to pygame: • The ultimate introduct...
Collisions: • Collisions between mov...
Timers: • Creating timers in pygame
Efficient imports: • Efficient imports in p...
Masks: • Understanding Pygame m...
Tiled: • A guide to level creat...
Delta time: • Understanding framerat...
Cameras: • Cameras in Pygame
Debugging: • Debugging in Pygame
Project files
github.com/clear-code-project...

Опубликовано:

 

2 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 262   
@ClearCode
@ClearCode 3 месяца назад
At the end of the level graphics around 20 minutes got accidentally cut off (just before 03:09:47 ), you can find that part here: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-dh3f70t_1Lo.html Sorry for the inconvenience :(
@berento
@berento 3 месяца назад
I have no idea about python ..... will it be ok for me to follow this tutorial ? or should i learn python first ?
@CodeKokeshi
@CodeKokeshi 3 месяца назад
​​@@berentoi've been following the tutorial while using Unity and C# instead . I'm trying to recreate the logic and it's a good challenge.
@berento
@berento 3 месяца назад
@@CodeKokeshi will it be possible to learn python and this tutorial side by side ?
@CodeKokeshi
@CodeKokeshi 3 месяца назад
@@berento I am certainly sure that only a part of it. I'm a python programmer, I made several telegram bots with it but they don't use the same syntax even if they're the same programming language. So, you'll only learn part of python programming from this tutorial.
@triggeredman1222
@triggeredman1222 3 месяца назад
@@berento No!! to follow up the above tutorial , you must have a good understanding of python list, dictionaries , tuples etc , also function definition and declaration, classes and objects , inheritance etc are must prerequisite.
@johnb6714
@johnb6714 3 месяца назад
I'm glad you are back! Definitely appreciation your work! Very high quality
@ClearCode
@ClearCode 3 месяца назад
thank you so much! :)
@von.changfeng
@von.changfeng 3 месяца назад
we've waited for over a half a year for this, glad you're back
@maniagames94
@maniagames94 3 месяца назад
YEAH DUDE !!!
@suhasjaladi5098
@suhasjaladi5098 3 месяца назад
Love your content... Good to see you back
@beemarron3642
@beemarron3642 3 месяца назад
So glad you're back! This looks brilliant!
@raoul2683
@raoul2683 3 месяца назад
This is amazing man. Thank you for putting out quality like this, the premise of the game is exactly what I was looking for
@user-gz5bs6qf7o
@user-gz5bs6qf7o 3 месяца назад
So glad you're back! I love all your inspirative contents :3
@AGI-MachineLearning
@AGI-MachineLearning 3 месяца назад
Thank you so much for creating this comprehensive pygame Python tutorial. I haven’t gone through it all yet but I think it’s the most detailed pygame tutorial I have seen.
@gibran800
@gibran800 3 месяца назад
You're amazing! Appreciate all the effort you put in your content
@jvsonyt
@jvsonyt 3 месяца назад
I JUST finished space invader's one yesterday. I'm so pumped to wake up today and see what I get to learn next!
@anomalouschaz
@anomalouschaz 3 месяца назад
thank you so much for the high quality content! I have learned so much thanks to you! I really can't wait to make me some time to go over through this :D I love your work!
@soupnoodles
@soupnoodles 3 месяца назад
Genuinely good content, keep it up!
@MrMorgan-xq4qf
@MrMorgan-xq4qf 3 месяца назад
Thank you for the course!! Appreciate people like you giving out such good quality courses for free God bless you
@DigitalCanineGamesStuff
@DigitalCanineGamesStuff 3 месяца назад
Awesome 9 hr course, I still remember working on this exact project over a ago using your older platformer tutorial, I don't use pygame anymore but your videos have been really fun to watch, and have taught me a lot of things, I've also noticed that you released a complete free course on Godot, out of curiousity do you plan on making Godot and Pygame related tutorials or just focusing on one of them?
@user-gz5bs6qf7o
@user-gz5bs6qf7o 3 месяца назад
Finally! I've done. Thank you very much , I hope that you'll success on your own ♥
@alisher.m
@alisher.m 3 месяца назад
Your content is top notch, please release more material!
@np8038
@np8038 3 месяца назад
Very happy that you continue to make content for Pygame!
@nivoriumgold4396
@nivoriumgold4396 14 дней назад
Man you're just awesome, keep going like this please🎉
@daineminton9687
@daineminton9687 3 месяца назад
fantastic!! thank you for all the hard work
@Jhonatha.S
@Jhonatha.S 3 месяца назад
please continue with the videos, they are incredible, I'm from Brazil and I study through your channel
@novialriptide
@novialriptide 3 месяца назад
I appreciate the tutorial using pygame-ce :)
@saisavit2926
@saisavit2926 3 месяца назад
More than glad you're back
@ali-r8263
@ali-r8263 Месяц назад
Appreciate your tutorials!
@dash2154
@dash2154 3 месяца назад
I have been anxiously waiting for what felt like forever. Thank you sir for your hard work. Just a suggestion; if you get the chance, please make something about web-dev with python
@grindlord064
@grindlord064 3 месяца назад
The lord has returned with another banger!
@mohammadmotaz6419
@mohammadmotaz6419 3 месяца назад
استمر في الابداع انت شخص جيد Keep creating, you are a good person
@shahzaibhassan2777
@shahzaibhassan2777 3 месяца назад
Here since you had like 4k subs man, Keep up the work. Thank god i learnt godot before the unity disaster.
@The_12_Year_Old_Developer
@The_12_Year_Old_Developer 3 месяца назад
You were one of my first ever game developer tutorials teacher I ever had. I loved the ursina Minecraft game tutorial, but I honestly was just copying what you did. After I tried the Godot engine, I finally understood that the problem was I didn't understand a word. I followed lots of tutorials, yours, coco code, coding with Russ, I finally learned and fell in love with it. I always wanted to make a game like this, but I still am not experienced enough. Do you think you could recreate this but in Godot please? I love the way you explain and I feel you would be a great Godot instructor. Please clear code, your follower is waiting for you :) -The 12 Year old Game Developer
@chigstardan7285
@chigstardan7285 3 месяца назад
Hi gdscript is very similar to python. If you watched his ultimate introduction to Godot tutorial, you can copy some of the logic used in the game. The advantage with using Godot is that you write less code. Just watch the video, Google how to do that in Godot and trust me you will learn a lot better.
@subarunatsuki1902
@subarunatsuki1902 3 месяца назад
You are a inspiration to all of us ❤
@NoaTugy
@NoaTugy 3 месяца назад
I can't believe you make this great and educational content for free
@Tstar-vf5tc
@Tstar-vf5tc 3 месяца назад
I've been following along with your Zelda pygame tutorial for inspiration with a game I'm making. I love your videos, they're easy to follow and extremely helpful. I'd love to see you make a turn based RPG in pygame, where you traverse the map just like in your Zelda video, but upon making contact with the enemy, instead if taking damage, it starts a turn based battle. Anyway, keep up the good work, you're the best.👍
@ClearCode
@ClearCode 3 месяца назад
Working on that, will be out in early March!
@Tstar-vf5tc
@Tstar-vf5tc 3 месяца назад
@@ClearCode sounds great😁 can't wait
@ItsBlazeMC69
@ItsBlazeMC69 3 месяца назад
LET'S GOOOOOOO! THE MASTER RETURNED!! WE'VE ALL BEEN WAITING FOR YOU MASTER FOR OVER HALF AN YEAR!! THIS IS CELEBRATE WORTHY! 🥳🎉
@RossiGiova
@RossiGiova 3 месяца назад
Thanks to you I learned to develop video games in pygame, you are very good as a teacher. maybe one day I will publish some tutorials on pygame in Italian the way you do it
@TasteDaRDX
@TasteDaRDX 3 месяца назад
Hello Chris, thanks for sharing such a great tutorial. I have learned a lot of great techniques, and the material continues to improve. I have watched your videos from the first one. Also your teaching style is excellent and it does make a big difference. While I was following the tutorial, I tried two different techniques and they worked very well with no game impact, just perhaps a simpler approach with less code, so I would like to share with you and everyone here: 1. When working on the collision detection of the Shell with the player, I used the same rectangle idea from Tooth, like this: def state_management(self): # player_pos, shell_pos = vector(self.player.hitbox_rect.center), vector(self.rect.center) # player_near = shell_pos.distance_to(player_pos) < 500 # player_front = shell_pos.x < player_pos.x if self.bullet_direction > 0 else shell_pos.x > player_pos.x # player_level = abs(shell_pos.y - player_pos.y) < 30 front_rect = pygame.FRect(self.rect.center, (500*self.bullet_direction, 2)) if front_rect.colliderect(self.player.rect) and not self.shoot_timer.active: # if player_near and player_front and player_level and not self.shoot_timer.active: self.state = 'fire' self.frame_index = 0 self.shoot_timer.activate() 2. For the Spike rotation I used a vector2 instead of trigonometry. In the __init__ here is the change: # rotation using a vector self.loc = vector(0, 0) super().__init__((self.loc), surf, groups, z) # trigonometry # y = self.center[1] + sin(radians(self.angle)) * self.radius # x = self.center[0] + cos(radians(self.angle)) * self.radius # super().__init__((x,y), surf, groups, z) In the update, here is the change: # y = self.center[1] + sin(radians(self.angle)) * self.radius # x = self.center[0] + cos(radians(self.angle)) * self.radius # self.rect.center = (x,y) # rotation using a vector self.loc = self.center + vector(self.radius, 0).rotate(self.angle) self.rect.center = (self.loc)
@heatrider
@heatrider 3 месяца назад
Thank you for this.
@random40s
@random40s 3 месяца назад
Woooo! More awesome game tutorials! 👍 👍
@saminhi3025
@saminhi3025 2 месяца назад
Loved following this video! Along with the Udemy course and many of the youtube tutorials, I have finally got the confidence to make games myself! Thank you so much, i enjoy all your content and advice :) Could you please make a Pokemon style game next? That would be amazing!
@bepositive271
@bepositive271 3 месяца назад
Finallt you uploaded!!
@binkrassdufass
@binkrassdufass 3 месяца назад
Great Video!
@Nikos_rebetis
@Nikos_rebetis 3 месяца назад
Thx for the tutoriel.
@muhammadmz8791
@muhammadmz8791 2 месяца назад
Thank you. You had a course about sprite classes in your channel, I couldn't find that
@Querosertraderivoneysilva
@Querosertraderivoneysilva 3 месяца назад
Sensacional!!!! Meus parabéns amigo!!!👏👏👏👏👏👏😎👍
@DylanTheSpud
@DylanTheSpud 3 месяца назад
Return of the KING!!!
@carlosrivera5155
@carlosrivera5155 9 дней назад
unbelievable, amazing.
@grayliar147
@grayliar147 3 месяца назад
Thank you for this lecture
@Maverick_iss
@Maverick_iss 3 месяца назад
Hello! I love your tutorials, thanks a lot. And i would be very happy if you make a full kivy course like tkinter :)
@user-hr7xc2zs5q
@user-hr7xc2zs5q 2 месяца назад
Thanks for working on that
@ronaldocouves988
@ronaldocouves988 3 месяца назад
Leaving a like and commenting so the algorithm can boost up the video ❤
@freakxxdev
@freakxxdev 3 месяца назад
even though his videos are mainly in python (and now gdscript as well), his videos never fail to help me in my sfml journey really appreciate it :)
@CodeX-xyxy
@CodeX-xyxy 25 дней назад
I just wanted to watch pygame tutorial but i got the best explanation of trigonometry
@Gogei
@Gogei 3 месяца назад
Thank you so much ❤
@dalta202
@dalta202 3 месяца назад
the goat is back
@konstante5781
@konstante5781 3 месяца назад
Great video ! Will you ever make java tutorials ? Because you teach very well and your videos look clean.
@BeRaikwal
@BeRaikwal 3 месяца назад
WOW, JUST WOW!
@serhiiivanskoi2253
@serhiiivanskoi2253 2 месяца назад
Hello @ClearCode. First of all I would like to say you a huge thank you very very very much for your tutorials. Would you please cover creating isometric scenes and isometric maps created in Tiled in you further tutorials. It would be very very interesting topic.
@BrandonWilliams-wf6hg
@BrandonWilliams-wf6hg 3 месяца назад
Awesome!
@jorgegomes83
@jorgegomes83 3 месяца назад
Hello! Thank you for this tutorial! I hope some day in the near future you consider making a roguelike. It would be awesome to watch and code along.
@ClearCode
@ClearCode 2 месяца назад
maybe later this year!
@jorgegomes83
@jorgegomes83 2 месяца назад
@@ClearCode I'm glad to read that!
@rezashir3873
@rezashir3873 3 месяца назад
thank you
@dailymemes9460
@dailymemes9460 3 месяца назад
Just love you
@neofx645
@neofx645 3 месяца назад
You cheeky little goat 🐐
@mrdixioner
@mrdixioner 13 дней назад
PyGame is very similar to some features of the Godot game engine, or vice versa :). The only difference is that there is a lot of manual work compared to Godot, although PyGame includes some techniques to make the game easier to create. But... By programming the entire game by hand, I began to understand more about how the game works, how collisions and movements work, how textures are loaded and much, much, much more. Thank you so much for such a wonderful lesson! PS. My player still falls through the platform as it moves down. I looked at your code, but didn’t find any differences (maybe I didn’t look well :) ).
@christinatrujillo2952
@christinatrujillo2952 Месяц назад
For anyone struggling with the file path or getting the error "no such file or director". I have a Macbook and I use VS code. The file path that has worked for me was 'data/levels/omni.tmx'. Just make sure you don't add the '../' in front. That should fix it!
@ClearCode
@ClearCode Месяц назад
yes, when you open a project folder in VS code it starts going from the main folder, hence the path needs to be relative to that.
@Scar_Face1
@Scar_Face1 3 месяца назад
я только вчера посмотрел 1 часть и вот спустя 1 день (1 год), 1 час назад вышло продолжение, спасибо тебе
@hoteny
@hoteny 3 месяца назад
Yooo new video just dropped. I’d love to see you make a (online or LAN) multiplayer game, just to see how to handle synchronization and all…
@beemarron3642
@beemarron3642 3 месяца назад
It's on the cards, I've heard!
@hoteny
@hoteny 3 месяца назад
@@beemarron3642 really? Thanks, that is excellent. May I ask where you heard about that? Patreon or discord?
@beemarron3642
@beemarron3642 3 месяца назад
I'm lucky enough to love this talented creature@@hoteny (He'll HATE me getting mushy in the comments, but I can't help being so proud!)
@Kislashe
@Kislashe 3 месяца назад
Wonderful.
@justice-wjaw4072
@justice-wjaw4072 2 месяца назад
Hi Clear Code! I was wondering if you could help me with a problem im having? I followed every step in your video but whenever I run the game, the overworld doesnt show up but rather it puts me in the first level but under grass blocks. Any idea what could be wrong?
@simplesimon2960
@simplesimon2960 3 месяца назад
I've just started this project from earlier videos on your channel. Was just finished generating the level with the list of strings. Is this a different version of the same project? Or part of it?
@ClearCode
@ClearCode 3 месяца назад
this video is the updated version of the old platformer tutorials, it makes all the old ones obsolete!
@simplesimon2960
@simplesimon2960 3 месяца назад
Thank you!@@ClearCode
@utubesubscriber1100
@utubesubscriber1100 3 месяца назад
I’m not sure why this video isn’t doing as well as the rest but just thought I’d show my support. You taught me a lot and I hope you continue to make videos. Would love to see how you make Pokémon in pygames!
@utubesubscriber1100
@utubesubscriber1100 3 месяца назад
Now that I look closely it is probably that the thumbnail is too similar to your previous video!
@Nuohis13
@Nuohis13 3 месяца назад
Awesome tutorial! By the way, if I would like to make the horizontal movement acceleration based - so e.g. when you press Left, it starts slower and then sets to the 'max speed', how would I implement that? (same could be done to deceleration aswell?). I think it would add a nice touch to the smoothness of character movement.
@Killer10.10
@Killer10.10 Месяц назад
i have the same probleme
@GCKteamKrispy
@GCKteamKrispy 3 месяца назад
Well, now I know what I am going to do on my weekends
@Maxiow
@Maxiow 2 месяца назад
Is it necessary to program the entire collision system? ( Isn't there anything like in Godot, GameMaker or Phaser where collision are already set for us? )
@frazomania
@frazomania 2 месяца назад
yep, it sucks
@cocothecomputer
@cocothecomputer 3 месяца назад
the best pygame tutor is back. you should do his udemy course if you have not done so already!
@olden4954
@olden4954 3 месяца назад
Thank you!
@Caveman835
@Caveman835 2 месяца назад
I like how Clear Code didn't notice this.
@PeterRichardsandYoureNot
@PeterRichardsandYoureNot 3 месяца назад
Does this one include joystick control AS WELL AS KEYBOARD? That is a major stumbling block on pygame. And is tiled files available as well?
@ClearCode
@ClearCode 3 месяца назад
joystick no but tiles yes. Will cover joysticks/ gamepads on my other channel this month.
@user-qy7wj3ev9d
@user-qy7wj3ev9d 3 месяца назад
好久不见😀
@user-jc6cc9pl9k
@user-jc6cc9pl9k 3 месяца назад
❤❤❤ wow , i wish you make Cuphead game like this
@kingmumputu8931
@kingmumputu8931 Месяц назад
hi brother can you enlighten me there is an error like list index out of range in the class AnimatedSprite(Sprite) thank you very much for the transmission of knowledge
@ClearCode
@ClearCode Месяц назад
something has gone wrong in the import part and there are no frames inside of the AnimatedSprite, so check that part
@kingmumputu8931
@kingmumputu8931 Месяц назад
Thank brother 🙏
@josephalbert.
@josephalbert. Месяц назад
@ClearCode At 1:23:03, I followed exactly the same steps, however when I move (self.collision('vertical')) to the bottom, the code the character does not jump except when it is not colliding with any of the floor, left, right. And when I place it here (orange arrow, it jumps fine but when jumping while colliding with right wall, it sinks downward.: def move(self, dt): self.rect.x += self.direction.x * self.speed * dt self.collision('horizontal') if not self.on_surface['floor'] and any((self.on_surface['left'], self.on_surface['right'])): self.direction.y = 0 self.rect.y += self.gravity/10 * dt else: self.direction.y += self.gravity / 2 * dt self.rect.y += self.direction.y * dt self.direction.y += self.gravity / 2 * dt ▶self.collision('vertical') if self.jump: if self.on_surface['floor']: self.direction.y = -self.jump_height self.jump = False Can you kindly help with that?
@josephalbert.
@josephalbert. Месяц назад
self.collision('vertical') seems to be the issue, what can I do?
@ClearCode
@ClearCode Месяц назад
I think that issue happens on a lower framerate; it will be fixed later in the game. Basically, when you jump, move the player up by a single pixel, then things should work fine.
@josephalbert.
@josephalbert. Месяц назад
@@ClearCode Thank you so much for your reply.
@msbranin
@msbranin Месяц назад
Having a problem trying to import the timer class File is in the code folder with the rest of my project but when I add from timer import Timer I get this error Import "timer" could not be resolved from source
@msbranin
@msbranin Месяц назад
Cancel that... It turned out to be an issue with how visual studio code opens project folders. I had opened the project folder one level above the code folder so that all the support fodlders were inside the project window. Which really really confusedvs code when I tried to include the timer.py. When I reopened the project for the code folder level everything clicked into place. Just dont have all the support folders inside the project window now which is a bummer.
@seand7603
@seand7603 3 месяца назад
oh my. I know what I'm doing this week
@triggeredman1222
@triggeredman1222 3 месяца назад
do anyone know how can i upload my games written in python online, Although the game is not any comlex, but when i try pygame, it don't load ... maybe i have may folders outside the main working directory. So if i can't upload it what the use of writing game in python 🤔🤔
@Andrumen01
@Andrumen01 24 дня назад
The intro music is that of the Ninja Pizza Cats! 😄
@ClearCode
@ClearCode 24 дня назад
Isn't the series called Samurai Pizza cats? :P
@Andrumen01
@Andrumen01 24 дня назад
@@ClearCode Yes! That one! 😅😅😅
@nathenzuber4021
@nathenzuber4021 Месяц назад
What IDE are you using for this project?
@lukaLondaridze
@lukaLondaridze 3 месяца назад
Would it be possible to host this on a website? How would I showcase this game to someone without them needing to download it?
@dimebagou7219
@dimebagou7219 Месяц назад
Hello @ClearCode, I don't understand how you make the pearl collision working as the Shell is in the collision_sprite so the pearl is killed right after its creation. I had to use this trick to make it work : def pearl_collision(self): for sprite in self.collision_sprites: if not isinstance(sprite, Shell): pygame.sprite.spritecollide(sprite, self.pearl_sprites, True) Did I miss something ?
@ClearCode
@ClearCode Месяц назад
when the pearl is created it gets an offset so that it doesn't collide with the shell
@dimebagou7219
@dimebagou7219 Месяц назад
@@ClearCode Ok it's my bad, I forgot I changed it after I chose to launch it from the mouth :D You are perfect. Thank you.
@dimebagou7219
@dimebagou7219 Месяц назад
So I need to let my fix to make that works.
@ClearCode
@ClearCode Месяц назад
@@dimebagou7219 no worries, hope it works now!
@Qwerty-gu2je
@Qwerty-gu2je 3 месяца назад
Thanks for the code, just wanted to ask, at 13:14 you start writing a line related to pytmx. Is this line nessesary, because if so, is there any way to write it without getting an error?
@ClearCode
@ClearCode 3 месяца назад
what error message do you get?
@Qwerty-gu2je
@Qwerty-gu2je 2 месяца назад
@@ClearCode Hi man, thanks for the reply. This is the exact error: Traceback (most recent call last): File "C:\Users\smkei\Documents\Python Coding - Home\SPW_Main\__init__.py\code_start\Clear code platformer.py", line 35, in game = Game() File "C:\Users\smkei\Documents\Python Coding - Home\SPW_Main\__init__.py\code_start\Clear code platformer.py", line 18, in __init__ self.tmx_maps = {0: load_pygame('../data/levels/omni.tmx')} File "C:\Users\smkei\AppData\Roaming\Python\Python312\site-packages\pytmx\util_pygame.py", line 183, in load_pygame return pytmx.TiledMap(filename, *args, **kwargs) File "C:\Users\smkei\AppData\Roaming\Python\Python312\site-packages\pytmx\pytmx.py", line 549, in __init__ self.parse_xml(ElementTree.parse(self.filename).getroot()) File "C:\Program Files\Python312\Lib\xml\etree\ElementTree.py", line 1203, in parse tree.parse(source, parser) File "C:\Program Files\Python312\Lib\xml\etree\ElementTree.py", line 557, in parse source = open(source, "rb") FileNotFoundError: [Errno 2] No such file or directory: '../data/levels/omni.tmx' Do you know what I can do about it?
@ClearCode
@ClearCode 2 месяца назад
so when you try to import the omni.tmx file something is going wrong in the file path and the code cannot find it. You probably have typos somewhere of the folder names
@Qwerty-gu2je
@Qwerty-gu2je 2 месяца назад
@@ClearCode ok, how do I find the location of the omni.tmx so I can make sure that the folder names are correct
@ClearCode
@ClearCode 2 месяца назад
@@Qwerty-gu2je in the project folder there is a data folder which contains the tmx maps; I talk about the folder setup early on in the video
@wazmeister3151
@wazmeister3151 2 месяца назад
I'm having trouble, everything works perfect until 1hr 22mins. The wall slide, I've checked and kept code correctly and i get a weird result jump wont work properly if at all adding the changes to move module. If I remove the code and test, it works fine. seems to be moving self.collision('vertical') might be causing it? I sometimes get the error direction in x error too. Odd my code is exactly how shown?
@wazmeister3151
@wazmeister3151 2 месяца назад
Have it a bit more response now but still since adding the wall check, jump is very unresponsive at times.....odd
@ClearCode
@ClearCode 2 месяца назад
I think you need to move the player up by a pixel whenever you jump, otherwise the floor detection catches you; I am adding that part later in the tutorial
@josephalbert.
@josephalbert. Месяц назад
same here, did you fix it?
@Killer10.10
@Killer10.10 Месяц назад
I have an problem after creating the small clouds, the helicopter that goes down doesn't work, if i stand on it while it goes down my character fals through it(And i'm not clicking on the down button). I now that the collision doesn't work if it goes down, but i don't find the problem. Can someone help me pls🥺?
@diandradeeke
@diandradeeke Месяц назад
thank you very much for this great tutorial. i dowloaded the code but iI also got this error-message while compiling 'pygame.surface.Surface' object has no attribute 'get_frect'. what can i do to solve my problem? I tried to uninstall my pygame version and to download the latest version but it didnt help.
@ClearCode
@ClearCode Месяц назад
did you install pygame-ce?
@diandradeeke
@diandradeeke Месяц назад
that was what i was looking for. Thank you. I guess you said that in this video. i skipped a lot of parts, simply because i already know a lot of things about programming. however, when i start the game i start under water. Nothing i cant fix myself.
@muratmutlu8600
@muratmutlu8600 3 месяца назад
Hi @ClearCode I have an issue, how can I solve this ? When I drag the pygame window, the character's position changes.
@ClearCode
@ClearCode 3 месяца назад
so when you drag the window delta time becomes very large and that messes up the movement. If you limit how large dt can become (for example via a min function) the problem should go away. Just play around the maximum number
@muratmutlu8600
@muratmutlu8600 3 месяца назад
@@ClearCode dt = self.clock.tick() / 1000 max_dt = 0.1 dt = min(dt, max_dt) It seems like this solution might have worked; is that correct?
@ClearCode
@ClearCode 3 месяца назад
@@muratmutlu8600 yeah, that looks good :)
@muratmutlu8600
@muratmutlu8600 3 месяца назад
@@ClearCode thank you so much, you are the best :)
@rorkeslayer3925
@rorkeslayer3925 Месяц назад
I'm stuck at the beginning and keep getting this error every time I try to run the code: Warning: PyGame seems to be running through X11 on top of wayland, instead of wayland directly Edit: I got the code to run now, but the warning continues to pop up. What does it mean?
@NoCleanCode
@NoCleanCode 3 месяца назад
👏🏻👏🏻👏🏻👏🏻👏🏻
@patolorde
@patolorde 2 месяца назад
Can you do a tutorial on creating a 'idle click game' style
@mmz5637
@mmz5637 3 месяца назад
i have done what you said to upgrade to pygame-ce but vs code is telling me that " 'pygame' has no attribute 'init' ", so its not working at all and also when doing from pygame.math import Vector2 as vector it says pygame has no attribute "math". pls help i'm really confused why it's bugging like this, they worked just fine with pygame but not now.
@ClearCode
@ClearCode 3 месяца назад
are you getting an error message?
@mmz5637
@mmz5637 3 месяца назад
yea its a syntax error message AttributeError: module 'pygame' has no attribute 'init'. i tried the code by downloading pygame back and it has no issues @@ClearCode
@mmz5637
@mmz5637 3 месяца назад
im sorry its working now i deleted it and re- installed the pygame-ce on vs code terminal seems to have fixed the issue completely thank you for helping@@ClearCode
@ClearCode
@ClearCode 3 месяца назад
glad it's working now :)
@user-oi2nd6ys5b
@user-oi2nd6ys5b 2 месяца назад
If i try to execute in the class Player , self.rect = self.image.get_frect , it gives me the following error: attributeError. Pygame.surface.Surface object has no attribute 'get_frect' did you mean get_rect? How can i fix it
@ClearCode
@ClearCode 2 месяца назад
you are using the old version of pygame, just uninstall it in the powershell/terminal and then install pygame-ce (it's the much newer and better version of pygame). I talk about it in the video at 00:05:25
@user-oi2nd6ys5b
@user-oi2nd6ys5b 2 месяца назад
@@ClearCode i uninstalled pygame and installed pygame-ce, but i have another question, what type of interpreter you use on vs code
@ClearCode
@ClearCode 2 месяца назад
I use sublime text to code but I always use the latest Python version (3.12 in the video)
@Dexter101x
@Dexter101x 3 месяца назад
Wow, 9 and 1/2 hours!!! Would it be possible to create bit size playlists videos?
@nicklansbury3166
@nicklansbury3166 3 месяца назад
It's split into 15 time-stamped selectable sections which is nearly the same. Hope this helps.
@Dexter101x
@Dexter101x 3 месяца назад
@@nicklansbury3166 Not really, I easily lose track at where I was the last time
@kunalpatel2158
@kunalpatel2158 2 месяца назад
Can you give a document of this project
@sanwaynayak8500
@sanwaynayak8500 3 месяца назад
I love u sir
@maikelvangrootel3843
@maikelvangrootel3843 3 месяца назад
@ClearCode If I move my game window my player dissappears from the game. Is there a solution for this? it seems that when moving the game window the player does not reconize this and the gravity is put up and he falls through the floor
@ClearCode
@ClearCode 3 месяца назад
you mean when you move the actual pygame window around the screen? That shouldn't affect the game at all, something else must be going wrong, maybe an indentation is off somewhere?
@maikelvangrootel3843
@maikelvangrootel3843 3 месяца назад
@@ClearCode yess when moving the game window my player moves down so when I stop moving the game window my player is falling in the abys
@BinBin-jl2lg
@BinBin-jl2lg 3 месяца назад
@@maikelvangrootel3843 I also meet that error too. I think it's an issue of Pygame module.
@ClearCode
@ClearCode 3 месяца назад
Hey, someone in the pygame discord server wrote me about the issue: When you move the window delta time can become very large. If you set some maximum value for delta time it should be fine, not sure about the exact number but if you play around with some values it should be quite doable.
@maikelvangrootel3843
@maikelvangrootel3843 2 месяца назад
@@BinBin-jl2lg FYI I found the problem, it seems that is you have structured your code as followed: Folder with graphics Folder with data Folder with audio Main file Level file .... It does not work, if you restructure the files as followed: Folder with graphics Folder with data Folder with audio Folder with Code It does work!
@nicklansbury3166
@nicklansbury3166 3 месяца назад
This is great! I'd love to subscribe, but I already have. subscribe++ 👏