BiLLz Devs
BiLLz Devs
  • 16
  • 15 605
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
มุมมอง: 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

ความคิดเห็น

  • @Nutellagott
    @Nutellagott วันที่ผ่านมา

    Btw your title has a spelling mistake

    • @BiLLzDevs
      @BiLLzDevs วันที่ผ่านมา

      Not anymore 😂 Thanks for the heads up!

  • @SGI077
    @SGI077 2 วันที่ผ่านมา

    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.

    • @BiLLzDevs
      @BiLLzDevs 2 วันที่ผ่านมา

      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!

  • @Swish_Sports
    @Swish_Sports 5 วันที่ผ่านมา

    good video. very clear

  • @Swish_Sports
    @Swish_Sports 5 วันที่ผ่านมา

    Very slick feature to implement

  • @jaredtenney7864
    @jaredtenney7864 5 วันที่ผ่านมา

    very useful video

  • @jaredtenney7864
    @jaredtenney7864 5 วันที่ผ่านมา

    great video, very useful

    • @BiLLzDevs
      @BiLLzDevs 5 วันที่ผ่านมา

      Glad you think so!

  • @Kirblin101
    @Kirblin101 6 วันที่ผ่านมา

    Can you do on one swimming?

    • @BiLLzDevs
      @BiLLzDevs 5 วันที่ผ่านมา

      That’s a great suggestion!

  • @Throh-Art
    @Throh-Art 8 วันที่ผ่านมา

    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).

    • @BiLLzDevs
      @BiLLzDevs 8 วันที่ผ่านมา

      Coming soon!

  • @jeanarnaud7248
    @jeanarnaud7248 9 วันที่ผ่านมา

    Thanks for all your tuts!!! Code is so clean, explanations so clear....the best Godot platformer tuts on TH-cam !!!👏👏👏🤩

    • @BiLLzDevs
      @BiLLzDevs 9 วันที่ผ่านมา

      Thank you for the positive feedback, I’m glad the videos are so helpful!

  • @YhvghVhibv
    @YhvghVhibv 9 วันที่ผ่านมา

    Can you climb on it from the side like Celeste game? ❤🎉

    • @BiLLzDevs
      @BiLLzDevs 9 วันที่ผ่านมา

      Yes, climbing moving platforms will be a future video!

  • @Nutellagott
    @Nutellagott 9 วันที่ผ่านมา

    Yoo, I suggested that 🐔

  • @wicek3d
    @wicek3d 15 วันที่ผ่านมา

    Very helpful tutorials ;] Subbed

    • @BiLLzDevs
      @BiLLzDevs 15 วันที่ผ่านมา

      Glad they are helpful!

  • @cj-cv7zv
    @cj-cv7zv 16 วันที่ผ่านมา

    keep getting error, "function signature does not match the parent" when passing delta as float into update functions.... so frustrated :/

    • @BiLLzDevs
      @BiLLzDevs 16 วันที่ผ่านมา

      @@cj-cv7zv make sure that delta is an argument in the PlayerState Update function

    • @cj-cv7zv
      @cj-cv7zv 3 วันที่ผ่านมา

      @@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?

    • @BiLLzDevs
      @BiLLzDevs 3 วันที่ผ่านมา

      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

  • @cj-cv7zv
    @cj-cv7zv 16 วันที่ผ่านมา

    loving the series so far but what on earth are those creepy noises in the background??

    • @smugay
      @smugay 5 วันที่ผ่านมา

      timestamp?

  • @kasutadomushi17
    @kasutadomushi17 16 วันที่ผ่านมา

    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?

    • @BiLLzDevs
      @BiLLzDevs 16 วันที่ผ่านมา

      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

    • @jichaelmackson1531
      @jichaelmackson1531 16 วันที่ผ่านมา

      ​@@BiLLzDevsThis solved for me! I change state to fall. Have a great night!

  • @Throh-Art
    @Throh-Art 18 วันที่ผ่านมา

    🎉🎉

  • @jichaelmackson1531
    @jichaelmackson1531 18 วันที่ผ่านมา

    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

    • @BiLLzDevs
      @BiLLzDevs 18 วันที่ผ่านมา

      Interesting. I have not had this issue. Does your “HandleLanding” function set jumps to 0?

  • @Leonmaffrand
    @Leonmaffrand 18 วันที่ผ่านมา

    I'm making a Commander Keen fan game and just when I thought your tutorials couldn't be more useful you upload this.

    • @BiLLzDevs
      @BiLLzDevs 18 วันที่ผ่านมา

      Glad it was helpful!

  • @YhvghVhibv
    @YhvghVhibv 18 วันที่ผ่านมา

    معدل

  • @DajjalSlayers
    @DajjalSlayers 18 วันที่ผ่านมา

    hello awesome tutorial . can i use your code for my first game on playstore ?

    • @BiLLzDevs
      @BiLLzDevs 18 วันที่ผ่านมา

      Absolutely!

  • @Kirblin101
    @Kirblin101 18 วันที่ผ่านมา

    Hi, make an enemy tutorial

    • @BiLLzDevs
      @BiLLzDevs 16 วันที่ผ่านมา

      I will soon! I have a few more mechanics videos planned before I make some videos on topics such as enemies and combat

  • @mb_kieran
    @mb_kieran 18 วันที่ผ่านมา

    FIRST! so excited to watch this

  • @dr.earnest.ujaama
    @dr.earnest.ujaama 19 วันที่ผ่านมา

    I'm subscribed. Good luck and keep the videos on Godot 2D platformer game development coming. Thanks.

    • @BiLLzDevs
      @BiLLzDevs 19 วันที่ผ่านมา

      Thanks for the sub! Hope the videos are helpful!

  • @JkBsj-xc8op
    @JkBsj-xc8op 20 วันที่ผ่านมา

    Thanks Bro I m only a lambda student your asset help me a lot to game my game thank you ❤❤❤❤ I suscribe 😁

    • @BiLLzDevs
      @BiLLzDevs 20 วันที่ผ่านมา

      Thanks for the sub!

  • @Kirblin101
    @Kirblin101 22 วันที่ผ่านมา

    Can you make a enemy?

    • @BiLLzDevs
      @BiLLzDevs 21 วันที่ผ่านมา

      I will definitely cover enemy mechanics in a future video!

  • @marcossantiagopesci3863
    @marcossantiagopesci3863 24 วันที่ผ่านมา

    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.

    • @BiLLzDevs
      @BiLLzDevs 24 วันที่ผ่านมา

      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.

    • @marcossantiagopesci3863
      @marcossantiagopesci3863 24 วันที่ผ่านมา

      @@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 ✨

    • @BiLLzDevs
      @BiLLzDevs 24 วันที่ผ่านมา

      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

  • @Throh-Art
    @Throh-Art 25 วันที่ผ่านมา

    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?

    • @BiLLzDevs
      @BiLLzDevs 25 วันที่ผ่านมา

      Glad you are learning so much! That is a great suggestion and definitely something I will cover in the future!

    • @Throh-Art
      @Throh-Art 25 วันที่ผ่านมา

      @@BiLLzDevs Thanks bro, I'll be waiting for the video

  • @Cluxiu
    @Cluxiu 25 วันที่ผ่านมา

    Thank you❤

    • @BiLLzDevs
      @BiLLzDevs 25 วันที่ผ่านมา

      You're welcome!

  • @mb_kieran
    @mb_kieran 26 วันที่ผ่านมา

    i've been trying to wrap my head around platformer logic for way too long, you're doing the lord's work here man

    • @BiLLzDevs
      @BiLLzDevs 26 วันที่ผ่านมา

      Glad to hear the videos are helping!

  • @Koda4Prez
    @Koda4Prez 26 วันที่ผ่านมา

    This is exactly what I was looking for! Thank you so much!

    • @BiLLzDevs
      @BiLLzDevs 26 วันที่ผ่านมา

      Glad it was helpful!

  • @DeadshotGames
    @DeadshotGames 28 วันที่ผ่านมา

    Occasionally there will be pixels briefly glitched above the sprite when jumping/falling not sure what could be causing this graphical issue. Any ideas?

    • @BiLLzDevs
      @BiLLzDevs 28 วันที่ผ่านมา

      Interesting, I haven’t seen that on my device…

  • @klydensx
    @klydensx 29 วันที่ผ่านมา

    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.

  • @user-dm5us1yr9l
    @user-dm5us1yr9l 29 วันที่ผ่านมา

    Billz- thanks so much for this tutorial- so helpful!

  • @user-dm5us1yr9l
    @user-dm5us1yr9l 29 วันที่ผ่านมา

    This is awesome. Please do more!!

  • @klydensx
    @klydensx 29 วันที่ผ่านมา

    I have probleme with Update fonction when i put delta : float in the ()

    • @klydensx
      @klydensx 29 วันที่ผ่านมา

      The error is " the fonction is not set like this in the parent fonction"

    • @klydensx
      @klydensx 29 วันที่ผ่านมา

      Can someone help me if he know the solution

    • @BiLLzDevs
      @BiLLzDevs 29 วันที่ผ่านมา

      What does the function look like on the PlayerState gd script file?

    • @klydensx
      @klydensx 29 วันที่ผ่านมา

      @@BiLLzDevs func Update(): Pass

    • @klydensx
      @klydensx 29 วันที่ผ่านมา

      When i put delta in the () in the Run or Jump state it show me an error

  • @klydensx
    @klydensx หลายเดือนก่อน

    litteraly the best tutorial of platformer

    • @BiLLzDevs
      @BiLLzDevs หลายเดือนก่อน

      Thank you!

  • @Sibtainali-g8q
    @Sibtainali-g8q หลายเดือนก่อน

    Sir do we will add the attack.....

    • @BiLLzDevs
      @BiLLzDevs 29 วันที่ผ่านมา

      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

  • @ozengaming6307
    @ozengaming6307 หลายเดือนก่อน

    we get different errors and warnings! but after i solved it, i think i understand this episode 100% ! Thank you so much !

  • @YhvghVhibv
    @YhvghVhibv หลายเดือนก่อน

    This dash does not work on the phone only up and down and right and left but does not work in a curved form😢😢❤

    • @BiLLzDevs
      @BiLLzDevs หลายเดือนก่อน

      Are you running the game on a mobile device?

    • @YhvghVhibv
      @YhvghVhibv หลายเดือนก่อน

      @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 🇮🇶

    • @BiLLzDevs
      @BiLLzDevs 29 วันที่ผ่านมา

      What input controls do you have for the phone? It may be an input related issue

  • @noaconstrictor8816
    @noaconstrictor8816 หลายเดือนก่อน

    @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!

    • @BiLLzDevs
      @BiLLzDevs หลายเดือนก่อน

      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?

    • @noaconstrictor8816
      @noaconstrictor8816 29 วันที่ผ่านมา

      @@BiLLzDevs I have posted my code twice now but it keeps disappearing, don't know why TH-cam is taking these down...

    • @BiLLzDevs
      @BiLLzDevs 29 วันที่ผ่านมา

      @@noaconstrictor8816 interesting… maybe put it on pastebin or something and send a link

    • @noaconstrictor8816
      @noaconstrictor8816 29 วันที่ผ่านมา

      @@BiLLzDevs Looks like TH-cam is taking down my pastebin link too... not sure what to do here.

    • @BiLLzDevs
      @BiLLzDevs 29 วันที่ผ่านมา

      @ weird… if you have discord you can post the code there on the health channel then I can take a look at it 🤷🏼‍♂️

  • @papastuffy
    @papastuffy หลายเดือนก่อน

    DANG BiLLz has done it again... i may have to try this style just for the fun, you are killing this series, congrats.

    • @papastuffy
      @papastuffy หลายเดือนก่อน

      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.

    • @BiLLzDevs
      @BiLLzDevs หลายเดือนก่อน

      Did I l swap variables somewhere? 😂 I’ll fix it in the source code on my itch page

    • @papastuffy
      @papastuffy หลายเดือนก่อน

      @@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).

  • @YhvghVhibv
    @YhvghVhibv หลายเดือนก่อน

    رهيب ❤❤استمر

  • @YhvghVhibv
    @YhvghVhibv หลายเดือนก่อน

    Good ❤❤ complete

  • @zaneaguilar5274
    @zaneaguilar5274 หลายเดือนก่อน

    Excellent work!

  • @0xkeez
    @0xkeez หลายเดือนก่อน

    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!

    • @BiLLzDevs
      @BiLLzDevs หลายเดือนก่อน

      You are welcome! Thank you for the comment and I hope these videos continue to help you learn

  • @ACide-k1m
    @ACide-k1m หลายเดือนก่อน

    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

    • @BiLLzDevs
      @BiLLzDevs 28 วันที่ผ่านมา

      Does that not work?

    • @ACide-k1m
      @ACide-k1m 28 วันที่ผ่านมา

      ​@@BiLLzDevs no i thinm it has to do with the x velocity is realtive to key input

  • @ShadowMaelstrom
    @ShadowMaelstrom หลายเดือนก่อน

    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

    • @BiLLzDevs
      @BiLLzDevs หลายเดือนก่อน

      Thank you! That means a lot and I’m glad the tutorials are helpful!

  • @Anubisfr3ak
    @Anubisfr3ak หลายเดือนก่อน

    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!

    • @BiLLzDevs
      @BiLLzDevs หลายเดือนก่อน

      I literally never knew that, that’s so helpful!

  • @CharleyDonar
    @CharleyDonar หลายเดือนก่อน

    THANK YOU!

    • @BiLLzDevs
      @BiLLzDevs หลายเดือนก่อน

      Thank you too!