kahanscious
kahanscious
  • 33
  • 6 392
2d platformer tutorial - part 19: options menu | godot 4.3
in this video, we create a complete options menufor our platformer. we'll implement audio controls, resolution settings, and window mode options. we'll learn how to handle user settings, create custom UI themes, and manage multiple menu states.
artwork from - ansimuz.itch.io/gothicvania-patreon-collection
the sfx were either created by myself or used from the rpg essentials sfx collection - leohpaz.itch.io/rpg-essentials-sfx-free
font by kevins moms house - kevins-moms-house.itch.io/bitbybitfont
music by alkakrab - alkakrab.itch.io/free-sci-fi-music-2
health bar assets - woodlandcat.itch.io/pixel-progress-bar-asset-pack
potion assets - admurin.itch.io/admurins-potions
github repo: github.com/kahanscious/youtube-2d-platformer-series/tree/video-19
0:00 intro & overview
0:18 setting up enums & constants
2:07 creating resolution settings
2:54 implementing window modes
3:26 building the options menu UI
6:35 setting up audio controls
8:44 adding resolution controls
10:32 implementing settings manager
15:40 connecting UI elements
20:15 theme customization
25:30 integrating with main menu
31:45 adding pause menu support
38:20 styling the exit button
40:23 final testing & wrap up
#godot #gamedev #tutorial #godot4 #godotengine
มุมมอง: 138

วีดีโอ

how to create a player dash effect godot 4.3 | 2d tutorial
มุมมอง 20112 ชั่วโมงที่ผ่านมา
learn how to create a dash effect with ghost trails in godot 4.3. we'll build a dash system with motion blur using sprite manipulation. i'll show you how to set up the ghost trail effect, handle dash mechanics, and create a smooth cooldown system. player and tileset from ansimuz.itch.io/gothicvania-patreon-collection health bar artwork from woodlandcat.itch.io/pixel-progress-bar-asset-pack gith...
2d platformer tutorial - part 18: coin counter ui & health potions & water zones | godot 4.3
มุมมอง 14214 ชั่วโมงที่ผ่านมา
in this video, we expand our platformer by adding coins you can track, health potions for healing, and water zones that affect player movement. artwork from - ansimuz.itch.io/gothicvania-patreon-collection the sfx were either created by myself or used from the rpg essentials sfx collection - leohpaz.itch.io/rpg-essentials-sfx-free font by kevins moms house - kevins-moms-house.itch.io/bitbybitfo...
how to create moving platforms in godot 4.3 | quick 2d tutorial
มุมมอง 11616 ชั่วโมงที่ผ่านมา
learn how to create two different types of moving platforms in godot 4.3! we'll explore both a code-free approach using the animation player and a coded solution with custom movement logic. assets from kenney.nl/assets/1-bit-platformer-pack github repo: github.com/kahanscious/godot-tutorials github branch: github.com/kahanscious/godot-tutorials/tree/moving-platforms 0:00 intro & overview 0:12 c...
2d platformer tutorial - part 13b: level management bug fix | godot 4.3
มุมมอง 9919 ชั่วโมงที่ผ่านมา
in this video, i'm going to follow up on our level management system. i found some bugs and we should fix them. all artwork used in this tutorial is from ansimuz.itch.io/gothicvania-patreon-collection the sfx were either created by myself or used from the rpg essentials sfx collection by leohpaz on itch.io - leohpaz.itch.io/rpg-essentials-sfx-free font by kevins moms house - kevins-moms-house.i...
how to implement coyote jump & jump buffering in godot 4.3 | quick 2d tutorial
มุมมอง 23819 ชั่วโมงที่ผ่านมา
let's improve our platformer's jumping mechanics by adding coyote time and jump buffering! these two simple additions will make your game feel way more responsive and satisfying to play. we'll implement both features step by step in godot 4.3. player and tileset from ansimuz.itch.io/gothicvania-patreon-collection health bar artwork from woodlandcat.itch.io/pixel-progress-bar-asset-pack github r...
2d platformer tutorial - part 17: xp system & collectibles & double jump | godot 4.3
มุมมอง 139วันที่ผ่านมา
in part 17, we'll add an xp system with collectible coins, a double jump powerup, and level progression to our platformer. all artwork used in this tutorial is from ansimuz.itch.io/gothicvania-patreon-collection the sfx were either created by myself or used from the rpg essentials sfx collection by leohpaz on itch.io - leohpaz.itch.io/rpg-essentials-sfx-free font by kevins moms house - kevins-m...
how to auto-tile & create animated tiles in godot 4.3 | quick 2d tutorial
มุมมอง 191วันที่ผ่านมา
in this video, we'll learn how to use auto-tiling and create animated tiles in godot 4.3. we'll set up a simple water scene with animated objects and create a ground tilemap that automatically connects tiles as you paint them. assets from gfragger.itch.io/magic-market github repo: github.com/kahanscious/godot-tutorials github branch: github.com/kahanscious/godot-tutorials/tree/autotile 0:00 int...
2d platformer tutorial - part 16: turret enemy & enemy bullet systems | godot 4.3
มุมมอง 195วันที่ผ่านมา
in part 16 of our platformer series, we'll refactor our enemy system and create a new turret enemy. we'll improve our bullet management, create a base enemy class, and implement an AI-controlled turret that tracks and shoots at the player. we'll also fix some collision and death state bugs. all artwork used in this tutorial is from ansimuz.itch.io/gothicvania-patreon-collection the sfx were eit...
2d platformer tutorial - part 15: health bars & player death | godot 4.3
มุมมอง 93วันที่ผ่านมา
in part 15 of our platformer series, we'll implement a complete health system. we'll add health bars, handle player death, create a death menu, and set up death boundaries. we'll also fix some bugs with our pause menu and improve our level management system. all artwork used in this tutorial is from ansimuz.itch.io/gothicvania-patreon-collection the sfx were either created by myself or used fro...
2d platformer tutorial - part 14: camera shake | godot 4.3
มุมมอง 4814 วันที่ผ่านมา
in part 14 of our platformer series, we'll implement camera improvements including a dynamic camera shake system! we'll refactor our camera setup and add configurable shake effects that trigger when the player takes damage. this effect can also be used for explosions and environmental events in future updates. all artwork used in this tutorial is from ansimuz.itch.io/gothicvania-patreon-collect...
2d platformer tutorial - part 13: level & audio management | godot 4.3
มุมมอง 12714 วันที่ผ่านมา
in part 13 of our platformer series, we'll expand our game with proper level management, smooth scene transitions, and background music! we'll create a level manager to handle transitions between scenes, add fade effects, and implement a background music system. all artwork used in this tutorial is from ansimuz.itch.io/gothicvania-patreon-collection the sfx were either created by myself or used...
2d platformer tutorial - part 12: pause menu | godot 4.3
มุมมอง 10914 วันที่ผ่านมา
in part 12 of our platformer series, we'll add a pause menu to our game. in the next video, we'll be back to the main parts of the game, like adding more levels and level transitions. all artwork used in this tutorial is from ansimuz.itch.io/gothicvania-patreon-collection the sfx were either created by myself or used from the rpg essentials sfx collection by leohpaz on itch.io - leohpaz.itch.io...
2d platformer tutorial - part 11: start menu | godot 4.3
มุมมอง 17014 วันที่ผ่านมา
in part 11 of our platformer series, we'll add a start menu to our game. part 12 will be adding a pause menu. after that, we'll be back to the main parts of the game, like adding more levels and level transitions. hex codes used in the video for style box flats in the button theme (in order top to bottom): #39393999 #999999 #39393999 #ffffff #00000099 all artwork used in this tutorial is from a...
how to create health bars in godot 4.3 | quick 2d tutorial
มุมมอง 19214 วันที่ผ่านมา
learn how to create two different types of health bars in godot 4.3. we'll cover both the standard progress bar and texture progress bar along with a damage button to show how the health bars work player and tileset from ansimuz.itch.io/gothicvania-patreon-collection health bar artwork from woodlandcat.itch.io/pixel-progress-bar-asset-pack github repo: github.com/kahanscious/godot-tutorials git...
2d platformer tutorial - part 10b: quick fixes - collision masks & audio setup | godot 4.3
มุมมอง 4014 วันที่ผ่านมา
2d platformer tutorial - part 10b: quick fixes - collision masks & audio setup | godot 4.3
2d platformer tutorial - part 10: game juice - knockback, audio/visual effects | godot 4.3
มุมมอง 7614 วันที่ผ่านมา
2d platformer tutorial - part 10: game juice - knockback, audio/visual effects | godot 4.3
how to use cpu particles in godot 4.3 | 2d tutorial
มุมมอง 7014 วันที่ผ่านมา
how to use cpu particles in godot 4.3 | 2d tutorial
2d platformer tutorial - part 9: autoloads & enemy ai | godot 4.3
มุมมอง 9314 วันที่ผ่านมา
2d platformer tutorial - part 9: autoloads & enemy ai | godot 4.3
how to create a camera shake effect in godot 4.3 | quick 2d tutorial
มุมมอง 7314 วันที่ผ่านมา
how to create a camera shake effect in godot 4.3 | quick 2d tutorial
2d platformer tutorial - part 8: enemy creation & hitboxes & hurtboxes | godot 4.3
มุมมอง 12514 วันที่ผ่านมา
2d platformer tutorial - part 8: enemy creation & hitboxes & hurtboxes | godot 4.3
2d platformer tutorial - part 7: bullet mechanics | godot 4.3
มุมมอง 11014 วันที่ผ่านมา
2d platformer tutorial - part 7: bullet mechanics | godot 4.3
2d platformer tutorial - part 6: crouch & shoot mechanics - expanding state machine | godot 4.3
มุมมอง 18521 วันที่ผ่านมา
2d platformer tutorial - part 6: crouch & shoot mechanics - expanding state machine | godot 4.3
2d platformer tutorial - part 5: player state machine | godot 4.3
มุมมอง 23321 วันที่ผ่านมา
2d platformer tutorial - part 5: player state machine | godot 4.3
2d platformer tutorial - part 4: camera limits & boundary | godot 4.3
มุมมอง 12321 วันที่ผ่านมา
2d platformer tutorial - part 4: camera limits & boundary | godot 4.3
2d platformer tutorial - part 3: player jump & level improvements | godot 4.3
มุมมอง 12221 วันที่ผ่านมา
2d platformer tutorial - part 3: player jump & level improvements | godot 4.3
2d platformer tutorial - part 2b: assetlib introduction & plugin recommendations | godot 4.3
มุมมอง 12721 วันที่ผ่านมา
2d platformer tutorial - part 2b: assetlib introduction & plugin recommendations | godot 4.3
2d platformer tutorial - part 2: player animations & tilemap introduction | godot 4.3
มุมมอง 28021 วันที่ผ่านมา
2d platformer tutorial - part 2: player animations & tilemap introduction | godot 4.3
2d platformer tutorial - part 1: basic movement & project setup | godot 4.3
มุมมอง 74221 วันที่ผ่านมา
2d platformer tutorial - part 1: basic movement & project setup | godot 4.3
how to create a parallax background in godot 4.3 | quick 2d tutorial
มุมมอง 39021 วันที่ผ่านมา
how to create a parallax background in godot 4.3 | quick 2d tutorial

ความคิดเห็น

  • @dungeonchunks2344
    @dungeonchunks2344 11 ชั่วโมงที่ผ่านมา

    Thank you for these awesome tutorials. I cant figure out were I missed something , I gone over this tutorial several time and cant find any mistakes that I've done. I would appreciate any help. here's what Error or debugger that I get. " Values of the ternary operator are not mutually compatible" Its in the fall_state.gd line 27 if player.is_on_floor(): return idle_state if player.direction == 0 else run_state return null

    • @kahanscious
      @kahanscious 10 ชั่วโมงที่ผ่านมา

      @@dungeonchunks2344 to get rid of that, you can just break up that return statement into its own if else. this should solve your issue: if player.is_on_floor(): if player.direction == 0: return idle_state else: return run_state let me know if that helps?

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

    please make a tutorial on menu icons for smartphone touch screens

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

      sure! i will make a quick tutorial for that

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

      @kahanscious thank you :) I'm confused about make an icon for touch screen so that I can open the pause menu

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

      @ oh i understand! you want to be able to use the buttons/sliders on a touchscreen too?

  • @kahanscious
    @kahanscious 4 วันที่ผ่านมา

    sorry for the long video, but i wanted to get one more out before i start traveling for the holidays. i might get some smaller videos out before the end of the year, but if not i'll pick this back up in 2025! edit: we’ll pick up with the originally scheduled inventory feature in the next video

  • @ArchAngelAzrael
    @ArchAngelAzrael 4 วันที่ผ่านมา

    Why the collisionshape from player is only convering the legs and not the full body ?

    • @kahanscious
      @kahanscious 4 วันที่ผ่านมา

      you can make it larger if you’d like, but i’m only using this for our player to collide with the ground. we create hit boxes later for when we want him to take damage. if we add platforms to the game, we might want to tweak it to make the shape larger so our player (except his feet) don’t go through it from the bottom.

  • @TheQueen-kz5zw
    @TheQueen-kz5zw 7 วันที่ผ่านมา

    Thank you my friend for everything and for all your sacrifices. Don't back down if you find a little support. Don't lose hope.

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

    I'm grateful for tutorials like this, thanks!

  • @Speed-TV
    @Speed-TV 8 วันที่ผ่านมา

    Good tutorial!

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

    I've seen other tutorials on autotiling and I think you've done a great job with this one. I'm working on a 2D game where the maps are indoor houses. Currently I'm just using regular tilemaplayers for floor and walls and just manually layering walls on top of floor. I think autotiling is a good use case for me, but I also have animated doors which are triggered when an enemy enters. I'm currently using an AnimatedSprite2D for the doors but was curious what your thoughts are on implementing the door as part of autotiling and somehow triggering the animation when the enemy enters. Or if I should just stick with my AnimatedSprite2D.

    • @kahanscious
      @kahanscious 7 วันที่ผ่านมา

      i think you’d be best off doing it how you are. i think auto tiling works better for larger terrains. you could still potentially do it for the houses but you’d likely still need to use the animated sprites for the doors

  • @othmaneer-refaly9216
    @othmaneer-refaly9216 8 วันที่ผ่านมา

    Thanks mate

  • @Zuffufuffifuffu
    @Zuffufuffifuffu 10 วันที่ผ่านมา

    Hello bro u are trying to make good content ❤❤❤❤❤ hat's off🎉🎉🎉🎉🎉🎉

  • @kahanscious
    @kahanscious 10 วันที่ผ่านมา

    sorry if you can hear any weird background noise in this one, i was having a mic issue!

  • @sillxex4360
    @sillxex4360 11 วันที่ผ่านมา

    Amazing series, keep at it!

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

    i can't press anything lmao

    • @kahanscious
      @kahanscious 11 วันที่ผ่านมา

      @@DajjalSlayers do the buttons work in any capacity? does anything happen when you hover over them? if you press them does it acknowledge the click but nothing happens?

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

      @kahanscious works in the main menu I can press. but it stops working when in game help

    • @kahanscious
      @kahanscious 11 วันที่ผ่านมา

      @@DajjalSlayers all signals are properly connected? on_button_pressed?

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

      @kahanscious of course connected . I mean it can't be click while in game

    • @kahanscious
      @kahanscious 10 วันที่ผ่านมา

      @DajjalSlayers just making sure! is the process mode set to always on the pause menu canvas layer node? you may need to set the mouse filter to be ignore, but you can also compare your code to my code in the github link to see if anything looks different on yours - or if you have your code up in a github link, post it here and i'll take a look

  • @drg7008
    @drg7008 12 วันที่ผ่านมา

    Just discovered your channel, you make amazing tutorial Thx man 🔥🔥

  • @TheBlazzam
    @TheBlazzam 12 วันที่ผ่านมา

    thanks for the tutorial. Also your keyboard sounds great.

  • @dungeonchunks2344
    @dungeonchunks2344 13 วันที่ผ่านมา

    Thank you so much for these tutorials.

  • @brandshei9269
    @brandshei9269 13 วันที่ผ่านมา

    Thank you for this video!

  • @shamimaramannan375
    @shamimaramannan375 14 วันที่ผ่านมา

    VEry based. thanks . try to sound more upbeat in your tutorials, u sound so depressed lmao

    • @kahanscious
      @kahanscious 13 วันที่ผ่านมา

      lol i'll try to be a bit more upbeat moving forward😂

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

    I just want to say thanks for doing this. I just got lucky after weeks of working in godot and searching youtube for tips I finally found your channel but I see this series is only 9 days old. Will you - if you haven't already - be covering how to set variables from an autoload when loading a new scene? I've gone through multiple 6+ hour tutorials and they always stop right before this. It's the most important part of building a game and not just a test scene. I have it working in my game by pure, dumb luck but my UI isn't updating while my health is. Just want that resource to be there for future beginners so they don't waste the time I did. Thanks again.

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

      doing my best to release a video every day or every other day for the series. i don’t think i explicitly have done what you’re referencing but i do some autoload stuff along with some refactoring as the series progresses. i’ll see if i can do a longer video on it or weave it into my other general godot tutorials playlist let me know if there is anything you’d like to see covered!

  • @frainhu1530
    @frainhu1530 17 วันที่ผ่านมา

    Great job! That helps me a lot. But I find a small problem. If I undo, the caret will move to the top of the editor. It is a little bit annoying

    • @kahanscious
      @kahanscious 17 วันที่ผ่านมา

      got it! i’ll try to reproduce what you’re seeing and push up a fix. thank you for reporting it! are you using any other formatting addons or just this one?

  • @GeekGuyMJ
    @GeekGuyMJ 17 วันที่ผ่านมา

    Hi! Very helpful video. I was able to get the state machine to work for my context except for one thing. I have an amination that gets skipped over. I want my "grow" animation to fully play when my character gets the power up. It seems the other animations take over and makes it look like it goes from small straight to big. Is this an easy fix to let a single animation finish before others take over? Thank you.

    • @kahanscious
      @kahanscious 17 วันที่ผ่านมา

      glad you found it helpful! i cover this a bit in a later video (around crouch/stand states), but if you want an animation to finish before changing states, you could do something like this: func process(_delta: float) -> State: if player.animation_player.is_playing(): return so in your process method in the state, if your animation is playing, you don't change into a new state, you just return. let me know if this helped? if not, maybe you could share some additional code.

    • @GeekGuyMJ
      @GeekGuyMJ 17 วันที่ผ่านมา

      @@kahanscious that worked beautifully! I spent too long trying to figure that out and thought it was simpler than i was making it. thank you

  • @GainGain33
    @GainGain33 17 วันที่ผ่านมา

    dropping golden knowledge right here

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

    Great video! Your keyboard sounds awesome, is it a custom build?

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

      thanks! i do have a custom build (tofu60 w/ gateron ink silent black switches), but that's not what you're hearing haha. in upcoming videos i put a noise filter on the recording so it would be a bit less noticeable, but maybe i shouldn't do that?

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

    I started my first game a month ago. I'll be watching your series. Thanks for explaining even the little things.

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

      glad you found it useful! let me know if you want me to cover anything specific as well

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

    Bro you are so talented

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

    I just finished part 1!

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

    Really good guide hope to see more!

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

      going to post another 1 or 2 tonight! let me know if you want to see anything specific too

  • @theblacksheep3813
    @theblacksheep3813 23 วันที่ผ่านมา

    hi ! Are you going to cover the AnimationTree?

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

      hi! i wasn’t planning on covering it in the earlier videos, but something to maybe get into later. i’ll see if i can weave it in sooner!

  • @kingfaksoy8429
    @kingfaksoy8429 23 วันที่ผ่านมา

    where is the part 2 bro

    • @kahanscious
      @kahanscious 23 วันที่ผ่านมา

      @@kingfaksoy8429 planning on releasing it tonight or tomorrow!

    • @kingfaksoy8429
      @kingfaksoy8429 23 วันที่ผ่านมา

      @@kahanscious me and my bro just started our indie game so you are most important guy for us now. pls guide us

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

      Chill bro he just started making videos

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

      @@kingfaksoy8429 ay thats not his problem dude