- 16
- 15 605
BiLLz Devs
เข้าร่วมเมื่อ 30 ก.ย. 2024
Wanna be indie game developer using the Godot engine that focuses on 2D pixel platformers! My channel focuses on tutorials that will truly help you learn to code and make your own games using the Godot game engine!
How to Code Any Moving Platform | Godot 4 Tutorial #godot #gamedev
Learn how to create customizable moving platforms for your 2D platformer game in Godot! In this tutorial, we'll walk you through step-by-step how to design platforms that move along predefined paths, switch directions, and adapt to different speeds. Perfect for beginners and intermediate developers looking to enhance their platformer mechanics!
What You'll Learn:
- Setting up a moving platform with paths and speed control
- Using Godot's Path2D and PathFollow2D nodes effectively
- Adding smooth transitions and interaction with the player character
Build dynamic, polished gameplay with platforms that feel amazing to play on! Whether you're creating a Metroidvania or a classic platformer, this guide has you covered.
Project & Asset Download:
billz-devs.itch.io/platformer-mechanics
---
#Godot #Godot4 #GameDevelopment #Platformer #GodotEngine #Tutorial #GameDesign #PlatformerGame #IndieGameDev #2DPlatformer #GameDevTutorial #LedgeMechanics #GodotTutorial #PixelArtGames #GameMechanics #LearnGameDev #IndieDevCommunity #GameCoding #MakeGames #GodotPlatformer
What You'll Learn:
- Setting up a moving platform with paths and speed control
- Using Godot's Path2D and PathFollow2D nodes effectively
- Adding smooth transitions and interaction with the player character
Build dynamic, polished gameplay with platforms that feel amazing to play on! Whether you're creating a Metroidvania or a classic platformer, this guide has you covered.
Project & Asset Download:
billz-devs.itch.io/platformer-mechanics
---
#Godot #Godot4 #GameDevelopment #Platformer #GodotEngine #Tutorial #GameDesign #PlatformerGame #IndieGameDev #2DPlatformer #GameDevTutorial #LedgeMechanics #GodotTutorial #PixelArtGames #GameMechanics #LearnGameDev #IndieDevCommunity #GameCoding #MakeGames #GodotPlatformer
มุมมอง: 283
วีดีโอ
Add LEDGE GRABBING & CLIMBING to 2D Platformers | Godot 4 Tutorial #godot #gamedev
มุมมอง 68714 วันที่ผ่านมา
In this tutorial, you'll learn how to implement smooth and responsive ledge grabbing and climbing mechanics in your 2D platformer game using Godot 4. We'll guide you step-by-step through the process, covering everything from detecting ledges to creating natural climbing animations. Whether you're building a Metroidvania or a classic platformer, these mechanics will enhance your game's movement ...
Code a JUICY PLATFORMER DASH | Godot 4 Tutorial #godot #gamedev
มุมมอง 1.1Kหลายเดือนก่อน
In this video, you’ll learn how to implement a juicy, precise dash in your 2D platformer game using Godot 4. We’ll break down each step, from adding some input buffering to moving the player to adding juicy visual effects. This tutorial is beginner-friendly, with easy-to-follow explanations to help you add seamless wall jumping without complex code. By the end, you’ll have an advanced wall mech...
How to Code a PLATFORMER WALL CLIMB | Godot 4 Tutorial #godot #gamedev
มุมมอง 685หลายเดือนก่อน
In this video, you’ll learn how to expand wall mechanics in your 2D platformer game using Godot 4. We’ll break down each step, from adding a simple wall slide to wall climbing with limited stamina that depletes at different rates. This tutorial is beginner-friendly, with easy-to-follow explanations to help you add seamless wall jumping without complex code. By the end, you’ll have an advanced w...
How to Code Perfect WALL JUMPING In Your 2D Platformer | Godot 4 Tutorial #godot #gamedev
มุมมอง 1.1Kหลายเดือนก่อน
In this video, you’ll learn how to implement smooth wall kick mechanics in your 2D platformer game using Godot 4. We’ll break down each step, from setting up basic collision detection to creating fluid wall kick actions that feel responsive and fun. This tutorial is beginner-friendly, with easy-to-follow explanations to help you add seamless wall jumping without complex code. By the end, you’ll...
Code A PERFECT PLATFORMER JUMP | Godot 4 Tutorial #godot #gamedev
มุมมอง 2.6Kหลายเดือนก่อน
Learn the secrets behind the best character jumps in game development! This quick tutorial covers topics such as variable jump gravity, variable jump height, jump input buffering, and coyote time. Although code is done in the Godot 4 engine, these concepts can be applied to any game engine and programming language. Perfect for both beginners and experienced devs looking to enhance their game me...
PRO PLATFORMER MOVEMENT with State Machines | Godot 4 Tutorial #godot #gamedev
มุมมอง 2.7Kหลายเดือนก่อน
Learn to create a simple but powerful state machine to finish the foundation of platformer movement in Godot 4! This quick tutorial covers essential techniques to set up a player state machine in order to add more advanced movements to your character. Perfect for both beginners and experienced devs looking to enhance their game mechanics. Character SpriteSheet: 413games.itch.io/platformercharac...
BUTTERY SMOOTH Platformer Movement | Godot 4 Tutorial #godot #gamedev
มุมมอง 2Kหลายเดือนก่อน
BUTTERY SMOOTH Platformer Movement | Godot 4 Tutorial #godot #gamedev
Btw your title has a spelling mistake
Not anymore 😂 Thanks for the heads up!
I absolutely love your tutorials but its also overwhelming. Im here like: How does this guy just thinks about this stuff? I can only copy and then understand but to think of it myself is quite hard.
It comes with time and also seeing how other people implement features. I still watch tutorials from other people, read articles online, etc. Also, a lot of it is just trying things out and seeing if they work. Just keep working hard and you’ll learn a lot and develop a mindset of how to implement your own features!
good video. very clear
Very slick feature to implement
very useful video
agreed
great video, very useful
Glad you think so!
Can you do on one swimming?
That’s a great suggestion!
Incredible video! I'm eagerly looking forward to the tutorial on grabbing a box 📦 and being able to throw it (like Madeline did in Theo Crystalized).
Coming soon!
Thanks for all your tuts!!! Code is so clean, explanations so clear....the best Godot platformer tuts on TH-cam !!!👏👏👏🤩
Thank you for the positive feedback, I’m glad the videos are so helpful!
Can you climb on it from the side like Celeste game? ❤🎉
Yes, climbing moving platforms will be a future video!
Yoo, I suggested that 🐔
Very helpful tutorials ;] Subbed
Glad they are helpful!
keep getting error, "function signature does not match the parent" when passing delta as float into update functions.... so frustrated :/
@@cj-cv7zv make sure that delta is an argument in the PlayerState Update function
@@BiLLzDevs that was it lol, fixed everything. However, now when i try increase the max jumps to 2, it only allows a double jump if the first jump was mid air, never from off the ground... any ideas?
Not sure but in the next video the jump logic is coded from scratch to implement some new features and the double jump works using that code
loving the series so far but what on earth are those creepy noises in the background??
timestamp?
Hello, thanks for the tutorial. After testing climbing up each ledge in the tile map, somehow I couldn't jump. I checked the state change logs and noticed that normally, after climbing up, the state changes to "Idle", then immediately to "Fall", and then back to "Idle". However, in the last test, the remaining transitions didn't occur, which caused the issue of not being able to jump. Should I change the state to "Fall" instead of "Idle" after the "LedgeClimb" animation finished, or could this cause another issue?
Some else had a similar issue, one that I have not encountered in my testing. I believe I initially put the transition to be to the “fall state” but that was glitchy so I switched it to “idle”. I would suggest trying the “fall” state as that would call the landing function and reset your jumps. If that is glitchy you can try calling the landing function in the “ExitState” method of the “LedgeClimbState” or you could manually reset jumps to 0 in the “EnterState” function of the idle state. Feel free to reply back if none of those work
@@BiLLzDevsThis solved for me! I change state to fall. Have a great night!
🎉🎉
Hi man. Thank you for all knowledge. I made everything right but when i climb a ledge somethimes he cant jump. Ihave to dash or he stay and cant jump
Interesting. I have not had this issue. Does your “HandleLanding” function set jumps to 0?
I'm making a Commander Keen fan game and just when I thought your tutorials couldn't be more useful you upload this.
Glad it was helpful!
معدل
hello awesome tutorial . can i use your code for my first game on playstore ?
Absolutely!
Hi, make an enemy tutorial
I will soon! I have a few more mechanics videos planned before I make some videos on topics such as enemies and combat
FIRST! so excited to watch this
I'm subscribed. Good luck and keep the videos on Godot 2D platformer game development coming. Thanks.
Thanks for the sub! Hope the videos are helpful!
Thanks Bro I m only a lambda student your asset help me a lot to game my game thank you ❤❤❤❤ I suscribe 😁
Thanks for the sub!
Can you make a enemy?
I will definitely cover enemy mechanics in a future video!
I'm having a problem with the Jump Input Buffering, and while testing it discovered something else: I'm really new with Godot and coding in general, so maybe there is something i'm not seeing. The first problem is with the JumpBuffering: It works always, the timer starts but when it reachs 0 starts again. So it doesn't matter when i press it. if i'm in the air as soon as it touches the floor it will jump again. I tried to create a code that stops the timer when it reaches 0, but it didn't work. And the second problem is that i can jump while i'm falling if i didn't jump firs. If i fall from a platform i can jump midair. And these both problems happen at the same time. if I fall from a platform and jump, I will jump midair and when i touch the floor will jump again.
In your JumpBuffer timer node, is auto start checked? Auto start needs to be disabled otherwise the timer will continuously start and register as the input being buffered. Make sure the coyote timer also has auto start disabled.
@@BiLLzDevs First of all: Thanks for the answer. I didn't start with the coyote timer, i want to make sure that everything is working properly before moving to the next step. The Timer's autostart was alredy disabled, but it restarts anyway. Well. By writting this comment I find out a way to kind of solve it. i'm pretty sure that there is a better way to do this but i don't have the knowledge to find it yet. So, i wrote a way to stop the countdown when it reaches a really low value on the HandleJumpBuffer func. And by rising the timer the same time it takes it should work the same way. if (JumpBufferTimer.time_left < 0.03): JumpBufferTimer.stop() Now, it also solved (don't know why) the problem that if i jump midair while falling it will jump again AND start the timer. It still jumps, but it doesn't start the timer anymore. the remaining problem is that jump. i want the character to jump only if it's on the floor, that's easy at this point. but if i add an extra jump that doesn't work. I used the code that Brochlark said for the penalty and it worket for 2 jumps (even if it says MaxJumps = 1). And it can double Jump only if i jump from the floor and a single jump if i fall from a platform. I feel at this point that i'm doing a mess with the code. At the end with the HandleJump it ended like this: func HandleJump(): if ((!is_on_floor() and (jumps <= MaxJumps) and KeyJumpPressed) or (KeyJumpPressed or (JumpBufferTimer.time_left > 0)) and (jumps < MaxJumps)): if ((jumps <= MaxJumps) and jumps == 0 and KeyJumpPressed): jumps = 1 + AirJumpPenalty changeState(States.Jump) jumps += 1 JumpBufferTimer.stop() changeState(States.Jump) Any Idea is welcomed, sorry for the long text. I feel that everything is solved but not in the right way. It might work, but if i want to change anything it will break again. And thank you again for the help ✨
Seems like you have kinda got it sorted out! If you keep running into issues, the source code is available on my itch.io page that is linked in the description. You can use that to make sure you have everything set up properly
Hello, I love your tutorials, I'm learning a lot! Since this video and the previous one remind me a lot of Celeste's mechanics, could you make a tutorial on how to create the mechanic for grabbing and throwing objects?
Glad you are learning so much! That is a great suggestion and definitely something I will cover in the future!
@@BiLLzDevs Thanks bro, I'll be waiting for the video
Thank you❤
You're welcome!
i've been trying to wrap my head around platformer logic for way too long, you're doing the lord's work here man
Glad to hear the videos are helping!
This is exactly what I was looking for! Thank you so much!
Glad it was helpful!
Occasionally there will be pixels briefly glitched above the sprite when jumping/falling not sure what could be causing this graphical issue. Any ideas?
Interesting, I haven’t seen that on my device…
This TH-cam channel may be the smurf of a real very famous Game dev ( This in my dream ). Thank you for these very good tutorial.
Billz- thanks so much for this tutorial- so helpful!
This is awesome. Please do more!!
I have probleme with Update fonction when i put delta : float in the ()
The error is " the fonction is not set like this in the parent fonction"
Can someone help me if he know the solution
What does the function look like on the PlayerState gd script file?
@@BiLLzDevs func Update(): Pass
When i put delta in the () in the Run or Jump state it show me an error
litteraly the best tutorial of platformer
Thank you!
Sir do we will add the attack.....
Attacks are in the works, there are a few more basic/essential platformer mechanics I want to cover before I do more specialized things like attacks
we get different errors and warnings! but after i solved it, i think i understand this episode 100% ! Thank you so much !
This dash does not work on the phone only up and down and right and left but does not work in a curved form😢😢❤
Are you running the game on a mobile device?
@BiLLzDevs yes I develop the phone, but now I have left development because I have a final year of study, and when I finish, I will return to development 🇮🇶
What input controls do you have for the phone? It may be an input related issue
@BiLLzDevs I am loving this series so far! It is helping me learn so much. I am running into some errors that I don't understand though. I keep getting "Invalid Call. Nonexistent function 'Update' in base 'Nil'. I am getting this for both of the update and draw functions. After some research, it seems that it is because I am having issues with referencing the PlayerState class, but I can't figure it out at all. I've watched the video back mulitple times now to double and triple check for mistakes, but still nothing. Any help would be appreciated! Again, amazing series and keep up the great work!
I’m glad you love the tutorials and I’m sorry to hear you are running into an error. My first guess is that there is something wrong with your PlayerState class. Can you post the code here so I can take a look?
@@BiLLzDevs I have posted my code twice now but it keeps disappearing, don't know why TH-cam is taking these down...
@@noaconstrictor8816 interesting… maybe put it on pastebin or something and send a link
@@BiLLzDevs Looks like TH-cam is taking down my pastebin link too... not sure what to do here.
@ weird… if you have discord you can post the code there on the health channel then I can take a look at it 🤷🏼♂️
DANG BiLLz has done it again... i may have to try this style just for the fun, you are killing this series, congrats.
I hate to admit it but i'm glad you got distracten and missed changing the X to a Y... I want to see what that makes it look like. Line 305 or @10:37 on the timer. it changes the ending squish of the animation a good bit.
Did I l swap variables somewhere? 😂 I’ll fix it in the source code on my itch page
@@BiLLzDevs Bro, i'm 100% vested now lol. if i had a tinfoil hat i'd say you did it to make people like me go and download the itch code to see what the change makes it look like. i'm deff dropping you some dollars on payday. you are helping so many so much and don't even know it yet. i deleted the down loads and now am going back to video one and watching from the start. i know you've heard it before, but your explanations of WHY we would use this script/var/func in this or that way is spot on. AND you drop mini knowledge bombs like folder layouts that seem odd at first but then go CLICK! no lie, for ALL of your followers' sake don't change the format of these videos until after this series completes (if ever).
رهيب ❤❤استمر
Good ❤❤ complete
Excellent work!
Hey mate, really great tutorial. I am a newer dev and I am getting code slowly but most tutorials just write a line without explaining why and how you can interact with x thing. I really REALLY appreciated during the Loop section when you clicked through and showed how sold the variables are passing into each other. Those time helped me understand how code in general works. So thanks so much!
You are welcome! Thank you for the comment and I hope these videos continue to help you learn
I have a jump pad, but im trying to setup a boost pad why cant i use the same code as a bounce pad but set it to velocity.x = SPEED * 2
Does that not work?
@@BiLLzDevs no i thinm it has to do with the x velocity is realtive to key input
An excellent, well articulated video. I don't often comment on TH-cam videos (I have nothing to say) but I just wished to say thank you for the time and effort you put into this video and it has helped me a lot with my Godot journey thus far
Thank you! That means a lot and I’m glad the tutorials are helpful!
Regarding the onready variables, if you don't know you can Ctrl + drag the node into the script and it will create the variable automatically, it also works selecting and Ctrl-dragging multiple nodes at once. It saves a lot of time! Loving the series and you gained another subscriber, your way of explaining is very easy to understand, thank you for these!
I literally never knew that, that’s so helpful!
THANK YOU!
Thank you too!