People have been asking for more Godot 4 content. Give me a like if this is your thing and you want more of it. Cheers guys.
@KRETINStudio Жыл бұрын
BIG LIKE!
@bryceforsythe8072 Жыл бұрын
Its how I found you channel and seems to be a much larger pull for viewers than your unity content. You have a nice pace and explain things well, but unity has reached market saturation for tutorials (at least in comparison to godot)
@ChrisTutorialsYT Жыл бұрын
@@bryceforsythe8072 Yeah I'm definitely noticing that too. There's a lot more gaps in how to's for Godot but Unity is very mature software at this point (not that there's nothing new - The official aseprite to unity art importer package is pretty slick for instance)
@sweetgeorgiebrown6143 Жыл бұрын
liked and subscribed for more godot
@ironsalvo109 Жыл бұрын
those are really helpful! With godot 4 update some things changed and as a beginner it became harder to follow old tutorials
@NicholasKJ Жыл бұрын
9:53 For anyone following this tutorial, you should NOT set the window scale to 4x. This will cause many more problems down the road including difficulties with UI scaling and positioning. Instead, on your scene camera, set the zoom to 4x. You will still get that zoomed in look for your camera while being able to accurately configure your UI and other objects.
@ornld Жыл бұрын
You're a wizard, thanks for the tip!
@AhLottaAntwan Жыл бұрын
how would i go about doing that? where is the zoom camera located?
@depepf3514 Жыл бұрын
@@AhLottaAntwan it'll be the Camera2D that you add to the scene (around 27:30 in the video)
@HippocritterXD Жыл бұрын
Thanks for the tip 👍
@empty_abyss Жыл бұрын
bro, you saved me, I was already getting mad because the character was walking so strangely
@Anokolisa Жыл бұрын
hey, thanks a lot for the support using my assets, hope it will be useful for everyone, I want to add new things to these assets, so that it has all the essentials for creating a complete game, so any feedback is very welcome as well as suggestions
@williammally4304 Жыл бұрын
If you are the true creator of the assets your comment needs to be favorited by the video uploader to give you credit.
@jayrent98 Жыл бұрын
i like the art style you have used in your assets. What program did you use to design them?
@dynamite7004 Жыл бұрын
dude the assets look great, keep up the great work :D
@mariafabiola4852 Жыл бұрын
hii, i study graphic design in Venezuela, we were learning the basics on how to animate a videogame and we used your assets too ❤ they're beautiful
@MR.cat_el_1st Жыл бұрын
@@jayrent98 if your looking for a program there is one in your browser that good for pixel art its called losepc
@inconsistent_dg Жыл бұрын
there were some parts in the video where you messed up code, or said you were going to select/do one thing but one second later choose another (e.g. 31:50, start by saying jump all then do jump start) instead of leaving both takes in (an "incorrect" take that you redo later) i think it would be easier to follow if you cut that part out entirely. and then, you change your mind and put it jump_air in jump_start. for someone who likes to pause step by step, this can get a little annoying, and it would be best if you did a practice take, take notes for what you want done already, then do them so you don't get stumbled in your release video. but either way, glad you are making tutorials for godot 4! can get very confusing at times, with it being a new major release and all.
@ryanonfire350411 ай бұрын
Thanks for the tutorial. Have played games for almost 40 years, worked in IT for 24 years, and finally making a start on making my own games. Some really useful tips in there that the Godot tutorial docs didn't include.
@chelsiekristyn589 Жыл бұрын
I absolutely love you. You're seriously the best godot tutorial homie out there. Could you go over attacking as the player, and adding the enemies (especially the enemies attacking) and how to code the player getting hit? HONESTLY LITERALLY JUST ANY GODOT TUTORIAL YOU CAN PROVIDE I'D BE SO GRATEFUL FOR LOVE YOU MAN.
@ChrisTutorialsYT Жыл бұрын
Yeah I'd like to do something like attacks and enemies next as a follow up to this video. Will have to see how time works out next week or two.
@jakes-dev13377 ай бұрын
NOBODY else has been able to teach me the camera smoothing trick! thanks so much! sharing with my subs.
@williammally4304 Жыл бұрын
In case anyone is having trouble with the character not showing up in the scene when done editing collision mask, look at the player tab and see if it has a (*) next to it, he didn't mention it in the video, but you need to save it, I have windows so I hit Ctrl + s
@aras886 Жыл бұрын
Thank you so much
@boomboom6410 Жыл бұрын
THANK GOD!!! I was bouta self destruct before this!
@bobbyjones-uv5cn Жыл бұрын
Thank you, almost freaked out lol
@Characu Жыл бұрын
yes, now this video is relevant because of what unity has done
@vcoder2025 Жыл бұрын
right now I was watching your Godot 3 tutorial of 2D platformer because I hadn't any other choice and It was the best I found but finally you made the Godot 4 tutorial I really needed
@retroblastedgames Жыл бұрын
Amazing! Took me about two hours to get through this entire tutorial with zero coding knowkedge. I was even able to adapt everything to different assets and figured out the changes along the way.
@cristophermoreno2290 Жыл бұрын
Even though the tutorial is not perfect. I REALLY appreciate the fact Chris is doing all of this for free. Thank you, for this tutorial.
@Jixzl11 ай бұрын
11:01 To create child node, instead of right clicking each time, just highlight the node you want to create child from and press the + below the Scene tab.
@avgjoemtg Жыл бұрын
Love that you took comments and improved the code with changes!
@TheAnonymousLemur9 ай бұрын
So a couple comments. For the camera. You can attach a camera to the Player scene. Which will make it follow you automatically, and if you want smooth movement, so it's not just ON you all the time. You would enable "Position Smoothing" in the properties. Then change the speed to fit your style. Lower numbers mean the camera is less centered on the player while moving.
@sean7221 Жыл бұрын
Very good Godot 4 teacher! Looking forward to seeing more videos!
@pietraderdetective8953 Жыл бұрын
Keep it coming! I've been holding back learning Godot to wait for tutorials for Godot 4.
@enderremieenderman Жыл бұрын
Yo Chris YOU CANT UNDERSTAND HOW THANKFULL I AM THANK YOU!!!!!! just the right tutorial i needed litterley been 2 days searching and this tutorial is the right one!
@MrPANICbutton Жыл бұрын
Big thank you.. I've been searching for issue related to camera 2d position smoothing. Your video explained it clearly.
@Diamnds10 Жыл бұрын
Great tutorial, found it very helpful. The editing was a little choppy in some parts though, particularly in the Player Animations segment, where you'd say one thing, cut and rewind 10 seconds, and do something else. A little bit confusing to follow but otherwise everything was very well explained. One question: what's the purpose of getting the direction as a vector (including the Y component) if we're only interested in the X component? Is that to handle vertical movements later down the line, such as climbing ladders or something?
@AndreaDoimo Жыл бұрын
Clear and detailed. Thank you!
@Kazzildo Жыл бұрын
Thank you very much for this Quick Start! I feel I wasted so much time with Unity, and Godot seems to be the way to go now. There's still so much to learn for us beginners, though. I'm so used with javascript and C# stuff, like ending every instruction with a ";" and also the indentation being part of the syntax to the point it results in compilation errors. So much new stuff to tangle with. I'll be following you for more examples. Thanks, once again.
@strawberrybutton44 Жыл бұрын
Just what I needed!!! Thank you so much Chris! Super helpful stuff.
@preacce14642 ай бұрын
This is pure gold!! Thanks you so much!!
@robertocatunda9853 Жыл бұрын
What you can do is create: # checks if the obj/Node is on ground # if so, unlocks the flags (in_air & animation_locked) ~func is_on_ground(): ~ in_air = false ~ animation_locked = false This way, the animation stops at the same time the Player touches the ground TY for the tutorial, I was kinda MEH on learning Game Dev, it really helped me to continue this journey.
@Woofles_556 Жыл бұрын
Thanks Man keep these tutorials going!!
@popstarkirby1993 Жыл бұрын
I had a fun little challenge, where I had to tweak the code a bit for the jumping animation, because I was using a different asset pack.
@GamerJrdn5 ай бұрын
I already have Unity experience so I was able to follow along, thanks for the tutorial, it was a big help!
@NickSBailey Жыл бұрын
great, the best tutorial on this I've found. Moves along at a good pace covering lots while still easy to follow, much appreciated
@Charliedarlingbird5 ай бұрын
I honestly think this is a better method for coding the player animations for a small scale 2D platform than a Unity Style node animation state controller. I feel like you dont need that type of detail until you get to an open world RPG in 3D. This is less cumbersome and less prone to error by missing a checkbox somewhere. Great video
@hamzahichmine708410 ай бұрын
Bro keep going. Do not stop. Any new lesson. We get more understanding
@cvg1399 Жыл бұрын
a big thanks for sharing this free, it save me a lot of effort and time to learn some stuff i didn't knew in godot
@WormPimple Жыл бұрын
This was a great and helpful tutorial for my first time using Godot! Thank you for making this!
@bananagamer-ep6ku Жыл бұрын
26:03 extends CharacterBody2D @export var speed : float = 200.0 @export var jump_velocity : float = -150.0 @export var double_jump : float = -100 # Get the gravity from the project settings to be synced with RigidBody nodes. var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") var has_double_jumped : bool = false func _physics_process(delta): # Add the gravity. if not is_on_floor(): velocity.y += gravity * delta else: has_double_jumped = false # Handle Jump. if Input.is_action_just_pressed("jump"): if is_on_floor(): #normal jump fro floor velocity.y = jump_velocity elif not has_double_jumped: #double_jump in air velocity.y = double_jump has_double_jumped = true # Get the input direction and handle the movement/deceleration. # As good practice, you should replace UI actions with custom gameplay actions. var direction = Input.get_axis("left","right") if direction: velocity.x = direction * speed else: velocity.x = move_toward(velocity.x, 0, speed) move_and_slide()
@ihaventthoughtofausernamey3398 Жыл бұрын
thanks
@jakeyounan2980 Жыл бұрын
u r the Godoat
@aneerudh1712 Жыл бұрын
Thank you so much!! Good wishes
@bolow Жыл бұрын
The find and replace shortcut for Mac is Cmd+Option+F
@ahmedkhabar Жыл бұрын
Hi, Thanks for This video, there is a great way to add jumping and falling animation to the player with velocity.y value, if velocity.y < 0 Then the character is jumping, and if velocity.y > 0 Then the character is falling.
@TheAnonymousLemur9 ай бұрын
Note, if you click and drag something from the Hierarchy, to the script, and before letting go of the mouse button, you hold CTRL and then let go. It'll create the OnReady var for you.
@moe9062 Жыл бұрын
Amazing! Thank you so much!!
@joooooooooooooon11 ай бұрын
Great video. Thanks, Chris. Adding the section on the double jump confused me a bit in the later sections where you are chaining together animation logic. Had to rewatch a couple times but sorted it out.
@DomTheTev Жыл бұрын
Hey friends, for anyone asking the question, "Why can't i draw any tiles?!" -chill. Make sure you have the cursor mode on select. No, not the one next to the paint and draw and other stuff. The one up at the top underneath the scene names (assuming you have the default orientation). Happy game making!
@Klioshas Жыл бұрын
Thanks for doing these tutorials in Godot 4. Would also be very interested to see some advanced techniques for proceduraly generating levels or something like that.
@nikosgewrgiou338 Жыл бұрын
The best tutorial i have watched so far. Fast, simple and crystal clear with instant progress. Thank you very much, u earned like & subscribe :)
@3DMCreations Жыл бұрын
Thanks so much, bro. We have explined so much in just a little time. I loved!
@davidagiel813010 ай бұрын
I want to make my own sprites and tile sets before working out programming, but this tutorial is excellent
@hellblazer8543 Жыл бұрын
damn , the TileMap for Godot4 is
@boywithearing Жыл бұрын
Super helpful. The only thing that bugged me was you switched your syntax in your conditionals when you started using parentheses in the _on_animated_sprite_2d_animation_finished function. Had my OCD going crazy
@MC-dp8ef Жыл бұрын
Incredibly useful ! Thank you very much !!
@Onyaneeze Жыл бұрын
Thank you chris!
@inglesdecarreira Жыл бұрын
Absolutely fantastic!
@denkozlov4220 Жыл бұрын
Awesome tutorial! I've learnt a lot!
@christianscholz7326 Жыл бұрын
very good tutorial!
@jonathanbernardi4306 Жыл бұрын
Masterful, thanks a lot Chris, really appreciated. Much success to you brother.
@kardrasa Жыл бұрын
So much useful stuff! This was amazing!
@TheWildSimmy Жыл бұрын
Appreciate the tutorial - a lot of great info here...will definitely keep watching more of your Godot 4 content!! Many thanks 🤙
@mittens2201ca Жыл бұрын
Really good! But you should speak at 0.75x speed!
@UwUBrick Жыл бұрын
even if i copy paste your code every time i hit the floor i get stuck unable to move left or right unless i jump and i can't double jump
@siliconhawk Жыл бұрын
who else is here after the entire unity debacle got interesting is game engines and now want to learn how to use godot
@jellifygirl Жыл бұрын
Kinda? I'd already learnt unity for school, but couldn't do anything of my own because I don't have a PC so it was really dull... But when unity decided to explode its userbase and everyone was suddenly talking about Godot, I found out there's an android version that can do the same stuff as PC, and NEVER have I been more excited to learn a game engine (while using the worst control scheme imaginable)💥💥💥
@bonsaipropaganda Жыл бұрын
im so happy to see a tutorial in godot 4 stable version!!! will your older tutorials for godot 4 work even though some of them are before stable?
@MrMarkjams2 ай бұрын
This was excellent
@triatct Жыл бұрын
Very helpful. Thanks for your time making this
@AgustinMCMLXXVI Жыл бұрын
Such a great tutorial!!!
@rokveznaver8418 Жыл бұрын
Really great tutorial, would love to see more of Godot 4 :D
@drakebravo Жыл бұрын
followed exactly step by step. when character hits the ground it stays on the last frame of jump end doest go to idle or run. was something left out?
@sabarishn4790 Жыл бұрын
Thanks man that was really really helpful. I'm new to Godot & game dev. I chose godot because it's open source. Then I got into it, every tutorial i watched was in the previous version of godot.. so i got stuck. So thanks man
@AmmarAwan-oc1uc6 ай бұрын
Great tutorial .Please do attack animation tutorial .Its a request .Thanks 1 Performing an attack while jumping. 2 Executing an attack while running.
@Logikiel Жыл бұрын
I dont fully understand whats going on during 47:02 "stop movement during landing". But i am amazed at how you know how to fix and make it all work together.
@neutraljump11 ай бұрын
Hey man, thanks for the tutorial! You managed to open up many little questions I had studying the documentation by myself. Reading is hard.
@NestPavel Жыл бұрын
amazing tutorial, thank you!
@Asonc111 ай бұрын
48:27 you can loop it by copying (ctrl+c) then (ctrl+v) the frames in reverse, like CTRL C frame 5 , paste it, CTRL C frame 4, paste , and on, it went smooth for me :D
@kirbyeatsbomberman10 ай бұрын
At 5:35 I was trying to figure out where the Tile physics section and stuff was. Turns out it's been moved, now you have to right click the tilemap node and go in Sub-Resources to get to the tileset properties.
@3EP05 ай бұрын
It's no longer there, I cannot find anything. Whenever I want to learn blender, photoshop, any game dev engine or programing language the UI and functionality changes making all the older good guides useless, because the developers are complete morons who cannot stick to one design. (sorry for yapping)
@joeljimenez8469 Жыл бұрын
Really,Thanks you for the tutorial I hope you keep making these videos✌️
@robertdaniel731511 ай бұрын
thanks chris
@jenya10551 Жыл бұрын
Thanks a lot for this!!
@DelNiceBeto Жыл бұрын
at 39:42 i get "Standalone lambdas cannot be accessed. Consider assigning it to a variable." error on line 45. how should i resolve this? ive followed everything exactly. did godot change their scripting? edit: solved it, make you indent things properly
@LordByte Жыл бұрын
Each animation seems to have a different offset. It's hell to build that into the code and the offset only seems to work for the entire animatedSprite2D. I linked it to the facingdirection but there should be something more elegant
@parallelblack788 Жыл бұрын
I'm only halfway through the video right now, so I apologise if this gets answered later, but is there a reason why you use an extra node to make the camera follow the player? Directly attaching the Camera2D node as a child to the CharacterBody2D seems to serve the same function, without the extra node in between.
@gummansgubbe62258 ай бұрын
Super video!
@KXNG_BXNZ6 ай бұрын
You are the fuckin GOAT my guy! Thank you for this!
@Ikea_Shark9904 ай бұрын
Thank you. The double jump code and easy to follow guide to tilemaps were super useful
@jamesdroegemueller21524 ай бұрын
44:46 - So now that I've done this part, my character has completely stopped doing any animation and is now perpetually stuck repeating the land animation, even though it shouldn't be repeating at all. It's not even starting with the idle animation, it goes straight to land animation.
@niy._. Жыл бұрын
this was so helpful thanks a ton
@Jerichoom Жыл бұрын
Great tutorial, my only feedback is it starts nice and easy but the last 3rd is way way too fast, with all the animation logic. Hard to track what your thinking is and then new syntax is just dropped in like it's supposed to be known. Totally newbie here, so for sure I lack the knowledge but the pacing just goes a bit wild. I'll soldier on though, at the moment I'm just doing as you do without having any idea as to 'why' 😊
@pericapikachu6697 Жыл бұрын
i copy pasted your finished code but for some reason my guy isnt affected by gravity. send help please
@ayod77545 ай бұрын
Can you please make a step by step video for a state machine? It feels like such gate kept information.
@Shobbz_ Жыл бұрын
While doing the last part my character got stuck and dont move at all please help
@Powidlo__11 ай бұрын
awesome tutorial, godot made my life easier
@thissmellsokay10 ай бұрын
Does anyone know why there's no basic movement template available for me like at 15:50 ? Edit: Nevermind I wasn't highlighting "player" I was highlighting "collisionshape2D" 😅
@miguelmejia9519 ай бұрын
pretty nice tutorial, hope my will makes me use this as an inspiration for my own megaman x9 XD
@Morimea Жыл бұрын
Very good tutorial.
@GPEART1 Жыл бұрын
I had many problems on the import assets step , the folders just disappear. I have re created the project 4 times, I will try doing 1 folder at a time. (It ended up I had to drag and drop the files, very glitchy only as far as importing assets goes.) It is a great project, now I am rolling, thank you!
@LiamRodriguez19676 ай бұрын
Had a lot of problems while going through this video my first time, so went through it a second time and tried to fix and trouble shoot all the problems i encountered and the problems that other people in the comments encountered. Here is the completed code sheet that should resolve all problems. extends CharacterBody2D @export var speed : float = 200 @export var jump_velocity : float = -250 @export var double_jump_velocity : float = -225 @onready var animated_sprite : AnimatedSprite2D = $AnimatedSprite2D # Get the gravity from the project settings to be synced with RigidBody nodes. var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") var has_double_jumped : bool = false var animation_locked : bool = false var direction : Vector2 = Vector2.ZERO var was_in_air : bool = false func _physics_process(delta): # Add the gravity. if not is_on_floor(): velocity.y += gravity * delta was_in_air = true else: has_double_jumped = false if was_in_air == true: land() was_in_air = false # Handle Jump. if Input.is_action_just_pressed("jump"): if is_on_floor(): #normal jump fro floor jump() elif not has_double_jumped: #double_jump in air double_jump() # Get the input direction and handle the movement/deceleration. # As good practice, you should replace UI actions with custom gameplay actions. direction = Input.get_vector("left","right","up","down") if direction.x != 0 && animated_sprite.animation != "jump_end": velocity.x = direction.x * speed else: velocity.x = move_toward(velocity.x, 0, speed) move_and_slide() update_animation() update_facing_directon() func update_animation(): if not animation_locked: if not is_on_floor(): animated_sprite.play("jump_loop") else: if direction.x != 0: animated_sprite.play("run") else: animated_sprite.play("idle") func update_facing_directon(): if direction.x > 0: animated_sprite.flip_h = false elif direction.x < 0: animated_sprite.flip_h = true func jump(): velocity.y = jump_velocity animated_sprite.play("jump_start") animation_locked = true func double_jump(): velocity.y = double_jump_velocity animated_sprite.play("jump_double") animation_locked = true has_double_jumped = true func land(): animated_sprite.play("jump_end") animation_locked = true func _on_animated_sprite_2d_animation_finished(): if(["jump_end", "jump_start", "jump_double"].has(animated_sprite.animation)): animation_locked = false
@lewismartin12485 ай бұрын
Thankyou for this, was having some issues getting the run animation to play but following your changes really sorted it for me!
@kevincabral642311 ай бұрын
just before the 15 minute mark after adding the collision and we move the player above the ground. when I run scene my player just glides off the map with no ability to move the character on my own with wasd why might this be happening?
@kevincabral642311 ай бұрын
fixed it turns out my x56 hotas flight stick and thrust module was being picked up instead of keyboard. incase anyone had the same issue
@anders6326 Жыл бұрын
6:10 Going forward, do you mind using the Paint Property feature to optimize setting up Collisions Masks? It's the current Best prac in the 4.1 manual :)
@antonbulatao1737 Жыл бұрын
I've done everything up to 39:00 correctly, but I'm still getting the "Standalone lambdas cannot be accessed. Consider assigning it to a variable." error for line 45. can anyone explain why?
@poorbob6194 Жыл бұрын
your function is indented. it shouldn't have any indentation
@NagaNaga-mx5tg11 ай бұрын
The running animation stopped working when i added the jumping. When the jump end animation ends it does not go back to being idle.
@aierisfrost8447 Жыл бұрын
its not letting me click the tiles to add phisics to them. Is using an already made texture pack a requirement?
@m4theussszz Жыл бұрын
guys i need help even tho i followed all of chris' steps, my character sprite looks jittery / shaky :/ anyone knows how to solve it? edit: fixed it (i dont remember how i did it tho)
@TechnoKVofficial Жыл бұрын
i'm using godot 4.1.1 and my player keeps jumping without pressing jump. i'm facing it after adding double jump. how do i fix that?