Thanks for the help, if anyone else had trouble reading the code. I've Copy and pasted it from my exercise... extends KinematicBody2D var velocity : Vector2 = Vector2() var direction : Vector2 = Vector2() func read_input(): velocity = Vector2() if Input.is_action_pressed("up"): velocity.y -= 1 direction = Vector2(0, -1) if Input.is_action_pressed("down"): velocity.y += 1 direction = Vector2(0, 1) if Input.is_action_pressed("left"): velocity.x -= 1 direction = Vector2(-1, 0) if Input.is_action_pressed("right"): velocity.x += 1 direction = Vector2 (1, 0) velocity = velocity.normalized() velocity = move_and_slide(velocity * 200) func _physics_process(delta): read_input()
@MagicMaskedMonkey Жыл бұрын
thank you, my code did not work but when i coy and pasted yours it did so thx
@mangonauts6464 Жыл бұрын
Thank you for this! Had to even install one of those text comparison apps and found out the reason my code wouldn't work even though all the text was the same was because of a difference in indentation, having placed the velocity = velocity.normalized() lines all the way to the left
@couch2flag Жыл бұрын
thanks a ton! I mistakenly put Input_is_action_just_pressed instead of Input.is_action_pressed so copy pasting your code really help.
@and1hof2 жыл бұрын
Thank you for all of the feedback regarding the audio balance. I've started investigating how to improve the audio balance in my future videos, and believe I have a solution. Enjoy your time with GODOT, and consider checking out my other GODOT tutorials if this one tickles your fancy 😀
@rembottherobot34182 жыл бұрын
My code isn't working
@dandymcgee2 жыл бұрын
@@rembottherobot3418 Welcome to game development. ;)
@DogsRNice2 жыл бұрын
@@rembottherobot3418 the real problem is when your code always works
@Eadrom_Effa2 жыл бұрын
can you make full course top down 2D using GODOT, I will even pay it for full course cus the way you explain it simple and not complicated, I tried using unity and mostly I got confuse on my own scripts
@WiLDbEAsTGameSHere Жыл бұрын
Volume is a lil bit too low
@origenydestino137 ай бұрын
A fantastic video for those who are impatient to see their assets come to live fast and even for a free evening where you want to make a game for yourself. Magnificent to get hyped and keep learning, without all the initial hassle of reviewing thousand settings, their usage and such. Subscribed, well deserved!
@JoeBlac7 ай бұрын
If you're making this tutorial with Godot 4.x some nodes and resources names have changed, eg KinematicBody2D has become CharacterBody2D. You can find the changes between versions in the Godot docs "Migrating to a new version"
@asthalis2 жыл бұрын
Really interesting but, please, zoom on code, it is barely readable
@bobleponge33632 жыл бұрын
@CaptGooey i was on 1080p60 HD and still had trouble
@ZomBee04 Жыл бұрын
The zoom window thing still exists for windows 10
@kentadran Жыл бұрын
Doesn't even matter for coding we have chatgpt3 already
@bruoche11 ай бұрын
@@kentadran ChatGPT's code is dreadfully bad
@GDT-Studio9 ай бұрын
@@bruoche I use ChatGPT-4 for coding problems, it's not "dreadfully bad" as you mentioned.
@staticfanatic2 жыл бұрын
my previous comment aside, this was genuinely hugely helpful. please consider doing more in this series. great work.
@davidjellofox Жыл бұрын
Your tutorials have been very helpful. Thank you for getting me started into Godot. I was fairly lost until I found your tutorials and you quickly answered a lot of questions that got me going quickly.
@KevinGenocchi7 ай бұрын
Character movement script is outdated. You must use CharacterBody2D instead. I got the following from trimming down and adjusting the code from Godots official 2D game guide: extends CharacterBody2D signal hit @export var speed = 200 # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta): var velocity = Vector2.ZERO # The player's movement vector. if Input.is_action_pressed("right"): velocity.x += 1 if Input.is_action_pressed("left"): velocity.x -= 1 if Input.is_action_pressed("down"): velocity.y += 1 if Input.is_action_pressed("up"): velocity.y -= 1 if velocity.length() > 0 : velocity = velocity.normalized() * speed position += velocity * delta
@alvarojrpelado5362Ай бұрын
thank you so much, i could'nt make it work
@FutureChaosTV2 жыл бұрын
Tip/request for future videos: KZbin shows your video as having -25dB volume level. That is far too low. I have you at 100% and my sound system at middle volume level and can almost not hear you speaking. You shouldn't go below -5dB on your master volume.
@batson04792 жыл бұрын
And the bell sounds were far too loud relative to the voiceover.
@matthiasschuster95052 жыл бұрын
Yeah, it sounds very low on volume on my phone
@EleventhFloorBelfry Жыл бұрын
Deprecated. KinematicBody2D has been replaced by CharacterBody2D, and move_and_slide() refuses to work with it.
@jensgl9 ай бұрын
having the exact same problem
@ufoyyyccc10409 ай бұрын
Here's a working script by Chatgpt: extends KinematicBody2D var velocity : Vector2 = Vector2() var direction : Vector2 = Vector2() func read_input(): direction = Vector2() # Reset the direction vector if Input.is_action_pressed("up"): direction.y -= 1 if Input.is_action_pressed("down"): direction.y += 1 if Input.is_action_pressed("left"): direction.x -= 1 if Input.is_action_pressed("right"): direction.x += 1 velocity = direction.normalized() # Normalize the direction vector velocity = move_and_slide(velocity * 200) func _physics_process(delta): read_input()
@unne278 ай бұрын
@@ufoyyyccc1040 chatgpt's knowledge cutoff is in 2021, which is way before kinematicbody got replaced by characterbody. The script you sent would not work.
@herbert857420 күн бұрын
Yes it is deprecated, godot 4.x is completely different from godot 3.x, in 4.x move_and_slide() dosen´t take any kinda of parameters you need to set the variable he called "velocity" with a different name and assign the global velocity of the class CharacterBody in code to this new variable.
@herbert857420 күн бұрын
@@ufoyyyccc1040 Don´t trust ChatGpt, most of it´s codes is a jigsaw stitched together, and they have notorious flaws, soon or later it won´t work anymore.
@coreybarnett21582 жыл бұрын
Great video! Hope you'll do more on RPGs in Godot. My only suggestion would be to zoom in when showing any code. That'd be helpful. Thanks again!
@tokenknobАй бұрын
Followed along with this recently, there are some changes between the version of Godot that was used and Godot 4 which I used. However once you figure out the new tileset/tilemap controls and make sure to use the character2d instead of the kinematic node type then it works pretty well for learning.
@coyohti11 ай бұрын
Immediate thumbs up for having taken the time to learn how Godot is pronounced. It shows an admirable level of attention to detail. Thank you.
@gamelin12342 жыл бұрын
Great content. Only feedback is the volume of your voice feels low and distant, your system's volume is a lot louder.
@Lady.Kianna Жыл бұрын
4:51 "were just gonna save it (the scene)" But... How? What did you click on? I cant see any menu youre using because of text on the screen blocking the left side, and you don't tell us what hotkey if any you are using.
@roastingminer69199 ай бұрын
Ctr s
@GergelyGati2 жыл бұрын
Liked the video a lot. A tip for next time: try to capture stuff in lower resolution, so that the text is more readable on smaller screens.
@Venom75302 жыл бұрын
good video. two things imo though, audio too low and when on the scripting would be helpful to have a zoomed in view available.
@edwardjleavy852 жыл бұрын
i cannot see the code myself sadly :(
@synapticmemoryseepage44472 жыл бұрын
Thank Godot! We no longer have to wait for Godot.
@RuthlessMetalYT4 ай бұрын
where did you get those keybindings from? there's none in my godot.
@DJVibeDubstep2 жыл бұрын
What would be a better engine for a top down JRPG like the old Final Fantasy or games you’d make in the RPG Maker engine; Godot or Unity?
@elakstein Жыл бұрын
Godot
@bassgojoe2 жыл бұрын
I’m a godot newbie but gdscript seems more like python syntax vs javascript
@snesmocha2 жыл бұрын
i'd say more than python ngl
@ame3672 жыл бұрын
it literally is python with minor changes
@rogthepirate45932 жыл бұрын
Yeah, first time I've heard that comparison tbh. And I'll be honest ... thank god it's NOT like javascript.
@dandymcgee2 жыл бұрын
I implemented it.. it works. Now I just need to make the Escape key close the game. :D
@1J03B2 жыл бұрын
That ding sound at the beginning hurt my ears
@mattboxprodАй бұрын
This was wildly difficult for me because of the different versions. I figured some stuff out slowly, but there are some issues I can't resolve without ending up in a deep rabbit hole of functions.
@mistahugz2 жыл бұрын
so godot has an isometric mode and there are some isometric assets out there. is the programming process the same when doing 2d isometric style?
@Blue-Scorpion2 жыл бұрын
Sound in this video is very silent.
@jka12773 ай бұрын
Can't see "current" in camera 2D is there an alternative to that check box?
@warpanderxАй бұрын
it was removed in godot 4 this tutorial is pretty outdated it being 2 years old
@jackmeredith3542 Жыл бұрын
anyone know why my snapping grid doesnt scale down to 16 pixels when I'm creating a tileset and selecting individual tiles from a larger image?
@Okosano2 жыл бұрын
Hi! Im learning Godot actually and I followed your tutorial. My player dont want to walk (W,A,S,D isnt working) - I already checked the script with yours but its 1:1 the same....did you have any idea? Greetings from Germany, keep the good work!
@aquario10072 жыл бұрын
Pretty new too but did you go to the input map and add the keybinds?
@boerbol94222 жыл бұрын
@@aquario1007 I was thinking exactly the same.
@fiesesalien2 жыл бұрын
o... m... g... there was someone talking! But the audio is so incredible quiet I had to pump my volume to 100%. Please, god, don't let me forget it after the video... please please please (this functions also as critique! Don't upload "I hear just fine on headset"!!) Stay crunchy.
@mrmonsterz6444 ай бұрын
Line 26:Function "move_and_slide()" not found in base self.
@TheAnkiitu12 Жыл бұрын
Is there something different between 3.4.2 and 3.4.4, because this code, specifically the player movement code, does not work.
@Hayato-br9hy4 ай бұрын
Yeah I guess, Value "Move_and_slide" have type bool and cant work with variable Vector2. I got this error
@KyllingKyllingSniketeSkygge2 жыл бұрын
Andrew Hoffman you are Hyun right then you are really god at stickman fights
@toxidev4899 Жыл бұрын
This Was So Helpful! If It Wasn't For This I Wouldn't Be Using Godot.
@michk51492 жыл бұрын
Awesome tutorial! as full stack dev just jumping in this quick is amazing
@Zer0Morph2 жыл бұрын
Sure wish I could hear this video, looks really helpful.
@unne272 жыл бұрын
1:29 Gdscript is a lot more similar to Python than to Javascript.
@ForeverZer08 ай бұрын
I chuckled at this part. GDScript is pretty much a superset of Python, nothing JS about it, with a very few engine-specific built-in to the interpreter. From my understanding, it was originally Python during the early development and design of the engine, but there were some obstacles regarding memory management, so they opted for a custom language based on it that they had greater control over. My personal opinion is that they would have been better off using a popular language already in wide usage,and popular, but GDScript is extremely simple for novice users to piece together scripts without programming experience, so they did succeed very well on that important point.
@Maltebyte2 Жыл бұрын
Thank you soo much for making these videos!
@dandymcgee2 жыл бұрын
Calling this an "RPG" is a bit of a stretch lol. Cool video, nevertheless. Would love to see you work on this some more.
@Smiff2483 ай бұрын
Somehow on the player script line 26 doesnt work it says error and i dont know why and how i should fix it ive tried so long now but nothing seems to work.
@theinktician Жыл бұрын
i dont think i have the right one. Options are missing throughout the tilemap part. I'll have to come back later. Its 4am
@Avraycool Жыл бұрын
I think I'm seeing the same thing. We're on version 4.1.1 right now.
@ufoyyyccc10409 ай бұрын
It's Godot 3.4.2
@theodoreclaftover42122 жыл бұрын
I'm excited to jump on the GODOT train when 4.0 comes out. Till then I'll be working on sprites. @10:00 I dont know what they changed in the 4.0 alpha, but I was unable to set my player as a KinematicBody2D and chose something else, thus the tutorial code to move the player did not work. When I first added a new script to the player, Godot tried to automatically build one for me but it was set up as a platformer with gravity so the player immediately plummeted. I deleted the script and followed your instructions but could not pass a boolean to the non "KinematicBody2D" so it crashed. I bet if I did it again I could figure out what parts of the automatically created script to delete and I could incorporate your tutorial inside the remaining code. It may also be that parts of the KinematicBody2D are missing from the current 4.0 Alpha release. Awesome tutorial, but like I said, i'll work on other gamedev skills till 4.0 comes out.
@zaneaguilar52742 жыл бұрын
Just use 3.4 or whatever the most stable version that's not 4. I started learning Godot with no programming experience, before this I was mainly working on music, sound effects, and art.
@sakules Жыл бұрын
KinematicBody2D has apparently, been replaced by CharacterBody2D
@Chareidos Жыл бұрын
@@sakules Thank you sir! That was what I was thinking and about to search an answer or post to ask for clarification!
@wonderincgames Жыл бұрын
Thank you so much! You helped me a lot! I can't thank you enough, so.... New subscriber!
@marktriestolive17812 жыл бұрын
Need more sound volume in the future.
@hmxmisfit21202 жыл бұрын
Making maps on this engine with rpg maker assets is hard. Be easier to just hand draw the world IMO. Is this engine pixel based movement or tile based?
@Topher_lope6 ай бұрын
Wish this was updated :(
@rogthepirate45932 жыл бұрын
Is there a particular reason why you specifically cast the velocity and direction variables to Vector2? Since GDscript is dynamically typed, that seems rather pointless to me as the variable is going to be a Vector2 as soon as you assign a Vector2 value - which is instantly, since you instantiate it right away. But maybe I'm missing something?
@noxalas2 жыл бұрын
The only reason you would cast variables in 3.x is for better warnings/errors and for 'cleaner' code (though that's subjective). In Godot 4 there is an actual performance gain when using static typing :>
@rembottherobot34182 жыл бұрын
I only go right and I made sure everything is correct
@HiImMyna2 жыл бұрын
this was really helpful, thanks heaps!
@SapkaliAkif2 жыл бұрын
I am surprised to see a video where medium audio is actually medium audio. Love it!
@seth-blank2 жыл бұрын
This helped so much!
@zachariahm.kemper74062 жыл бұрын
Tried watching but the sound effects like the ding are so loud and if I crank it down so it isn't ear ringing your voice is so quiet I struggle to hear you
@its.maestro Жыл бұрын
can you make a tutorial on adding background music and sound effexts
@HuffleRuff3 ай бұрын
Damn you really hammer that enter key lol
@YeBittenDog2 жыл бұрын
When typing the movement script section I did not have the same auto-complete prompts appear for me. Is there a setting to enable this?
@Winstreak12 жыл бұрын
I will be attempting to recreate a game I made in Construct 3 for a tutorial using Godot this weekend. Your video should make that much easier. 😁 Hopefully your tutorial takes the top spot over the other tutorials I had to click through to get here. I'll be slowly going through your other videos as my new endeavor continues. Cheers!
@ghad67992 ай бұрын
What about people WITH programming experience, surely I can avoid ui stuff by coding right? But no one talks about full customizability with code
@ehutch792 жыл бұрын
The audio is barely audible. I usually have to turn youtube down, but i have everything cranked and can barely hear you.
@louoou39562 жыл бұрын
Hi, i love your tutorial but i have a bug: Is the code: extends KinematicBody var velocity : Vector2 = Vector2() var direction : Vector2 = Vector2() func read_imput(): velocity = Vector2() if Input.is_action_pressed("up"): velocity.y -=1 direction = Vector2(0, -1) if Input.is_action_pressed("down"): velocity.y -=1 direction = Vector2(0, 1) if Input.is_action_pressed("left"): velocity.x -=1 direction = Vector2(-1, 0) if Input.is_action_pressed("right"): velocity.x -=1 direction = Vector2(1, 0) velocity = velocity.normalized() velocity = move_and_slide() func _physics_process(delta): read_imput() App say: " The argument "delta" is never used in the functions '_physics_process'. If this is intended, prefix with an underscore: '_delta' How i can fix the bug ?? Thanks
@StephenBain2 жыл бұрын
Not necessarily a bug, just a little warning. Godot just wants to make sure you didn't plan to use "delta". If not just change it to "_delta" in the process function.
@amadox3532 жыл бұрын
i have a bug too Too few arguments for "move_and_slide()" call. Expected at least 1.
@ufoyyyccc10409 ай бұрын
Near the end its: Velocity = move_and_slide(velocity * 200)
@ufoyyyccc10409 ай бұрын
the delta thing should be fine
@samuelhugo3387 Жыл бұрын
my character does not move, my code gives no errors, I did attach script to the player. Possible reasons why this could be? Possible solutions? TIA
@satidseenun1724 Жыл бұрын
thank you so much
@GrimDuskEntertainment2 жыл бұрын
My wasd Movement keeps traveling in the direction of the first key pressed FOREVER!!! how do i correct this?
@enochsadventures2 жыл бұрын
seriously good video
@danesmith6242 жыл бұрын
very good introduction video
@shadowfrost-kz5vo2 жыл бұрын
even at 75 percent speed you move very quickly and speak at a very low volume. i'll have to put this in a que for much later on when i'm more familiar.
@jaeaur19 күн бұрын
thanks!
@asdqwe44279 ай бұрын
What was direction for?
@trenox2753 Жыл бұрын
For me the preview of the game doesn't work any fixes?
@DoubO_11 ай бұрын
You are amnazing
@fiddleriddlediddlediddle2 жыл бұрын
Why is his volume set to .7%?
@rxgravite19252 жыл бұрын
heyy, idk whats happening but it only lets me move left and diagonal i have absoloutly no clue how to fix it can someone please help ?
@arnonuhmer37712 жыл бұрын
very cool tutorial, thank you
@PDilling Жыл бұрын
I just can't get the camera to work for some reason and the move_and_slide function keeps causing a error. XD Edit: Ok, I figured out what happened to the camera, it was just the main scene that was defined incorrectly, if someone has an issue with the camera like me you can fix it by selecting the main scene as your world. And it turns out that move_and_slide only works if you "extends" from the "kinematicBody2D" at the top, yeah I had left it as "extends node" XD
@tmpecho2 жыл бұрын
Isn’t GDscript based on python?
@mangonauts6464 Жыл бұрын
Couldn't figure out why my code wasn't working even though mine's pretty much a copy of the example. Then, figured out that apparently the amount of indentation a line has plays a part in whether the code works or not.
@antodarell-brown65164 ай бұрын
does anyone know how to add a sprint input for the code used here?
@Always.Smarter9 ай бұрын
a bit of a stretch calling this an RPG but i wish you would do more advanced tutorials and provide a github link for what you have posted
@bobleponge33632 жыл бұрын
for some reason my collision doesnt work even though i have saved and written all the code correctly.
@wVirtol2 жыл бұрын
But this isn't the complete, how do you add enemies how do u add attack movements etc?
@LiamR908 ай бұрын
Looks good but this video was too fast, too zoomed out and not really a step by step. Mister Taft Creates made a similar series for Unity but it was much slower and broken down over several videos
@varthshenon2 жыл бұрын
My player can only move right and diagonal right up/down. I'm confused.
@varthshenon2 жыл бұрын
I figured it out. It was the indentation.
@rxgravite19252 жыл бұрын
yeah i have the same problem and im not sure what to do ?
@gabrielcgs1232 жыл бұрын
@@rxgravite1925 In my case, I put the 2 last lines, normalize and move slide, inside the right input verification. After backspacing it to be in the func read input, it worked.
@StrandedClone Жыл бұрын
@@rxgravite1925 nesting
@rxgravite1925 Жыл бұрын
@@StrandedClone what does that mean😭
@jackmitchell3142 жыл бұрын
Why cant I hold wasd down to move? I have to tap them repeatedly. It's probably because I'm on chromebook but idk
@hellishlycute2 жыл бұрын
are you sure you used Input.is_action_pressed() and not something slightly different?
@robertsiems3808 Жыл бұрын
My brother in Christ, im literally learning how to Code and use all these functions on my PC that i never used and never knew existed from watching this video. And how to use godot of course as well. So first: im either a hidden genius, second: its not that hard to learn, or third: this video is damn good. I think its a combination of all 3😌 A bit more explanation would be good tho, i always pause and rewind the video to study what exactly you did there
@crunchypopoto17162 жыл бұрын
Good tutorial but please fix volume...mic is really quiet and the notifications are blasting my speakers when I turn my volume up to hear better.
@ufoyyyccc10409 ай бұрын
For some of you having trouble here's a working script by Chatgpt: extends KinematicBody2D var velocity : Vector2 = Vector2() var direction : Vector2 = Vector2() func read_input(): direction = Vector2() # Reset the direction vector if Input.is_action_pressed("up"): direction.y -= 1 if Input.is_action_pressed("down"): direction.y += 1 if Input.is_action_pressed("left"): direction.x -= 1 if Input.is_action_pressed("right"): direction.x += 1 velocity = direction.normalized() # Normalize the direction vector velocity = move_and_slide(velocity * 200) func _physics_process(delta): read_input()
@areo_falls2 жыл бұрын
My left and down do not work how can I fix this?
@gocardsandstuffshatteredle24062 жыл бұрын
3:39 headphone user warning ⚠️
@SurealG2 жыл бұрын
Thanks so much for making this this i just picked up the software and it works great
@gurrenlaggan78692 жыл бұрын
want to preface this by saying i am new to godot and something seems to be off with my movement code, I checked against yours and it is exactly the same, the only problem is with the velocity = velocity.normalized line, in the error list thing it says The method "normalized" isn't declared on base vector two, if anyone could help that be great. thank you for any help!
@Joonysuke2 жыл бұрын
I know I'm two months late, but from what I'm gathering by trying to replicate your error, is that it's caused by a typo in the method you're trying to call(i.e. "normalized()").
@angryman55992 жыл бұрын
Very nice tutorial, but I feel like you could've explained the animations.
@jordanlobo851211 ай бұрын
awesome video, but please tone down the sfx, I had to crank up the volume because your voice is silent, then ill be deafened because of the ping sfx you used
@SharkyBro952 Жыл бұрын
how does the thing pop up at 4:48 i need help
@SharkyBro952 Жыл бұрын
never mind its just ctrl + s
@invoicequaint Жыл бұрын
4:49 "so we're just gonna save it" dude what did you do there
@Avraycool Жыл бұрын
CTRL+S (Save File)
@magick932 жыл бұрын
Dings are too loud! And cant hear what you're saying. Please try fixing audio.
@stevensims3342 Жыл бұрын
Thanks for the video though I must say I have a friend like you who really SMACKS that enter key ✌😂
@ajiaoajiaoajiao2 жыл бұрын
think you
@Kordrean2 жыл бұрын
Getting the Player sprite to move? I can’t get him to move.
@renloureiro1812 жыл бұрын
Idk if you still need help with this, but after you attach the script to the player scene, SAVE your file before moving out of it (it being the player scene) or it will not apply the script to the player scene.
@timflatus9 ай бұрын
In British English actually GOD-oh, in French (arguably the "correct" pronunciation) both vowels are pronounced the same. God-OH is also acceptable. GO-dot just sounds like a pixel-based race game. 🤣 The name has something to do with French military boots and racing cyclists. Didi and Gogo's bowler hats are an optional reference to early Hollywood slapstick. Now you know.
@horrorstories85262 жыл бұрын
var velocity : vector2 = vector2() why does is this code red?