For anyone struggling with the assets, the original artist changed the format of the assets into sprite sheets. The location of the sprites have changed as well but you just have to look through the folder! HOWEVER, at 21:03 i go over how import the sprite sheet instead of single sprites!
@@CodingQuests yeah i saw that, but appling that to the big spritesheet wasnt intuative, didnt rly get what u meant by "bc its 2 horizontal and 1 vertical". got it tho
thank you for tutorial in regards to placing the panel for the sprite to land on when you play the project my sprite falls right through the panel and doesnt seem to have collision ive gone back through the vid but cant seem to find anything ive done differently that would allow this to occur. i have the 3 collision shape 2d all made unique and the panel as well
Thank you very much it was very easy to get up and running. Some notes from my personal experience, you move your mouse very quickly and tend to skip over what you're clicking on. It's natural for you but for us learning the software when we blink and you're on a new screen it's confusing so it would be nice if you either announced what you're clicking on or have a mouse click animation. You also do it when you're making new nodes, you click on the root/parent before you make the node but you don't say this and so I was making nodes with the wrong parents. And when you did the animation of the player, you would reset the timeline back to zero before you added the animation but you didn't mention this and it took me a while to figure out what I was doing wrong there.
@@EienMugetsuTensho yep i agree with your comment cause now i am stuck on the animationtree part and i am playing the guessing game of which one to choose at the 31:51 mark of the video
Nearing the end of this mini-project. Felt like a 10 hour course in disguise with all the pausing, note-taking, and following along! Thank you, this was pretty helpful :)
@@NostalgicChuk anything I kept forgetting and going back to. Especially with why some of the script was written the way it was so I can learn more about it separate from this tutorial
It blows my mind how simple Godot is compared to Unity ('m migrating from there). The pythonic code is intuitive and there's basically no setup needed at all. Getting all the auto complete suggestions without having to do any setup was amazing. I'm blown away. Christmas coding it looking to be an amazing time
I work in python every day. Don't really know C#. Was able to instantly figure out what was going on and help fix my kid's game that wasn't working. I'm a fan of C# now.
It goes a bit too quickly for me, so I had to hit pause a few times in order to catch up. But, all the good stuff is there and I found this even more fun than Unity. Thank you. I will definitely experiment more with Godot.
Friendly recommendation: Might be a good idea to click Settings>Playback Speed>Custom to slow down videos. Sometimes I listen to videos at 0.95 or 0.90, slow enough to keep up but quick enough he does not sound drunk lol
Definitely set this vid to 75% playback speed & he sounds like a normal human. Whomever uploaded the vid clearly sped it up first to shorten the total time. :-/
Great intro to the program, it even got the gears turning in my head to the point where I even added a hop motion to the frogs. For those who aren't sure how to do that, just go back and reference how you made your player jump, as well as the section where you made the frog chase the player, and it's pretty simple to add. If shooters are your thing, and you need to add the actual shot, just remember; this guy just showed us how to spawn something in at 1:33:28. I know most people will probably think that's obvious, but if you're just starting out, it can be very hard to see the forest from the trees. I actually came from Unity, which to me was overly complex. I've worked with Gamemaker since around GM6, and learned GML back in the day. Unity is a great engine, but Godot 4 is definitely the engine for me as a hobby game creator. It's going to be fun creating that game I've been wanting to make for years and never finished.
I really appreciate this comment, you got me to try and set up frog jumping on my own and it led me down a small rabbithole of learning a few new things on my own
I can see some other comments having this same issue, so here is the resolution The part where you setup the health 1:10:05 causes the game to crash for many BECAUSE he cuts out the part of dragging the playing into the script. You want to drag the child player (not the parent node) into the script. func _process(delta): text = "HP: " + str(get_node("../../Player").health) is the correct code.
You say to drag the child player but then you give the code for the parent... The correct code according to the the layer format should be this i believe: text = "HP: " + str(get_node("../../Player/Player").health)
For all the poeple with problems with the new asset set. In the downloaded files is a file with the name GodotProject, can´t import it in godot but if you open it there is another GodotProject file in it, open that too. Then you can drag enemie, music, pickups, player and world in Godot then skip the video to min 20:45 there he is showing how to use spite sheets. Hope that helps everyone =)
As of today, since the Asset download has changed, this should be the top PINNED comments. I was stuck on this part for about 30 mins. Thanks for the help
Ok seriously guys, now you've done everything! thank you so much, I'm happy to see my favorite game engine covered by my favorite learning channel, you're awesome!
Great crash course. I even surprised myself by actually making the connection from the menu to the world scene by myself. Just shows how intuitive Godot is. great stuff!
Jesus christ man.... you click things before you're even talking about them. This tutorial is super smooth if you already know what you're doing and don't need to take it slow. Still works if you don't. It's just rough
anyone who is confused at 13:00 why the get_tree function isnt working it is because you have to press tab after the function for it to be used by the function took me a while to figure that out
I've been working my way bit-by-bit through this tutorial for about a month now. Folks weren't kidding when they said it was a ten hour course compressed into 1:41. I've tried a ton of "basics of so-and-so game engine" and always ended up getting bored or stopping partway, but this is the first one I've actually seen all the way through to the end. As frustrating as your speed could be sometimes, it really forced me to stop, replay, and pay attention to parts and to do a little legwork to understand what was going on, which I think ultimately helped me internalize the concepts better. I even appreciate you not editing out the parts where you messed up and had to go back and fix things, since it gives a taste of problem solving. It also gave me the chance to notice them before you did, which made me feel accomplished and like I actually understood the core concepts. Thank you so much and I look forward to sampling your other tutorials.
The most straight forward guide I've seen After 50 minutes of the video, I already made a level on my game (after struggling for 3 hours on my side to understand what he's doing and how) I tried learning from other videos before this one but it led nowhere, too much theory
This is nice but a bit frustrating to follow and things get messy in the coding area when you're following along and then code gets edited and moved around it gets pretty confusing. Also add the yellow cursor dot for the mouse as it is hard to follow where you are going sometimes as newbs are unfamiliar with the interface. Just helpful critique for next video.
And slow down... I used to be in charge to training at my old job and with very technical complicated processes and it's easy for eager techs to go fast and be excited about the topics training on but you could see the trainee eyes gloss over from overload.
you're never going to get a coding tutorial that isn't moving code around. He is doing this to show how things work. If you dont like it, which i totally get, just skip over it and try and copy what you see when its more finalized. He at least moves his code in a way that doesnt break things in his own tutorials, this tutorial is by far the cleanest one i've seen in ages.
Godot is so beginner friendly im crying man im so happy to find something that i can actually understand and it doesn't just bombard me with so much stuff
This is exactly the crash course I needed. I always felt that I needed to know the full ins and outs of the programming language and software to become a game dev, but overloading your mind with info regarding different types of nodes at the beginning of the learning process can be discouraging. Just having the basic tools and knowledge that I need to make the basic/essential features of a game has put me in a place where I can explore Godot's features while naturally following my curiosity and creativity. Thanks!
Really good intro to godot. I think this could easily have been twice or more longer in duration because of how often I had to pause but that's no biggie, that's what the pause button is for.
I had to watch this guy at 1.5x. It's way too slow. There are plenty of 10+ hour tutorials out there but this guy speed-running the info is the best thing I've ever seen for godot.
@@alexomar9168 Agreed. I rather have this and the ability to just pause/go back rather then listen to a chipmunk never getting to the point in 2x speed.
Watching this now, and want to thank you all so much for the work put into this! I really struggle with paying attention to tutorials, and so far this is perfectly paced for me to remain focused. Thank you so much for sharing your knowledge!!
Small but hopefully helpful bug fix: -For some reason, the instruction around 59:00 did not work for me (frog jumping left or right) -instead of the line: var direction = (player.position - self.position).normalized() -I had to use the line: var direction = (player.global_position - self.global_position).normalized() -i figured it out by putting on some print statements and trying out both position and global_position. -Using .position always resulted in a value greater than zero, therefore the condition could not depend on if direction > 0 -Using .global_position, resulted in positive value when approaching from the right, and negative when approaching from the left, which i believe was the intended result of the original line.
god i spent like 2 hours wanting to smash my head on the keyboard because it just didn't work, but your correction actually worked, thank you, you saved my keyboard
oh my fing g...you have saved me :D For some reason i went to bed and everything was working perfectly. Woke up, opened godot...and my frog only went left XD You have saved me so much time, i was trying to rewrite this again *cries*
You left me drowning in cherries! I can't make them stop spawning lol excellent course for getting the basics down and I like that that you went through the whole thought process in the code and bug checking not just "put all these lines in and you're good". Definitely checking out your channel for more!
To help anyone along the way! I was having this issue where the "Player Detector" wasn't detecting my player at all. I found out that if you go to the frog itself, you probably have two "CollisionShape2D" so what I did was select the one NOT underneath the Player Detector, but the other one. and change the shape of the collision box, I changed it to a circle for example, and had the other one that IS underneath the Player Detector, become a rectangle. Turns out, my issue was that they were both colliding with each other and they were the same exact size. I was trying to figure this out for over 45 minutes and well, there you go. Hope that makes sense to some of you and helps some of you out! :)
i was having the same issue, you might have to delete the player and enemy out of the world scene and re add them if you made a ton of changes. if the name isn't "player" in the scene it wont call for the detection
Thanks, great video. Despite what some other comments say, I appreciate you showing that something doesn't work and then 'fixing' it. It helps separate the individual functions and provides more rationale on why each line of code is there. I think it's a good approach for providing more context and trying to teach the viewer to think critically rather than just copying.
Very nice tutorial. I like you dont explain too much but go straight to the point. A little suggestion. Please use a click sound whenever you click somewhere with your mouse. You move and talk so fast that sometimes its not clear if you clicked or just hovered your mouse. Also a mouse highlight would be nice for the same reasons.
if anyone is stuck at 1:10:00 you need to drag the build-in script of the world from the script tab to the script option at the end of the label properties also if you've did everything correctly till now this should be the correct code for the world script: extends Label # Called when the node enters the scene tree for the first time. func _ready(): pass # Replace with function body. # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(_delta): text = "HP: " + str(get_node("../../Player/Player").health) Hope this helps 🌟
I noticed another bug where the game doesn't save correctly or at least not everytime you quit the game so you can implement this or fix that bug by creating a script that is not built-in in the world scene that saves the game consistently with this code: extends Node2D # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(_delta): Utils.saveGame() Hope this helps 🌟
Thank you for explaining it well and actually showing us what each button does rather than “click this. Click this. Type this.” Like so many other tutorials
If you get hundreds of errors after importing the Sunny assets, you can fix that by deleting the __MACOSX folder in each of the 4 files. That fixed it for me atleast
To anyone having trouble about the frog going the wrong way, ensure that the CharacterBody2D is flushed with the CollisionShape2D, AnimatedSprite etc. What happened to me was that the CharacterBody2D was misaligned causing the player.position to be wrong making the frog go the wrong direction. Hope this helps!
I also ran into an issue where not matter how I set the script up for Frog.gd I could not get the frog to flip left. I just swapped the true false values, ran and swapped back to original format and worked for me!
If ever there is a rework of this, I'd suggest taking it a little slower, mostly around "we're going to go back to here" while clicking on something you obviously already know about, but that might take us by surprise.
at 1:04:06 you can use frame duration which makes a frame last for longer (if you wanted to add 8 frames you would put 8 in the frame duration, for example)
Started recently and playing this for the pass couple of days and got through it. Your an amazing teacher. Deserved all the replayed watched times I gave it 😂😂
This guy does an incredible job explaining everything, I give this a 9.5/10 as far as tutorials go. However, one of the things that's really hard to convey through a tutorial is mouse movement and control input. This guy fidgets way too much, quickly clicks between things while he's explaining stuff, and goes over huge swaths of material in just a brief instant that means I have to pause, rewind, and replay a lot of moments throughout. OTHER THAN THAT, this was a great tutorial!
@@denisl9661 it's a crash course to get you familiar with Godot. Not an indepth course. This is something for someone who already has some knowledge in the subject (not godot, but programming or working with anything similar) and just want something to go of from before reading the documentation. Take it for what it is. You won't learn every detail in a 2 hour video. Having that expectation is just unreal.
@@Tobsson it literally says "for beginners" in the title. I've been programming 10+ years and didn't like this tutorial. Chris tutorials has a better one for example, although shorter.
@@denisl9661 because different people learn differently. I'm watching at 1.25 and while I do pause and rewind occasionally, overall I'm following it. It works for me, so I "liked" it. ¯\_(ツ)_/¯
@@GenTink I find it very hard to believe that you just download Godot, looking at it for the first time, and you are playing it at 1.25 and keeping up just find. I'll admit I'm completely new to game dev, but I have done all of the unity courses and now looking at Godot, I type extremely quickly and I couldn't keep up. There's no way to watch what he is doing FASTER THAN REAL TIME and still keep up.
I really enjoyed that this tutorial went through actually building a game and covered a lot of information. But man was it way to fast, and a lot of things weren't explained. So I was having to pause frequently and watch what was being done that wasn't being described at all.
Thanks for taking the time to makes this tutorial. Much appreciated. However, as more than one comment below has pointed out, it wouldn't hurt if you slowed down a notch 🙂 I don't know if you're suffering from ADHD or if you're just an unusually energetic person, but it is in fact quite difficult to follow along your video as a newcomer; especially when you are clicking buttons and jumping around the program without informing the viewer about what you are doing 😉
i've been bashing my head against a brick wall in godot for days now, then suddenly this tutorial appears posted just 3 minutes ago?! amazing timing! thank you!
Welp, after over a decade of playing them, time to learn how to make video games! Worst case scenario, I broaden my horizons and have a better understanding of the art-form of making games. Thank you for taking the time to make this tutorial!
Null explains topics really well! I highly recommend him if you're interested in learning more about Godot and supporting a small content creator! One of the best Godot content creators for sure.
I like this, but slowing down a bit would be great. Mainly for the mouse movement and clicks when you're running through things fast. That way if this is new to someone, they're not rewinding and trying to figure out what you clicked. It turns into not really learning and just trying to follow steps that sometimes are mentioned and sometimes sped through. At least in the first half hour of the video. Either way, I appreciate the video
Great video! I disagree with a lot of comments. You cover a lot in under two hours, I love the pace (so many other videos go much slower and repeat the things that are not relevent and skim past the important parts), I like that you trouble shoot the examples so we can see the process. You accomplish exactly what the video says it will cover " Crash Course for Beginners." People knit picking need to realize this is ment as a short introduction for BEGINNERS, in an afternoon you can accomplish a simple project and decide if this is for you.
I guess everyone is different. I think every comment says it's a great video and we literally get to make a game by the end which is awesome. The issue is the pace, as you said, it's for beginners. At the start, he really explains everything really well, then after about 10mins or so it ramps up to most of the time him clicking around super quickly and not going into much detail. For example, we use a lot of code functions, and while it's great to have built these scripts it would have been nice to know a little more about what we are writting as well. But that's minor, the main problem was just the speed. I've got an ultrawide and type very fast bro and I couldn't watch what he was doing and then do it fast enough to keep up.
Finished this course! Tweaked a couple things too as I was learning and coding alongside. There's quite a lot to learn in Godot, especially all its inbuilt methods, properties and the GDScript language. Will try to make more games to get better!
Thanks for the crash course, it really helped me get started with Godot. The pacing was just a bit too quick, but since I have some Unity experience already it made the tutorial feel less boring, since most of the concepts can be ported over to Godot as is.
I know I don't want to beat a dead horse here but man you really gotta slow down when going through this stuff. You go through this like you got somewhere you have to be in five minutes and just squeezed out a section as fast as you could. The road is smooth for you but bumpy as hell for the rest of us. All in all good work just keep something like that in mind please.
Hi, thanks for making this tutorial. In your future videos can you please slow down a bit as you navigate the program? I am a complete beginner and sometimes you are clicking on areas really quickly without telegraphing what I need to do to follow along and so I need to constantly pause and rewatch sections to see where you are navigating in Godot. Thanks again and great job on the tutorial!
day 1: 31:12 (abandoned a failed unity project idea) day 2: 47:43 (A bit slower today, hopefully the next day I complete more of the crash course) day: 3 1:10:32 (Back in pace, just realized 90% of the code is just if else statements lmao, also pausing every step is a pain) day 4: done
thanks for the effort and everything but really man you should focus on explaining bits not on giving orders I know that that would make the tutorial more longer but what's the point on following the tutorial when i won't be able to make a game alone after it
Really nice Video, thanks so much for making it! I had zero experience with gdscript whatsoever but while I was watching your tutorial I managed to make the frogs actually jump after you and while in death animation you can use them as a platform to reach higher areas. Thanks so much for the inspiration!
Lol same! That, for me, is what has made me decide to use Godot from here on, because it's not terribly hard to figure out new things to add, and even debug.
came here to refresh myself on godot after not developing for 2 years. godot 4 isn;t too different from 3 though, and this tutorial really helped me understand the changes made! :)
at 59:53 for the direction I had some trouble getting this to work. turns out when you create the parent node2D for mobs and player you should lock those at (0,0) to keep them from moving. Otherwise you might do what I did and accidently move the reference point for one and not the other. Hope that helps
We’re you able to get the frog to drop/react to gravity? For some reason nothing seems to be working with the frog even through my code is written correctly, at least I think it is
I'm having trouble with direction. The mobs detects the player always to the right with no regards for its position. "With lock those at (0,0)" What did you mean? The position?
Hey all to any aspiring Godot creators also jumping ship from Unity or just never liked Unity at all (like me) here's a cool feature you might want to add: In the default script, when it checks for jump, include a line that checks if the input action was just released for the same key as jumping, and if they are not on the floor to: Halve the velocity.y variable by 2 (velocity.y /= 2 will do the trick) This is called control, and is something that your fans will appreciate. If you set up to a bit of a delay, you can set specific jump height limits with this. Following that idea, if you create a timer system, you can also incorporate coyote time (or as I call it, Gravity Grace Period) where your character has a couple of frames to react to being mid-air, and with this system you can also add double-jumps so I mean win/win
Finished the tutorial! Great job, very helpful. One thing I was confused on though was the animations, it seems like there are several methods of animation (AnimationSprite2D, AnimationPlayer, AnimationTree) but it was never really explained why use one over the other. Thanks!
Yea, that part made me angry! He makes it too confusing. Also he doesn't explain why make those key frames at all when the sprite sheet comes with animated sprites? Is it because he wants to be able to control the animations after with code? The animation part was unnecessarily complex and frustrating.
I am an Python developer /c# software engineer I appreciate the effort put into this tutorial!. One learns basic things. However, some fundamental elements are missing to truly classify it as a Crash Course. Introduction to programming concepts (variables, functions, etc.) The scripts are not programmed following Best Practices, ultimately making them significantly unreadable, which leads to issues in larger projects. (Adding functions to handle tasks, for example, in the Player Script - movement actions, etc., to improve readability) Regarding the presentation, a bit more preparation and a slower pace would have been nice. Similarly, the chaotic mouse handling is taxing. Despite all of this, it's a nice tutorial from which one can learn.
@@j0habba best practice isnt fundamental. It's learned over time. This is not something that you need to care about unless you work in a team. Might be something to take a glance at if you're about to build a large/gigantic code base where you don't remember everything and have to read in on the code again every once in a while. Fundamentals is what you want it to be depending on what you're gonna do with it. Variables and functions is something that you'll always encounter. Control of logical flow is def a fundamental (if, else, switch, or whatever the language you use supports). Different data types like int, strings, floats and the likes. Anything beyond that is dependent on what you want to do.
Dude, it's a crash course on Godot, not programming. I agree though the scripts are a mess and it is unfortunate that it's encouraging newbies to program that way.
Thank you so much for this tutorial it has helped me lots to get back into game development after the whole Unity fiasco! Just starting out with game development and Unity was really demotivating when that happened so this tutorial ended a long hiatus
This is a comment from a web dev that wants to go into indie game development: The tutorial is good-ish to start if you have NEVER seen godot, you can extract a lot from it and familiarize with the UI, the tutorial its so simple that makes you think ways of improving the game which is great. There's a lot of info that he doesn't explain at all, the instructor seems familiar with the concepts but not in a way he can explain them when they come up, try to pause as much as possible and don't try to keep up with him live, its not going to work, be aware of all his clicks because there are sections where he would just light speed click away and you will be backtracking a lot because of this, same with formatting code and moving pieces around. This barely counts as introduction but its great because it makes you excited to go deeper and that's the idea
Yeah he really skimps on the explanations, a lot of hand waving things away, though if you're coming from Unity you can kind of put two and two together for the most part. I do find it kind of wild how nodes are basically castable to the scripts they're attached to and would like some more deep dive into how that works.
31:24 I don't really get why we had to use AnimationPlayer to fix the jump and fall part, it can be done just as well by removing the fall frame from the "Jump" animation in the AnimatedSprite2D, and creating a new "Fall" animation with that fall frame in it. I mean, I get that AnimationPlayer provides more flexibility, but in the context of this tutorial I don't see the use for it. Also at 31:50 you mention that you prefer AnimationTree but you'll start with AnimationPlayer and transition to AnimationTree later, but eventually AnimationTree just vanishes into thin air at 37:05. Confusing
Yeah it wasn't needed for what he said it was, he ended up fixing it in a different way (with a gajillion conditional if statements hammering away every frame ;)). Anyway that entire way of doing things was just hideously sloppy and unmaintainable, and I ended up refactoring the whole thing to make the Player into a state machine instead because, even if Godot tolerates it, I just do not like the idea of clobbering the Play method 600 times a second telling it to play the same animation it's already playing. It does hammer in an important point about Play, which is that it does not restart animations that are already playing (if it did, his code would not work). It'd be a better video if he explicitly explained that, though. You can kind of follow along and see where he's fudging things if you have prior experience, but for an absolute beginner who is taking his word as gospel, there are some inaccuracies in there.
about 70% in writing this, yet great tutorial so far! only thing i've noticed is i've had to pause and play back small moments a lot to find out if or why you tabbed something, and copy-pasting stuff quickly is a bit hard for an absolute beginner to follow along with without missing a beat. I have you on 0.75 speed and still having trouble following along to you changing things with copy pasting and deleting things. Definitely a great tutorial though because you show a good amount of everything and put enough information and trial-error teaching to help avoid step by step mistakes. I am curious if you have a good fundamentals tutorial for coding that explains how specific operators are used and when and how to use them, stuff like explaining how and when to use += and stuff like that. I've pretty new to coding and want to get better from a fundamental level so things make sense instead of just watching someone do it.
Very good tutorial, you're good at explaining things, and it shows that you have a lot of experience, HOWEVER, there's some minor things that bothered me while following you, at 31 minutes we're adding animation player and animation tree, you did something off screen to animation tree for the yellow error to disappear, I might be autistic, but I could not for the love of god remove that warning my self at that given time, it bothered me so much I deleted animation tree. As different people already have stated, you're going very fast and some things are happening outside of frame that we do not hear about, take a breather, carefully explain what you are doing off frame or let us know why it is not important yet. You do know your stuff brother, and I thank you for making this tutorial, I am on my way to make a little fun game for my self.
58:00 - With my code being identical, I was getting an output of "Left" regardless of which side I approached the frog. I printed off the player position and frog position and found that the player position was always the same whether I came from the left or the right. I'm getting Godot as a flatpak so maybe there's some issue there. What I did to fix this was to use 'body' instead of 'player', since we already have that information passed in to the function. No need to instance more information. Then I used body.global_position rather than body.position @thepie's comment here on the video. However, I did not invert the frog's position. ex: var direction = (body.global_position - self.position).normalized()
Exactly what I was looking for; I just about gave up and figured that one day I will learn how to make enemies chase the player in two directions, but then I saw your comment. Thanks for this! Worked like a charm
Started out great, but as the video went on you starrted jumping around with the mouse. Everyone does this when they are proficient at a software, but when you're making a tutorial, remember to slow it down so that people can see where you are clicking.
Thank you so much for this course! I'm switching from Unity and went through this course day one of learning Godot today to try and get a hang of where everything is in this editor, and it has helped me a lot! Definitely going to check out CodingQuests other videos as well.
I actually had problems with loading the assets into my project, the issue seeming to be the MACOSX files. If anyone also gets a lot of errors: just go into the files and delete those.
For anyone that having problems at 41:40 with the parallax background not duplicating or glitching switch your renderer in the topright screen from mobile to compatibility!
damn really cool tutorial, easy to follow(esp if you have coding background), sometimes have to pause to figure out things, but still very nice! thanks a lot CodingQuests
I did learn some things, specifically to tilemaps and animations which is pretty cool. However, I feel that the tutorial was rushed (in the way that I barely understand what most of the code does and I felt like copy-pasting what you were doing most of the time) and that some pretty important syntax or engine things were missing. I don't even know how to recover a scene if I closed it by mistake.
To be very honest, I love how fast and snappy you are. Sometimes I look for tutorials on various stuff online and as someone who's really anxious and lives with an eternal sense of urgency, teachers who speak too slowly and break down every single step down to teaching how to open chrome and log in are just not for me. I see how it's great for many people, but I think I have hoodwinked squirrel brain disease. This is great for me, I'll record my progress updating this comment! Update: I think there might be an issue with the assets? After I uploaded them to the project, I started getting thousands of error messages and it finally corrupted. I'm probably doing something wrong...
Loved the material, great stuff. You definitely have a wealth of knowledge. My only feedback is this: Show how to get to the documentation early. Verbally state where you're looking and what you're clicking on and changing. This way we can follow along while watching and not have to look at the video so much to see what "this" is. Don't use the internal/embedded scripts for tutorials. When finishing up the previous step and you've moved on to editing a script, it's hard to know which one it is by that randomized name in Godot. Slowing down a bit and using the above feedback I feel will make you a stronger teacher, if you so desire. Keep making the videos!
If "left" appears on either side(on this part 59:53) change the var direction = (player.position - self.position).normalized() -> var direction = (player.global_position - (self.position)).normalized()
If anybody is having trouble with camera 2d not working, its because you are doing it in the player tab. Instead go to the world tab, then choose "player" click + add camera 2d and there you go👍🏻
ปีที่แล้ว +26
Thanks for a very good tutorial. Nice progression, and I also enjoy the small mistakes left in, so that you see how things work out in real life, and how to figure out what went wrong :)
Thank you, by the way. I'm learning alot and I've only spent a couple hours pausing and working. I already feel like I could animate any sprite and I just got done the movement animations. Thank you.
For anyone struggling with the assets, the original artist changed the format of the assets into sprite sheets. The location of the sprites have changed as well but you just have to look through the folder! HOWEVER, at 21:03 i go over how import the sprite sheet instead of single sprites!
yeah not rly i have no idea what to do with the spritesheet with all the sprites
@@Nugget40385 I show at 21:03 like I just said
@@CodingQuests yeah i saw that, but appling that to the big spritesheet wasnt intuative, didnt rly get what u meant by "bc its 2 horizontal and 1 vertical". got it tho
thank you for tutorial in regards to placing the panel for the sprite to land on when you play the project my sprite falls right through the panel and doesnt seem to have collision ive gone back through the vid but cant seem to find anything ive done differently that would allow this to occur. i have the 3 collision shape 2d all made unique and the panel as well
@@Nugget40385 i thought it was pretty straightforward. learning new things can be hard sometimes though
This video is about to blow up, thanks to Unity.
here for the same reason lol
Returned to godot, thanks unity.
3 years ago found godot hard and used unity now i realize how good of an engine it is
Thats why Im here lol
This is like the only reason why I'm here and not trying to learn unity.
Welcome fellow Unity refugees 😊
Thank you😂
😅
😂😂
Of course the unity monetary thing had to happen 1 year into my games development 🥲😂
Start welcoming roblox refugees too…
Thank you very much it was very easy to get up and running.
Some notes from my personal experience, you move your mouse very quickly and tend to skip over what you're clicking on. It's natural for you but for us learning the software when we blink and you're on a new screen it's confusing so it would be nice if you either announced what you're clicking on or have a mouse click animation. You also do it when you're making new nodes, you click on the root/parent before you make the node but you don't say this and so I was making nodes with the wrong parents. And when you did the animation of the player, you would reset the timeline back to zero before you added the animation but you didn't mention this and it took me a while to figure out what I was doing wrong there.
I agree with this. Also sometimes the zoom will cut out on what he is clicking on.
@@EienMugetsuTensho yep i agree with your comment cause now i am stuck on the animationtree part and i am playing the guessing game of which one to choose at the 31:51 mark of the video
Nearing the end of this mini-project. Felt like a 10 hour course in disguise with all the pausing, note-taking, and following along! Thank you, this was pretty helpful :)
I can feel that
What notes did you take, if you don’t mind me asking?
@@NostalgicChuk anything I kept forgetting and going back to. Especially with why some of the script was written the way it was so I can learn more about it separate from this tutorial
yo any help for 34:34, my frame wont switch@@muaowa
can I copy your notes
Please one tutorial for an FPS in Godot! Everyone interested, please thumbs up, so the creator can see the trend!
hehe, im currently working on a 3d RPG series right now, but FPS might not be out the picture :)
@@CodingQuests Waiting for everything! Thank you!
@@CodingQuests I can't wait to play it
This guy is heavily caffeinated but full of good information.
very true 🤣🤣
I know, right? I had to watch this at 0.75 speed to follow :D
@@MiturGrunge I tried at 0.5 and still leaving now with a headache looking for better tutorials elsewhere...
Prolly adderall lol. But yeah this video is really good and its helping sooo much
Definitely, finished it but definitely annoyed and frustrated. Super anti-calamitic with that last bit
It blows my mind how simple Godot is compared to Unity ('m migrating from there). The pythonic code is intuitive and there's basically no setup needed at all. Getting all the auto complete suggestions without having to do any setup was amazing. I'm blown away. Christmas coding it looking to be an amazing time
I was thinking the same
It's okay, though I'm definitely sticking with C#. xD Unlike Unity, Godot actually supports modern .Net 6 instead of Framework from the Jurassic. xD
dude just invented pythonic as a new word that discrib programming languages.
I work in python every day. Don't really know C#. Was able to instantly figure out what was going on and help fix my kid's game that wasn't working. I'm a fan of C# now.
Fr, Javascript coder here and it all just makes perfect sense to me
It goes a bit too quickly for me, so I had to hit pause a few times in order to catch up. But, all the good stuff is there and I found this even more fun than Unity. Thank you. I will definitely experiment more with Godot.
I've seen other tutorials do a visual indicator every time they click and I think that would be really beneficial here
Exactly this
Friendly recommendation: Might be a good idea to click Settings>Playback Speed>Custom to slow down videos. Sometimes I listen to videos at 0.95 or 0.90, slow enough to keep up but quick enough he does not sound drunk lol
Oh, you're definitely going to enjoy this more than Unity..
Definitely set this vid to 75% playback speed & he sounds like a normal human. Whomever uploaded the vid clearly sped it up first to shorten the total time. :-/
Great intro to the program, it even got the gears turning in my head to the point where I even added a hop motion to the frogs. For those who aren't sure how to do that, just go back and reference how you made your player jump, as well as the section where you made the frog chase the player, and it's pretty simple to add.
If shooters are your thing, and you need to add the actual shot, just remember; this guy just showed us how to spawn something in at 1:33:28. I know most people will probably think that's obvious, but if you're just starting out, it can be very hard to see the forest from the trees.
I actually came from Unity, which to me was overly complex. I've worked with Gamemaker since around GM6, and learned GML back in the day. Unity is a great engine, but Godot 4 is definitely the engine for me as a hobby game creator. It's going to be fun creating that game I've been wanting to make for years and never finished.
I really appreciate this comment, you got me to try and set up frog jumping on my own and it led me down a small rabbithole of learning a few new things on my own
I can see some other comments having this same issue, so here is the resolution
The part where you setup the health 1:10:05 causes the game to crash for many BECAUSE he cuts out the part of dragging the playing into the script. You want to drag the child player (not the parent node) into the script.
func _process(delta):
text = "HP: " + str(get_node("../../Player").health) is the correct code.
You say to drag the child player but then you give the code for the parent...
The correct code according to the the layer format should be this i believe:
text = "HP: " + str(get_node("../../Player/Player").health)
For all the poeple with problems with the new asset set.
In the downloaded files is a file with the name GodotProject, can´t import it in godot but if you open it there is another GodotProject file in it, open that too. Then you can drag enemie, music, pickups, player and world in Godot then skip the video to min 20:45 there he is showing how to use spite sheets.
Hope that helps everyone =)
TY so much!
As of today, since the Asset download has changed, this should be the top PINNED comments. I was stuck on this part for about 30 mins. Thanks for the help
You are a hero. Thank you for this!
I still only see a sprite tileset.
I love you, this helped so much
Ok seriously guys, now you've done everything!
thank you so much, I'm happy to see my favorite game engine covered by my favorite learning channel, you're awesome!
Have you made your favorite game with it yet?
Godot may end up being "everyone's" favorite game engine at this point. i've not heard anything about Python.
Bit there’s only 1 level😅
@@MageSkeleton because GDSCRIPT is very much like python and I'm a python developer myself so this engine was gold for me
thank u bro. i made a "go back to main menu button" after making the play and quit buttons and bro it felt so rewarding. thx for the awesome guide btw
Great crash course. I even surprised myself by actually making the connection from the menu to the world scene by myself. Just shows how intuitive Godot is. great stuff!
Jesus christ man.... you click things before you're even talking about them. This tutorial is super smooth if you already know what you're doing and don't need to take it slow. Still works if you don't. It's just rough
anyone who is confused at 13:00 why the get_tree function isnt working it is because you have to press tab after the function for it to be used by the function took me a while to figure that out
Honestly, just making a working quit button is fulfilling. Never learned this stuff in school at my age, fun to learn!
I've been working my way bit-by-bit through this tutorial for about a month now. Folks weren't kidding when they said it was a ten hour course compressed into 1:41. I've tried a ton of "basics of so-and-so game engine" and always ended up getting bored or stopping partway, but this is the first one I've actually seen all the way through to the end. As frustrating as your speed could be sometimes, it really forced me to stop, replay, and pay attention to parts and to do a little legwork to understand what was going on, which I think ultimately helped me internalize the concepts better. I even appreciate you not editing out the parts where you messed up and had to go back and fix things, since it gives a taste of problem solving. It also gave me the chance to notice them before you did, which made me feel accomplished and like I actually understood the core concepts.
Thank you so much and I look forward to sampling your other tutorials.
The most straight forward guide I've seen
After 50 minutes of the video, I already made a level on my game (after struggling for 3 hours on my side to understand what he's doing and how)
I tried learning from other videos before this one but it led nowhere, too much theory
This is nice but a bit frustrating to follow and things get messy in the coding area when you're following along and then code gets edited and moved around it gets pretty confusing.
Also add the yellow cursor dot for the mouse as it is hard to follow where you are going sometimes as newbs are unfamiliar with the interface.
Just helpful critique for next video.
And slow down... I used to be in charge to training at my old job and with very technical complicated processes and it's easy for eager techs to go fast and be excited about the topics training on but you could see the trainee eyes gloss over from overload.
@@thecasualfly u can pause and hes speeding up so that the vid is not 10 hrs and not annoying for everyone who knows the interface.
you're never going to get a coding tutorial that isn't moving code around. He is doing this to show how things work. If you dont like it, which i totally get, just skip over it and try and copy what you see when its more finalized. He at least moves his code in a way that doesnt break things in his own tutorials, this tutorial is by far the cleanest one i've seen in ages.
This video is about to blow up after what Unity did
lol I literally wrote the same comment almost word for word. Then I sorted by Newest and there you are, three hours previous lol
Godot is so beginner friendly im crying man
im so happy to find something that i can actually understand and it doesn't just bombard me with so much stuff
This is exactly the crash course I needed. I always felt that I needed to know the full ins and outs of the programming language and software to become a game dev, but overloading your mind with info regarding different types of nodes at the beginning of the learning process can be discouraging. Just having the basic tools and knowledge that I need to make the basic/essential features of a game has put me in a place where I can explore Godot's features while naturally following my curiosity and creativity. Thanks!
Really good intro to godot. I think this could easily have been twice or more longer in duration because of how often I had to pause but that's no biggie, that's what the pause button is for.
I had to watch this guy at 1.5x. It's way too slow. There are plenty of 10+ hour tutorials out there but this guy speed-running the info is the best thing I've ever seen for godot.
@@alexomar9168 Agreed. I rather have this and the ability to just pause/go back rather then listen to a chipmunk never getting to the point in 2x speed.
Watching this now, and want to thank you all so much for the work put into this! I really struggle with paying attention to tutorials, and so far this is perfectly paced for me to remain focused. Thank you so much for sharing your knowledge!!
Small but hopefully helpful bug fix:
-For some reason, the instruction around 59:00 did not work for me (frog jumping left or right)
-instead of the line:
var direction = (player.position - self.position).normalized()
-I had to use the line:
var direction = (player.global_position - self.global_position).normalized()
-i figured it out by putting on some print statements and trying out both position and global_position.
-Using .position always resulted in a value greater than zero, therefore the condition could not depend on if direction > 0
-Using .global_position, resulted in positive value when approaching from the right, and negative when approaching from the left, which i believe was the intended result of the original line.
Thank you! I was trying to find what was wrong with the code for like half an hour because of this!!! Now it finally works correctly
dude you are a life saver thank you
god i spent like 2 hours wanting to smash my head on the keyboard because it just didn't work, but your correction actually worked, thank you, you saved my keyboard
oh my fing g...you have saved me :D For some reason i went to bed and everything was working perfectly. Woke up, opened godot...and my frog only went left XD
You have saved me so much time, i was trying to rewrite this again *cries*
THE BEST tutorial so far. Actually explains every step of the way of what each function does unlike most tutorials that just make us copy their code.
You left me drowning in cherries! I can't make them stop spawning lol excellent course for getting the basics down and I like that that you went through the whole thought process in the code and bug checking not just "put all these lines in and you're good". Definitely checking out your channel for more!
To help anyone along the way!
I was having this issue where the "Player Detector" wasn't detecting my player at all. I found out that if you go to the frog itself, you probably have two "CollisionShape2D" so what I did was select the one NOT underneath the Player Detector, but the other one. and change the shape of the collision box, I changed it to a circle for example, and had the other one that IS underneath the Player Detector, become a rectangle. Turns out, my issue was that they were both colliding with each other and they were the same exact size. I was trying to figure this out for over 45 minutes and well, there you go. Hope that makes sense to some of you and helps some of you out! :)
So isntead mine is over detecting and it constantly says 0 1 or -1 in output
@@Camtugames Dude, I’m having the exact same issue, did you manage to fix it?
i was having the same issue, you might have to delete the player and enemy out of the world scene and re add them if you made a ton of changes. if the name isn't "player" in the scene it wont call for the detection
Thanks, great video. Despite what some other comments say, I appreciate you showing that something doesn't work and then 'fixing' it. It helps separate the individual functions and provides more rationale on why each line of code is there. I think it's a good approach for providing more context and trying to teach the viewer to think critically rather than just copying.
Thanks for sharing. This is a much better introduction than the one in Godot documentation. Keep up the good work!
Very nice tutorial. I like you dont explain too much but go straight to the point.
A little suggestion. Please use a click sound whenever you click somewhere with your mouse. You move and talk so fast that sometimes its not clear if you clicked or just hovered your mouse. Also a mouse highlight would be nice for the same reasons.
I agree! thanks for these tips!
if anyone is stuck at 1:10:00 you need to drag the build-in script of the world from the script tab to the script option at the end of the label properties also if you've did everything correctly till now this should be the correct code for the world script:
extends Label
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
text = "HP: " + str(get_node("../../Player/Player").health)
Hope this helps 🌟
I noticed another bug where the game doesn't save correctly or at least not everytime you quit the game so you can implement this or fix that bug by creating a script that is not built-in in the world scene that saves the game consistently with this code:
extends Node2D
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(_delta):
Utils.saveGame()
Hope this helps 🌟
Thank you for explaining it well and actually showing us what each button does rather than “click this. Click this. Type this.” Like so many other tutorials
This channel is wonderful. Not only does it have wonderful courses but it also allows me to find hidden gems on TH-cam. 😀
If you get hundreds of errors after importing the Sunny assets, you can fix that by deleting the __MACOSX folder in each of the 4 files. That fixed it for me atleast
To anyone having trouble about the frog going the wrong way, ensure that the CharacterBody2D is flushed with the CollisionShape2D, AnimatedSprite etc. What happened to me was that the CharacterBody2D was misaligned causing the player.position to be wrong making the frog go the wrong direction. Hope this helps!
You just saved me a lot of headache
i have the same problem, but i don t know how to solve it..
what do you mean with "misaligned"
I also ran into an issue where not matter how I set the script up for Frog.gd I could not get the frog to flip left. I just swapped the true false values, ran and swapped back to original format and worked for me!
Did you get it to work?
@@xeno_.33
Tips to make this video more understandable, change playback speed to Customs: 0.9 or 0.85 and the instructor will talk normally.
36:00, resuming tomorrow. This has been great so far, tysm
If ever there is a rework of this, I'd suggest taking it a little slower, mostly around "we're going to go back to here" while clicking on something you obviously already know about, but that might take us by surprise.
at 1:04:06 you can use frame duration which makes a frame last for longer (if you wanted to add 8 frames you would put 8 in the frame duration, for example)
Started recently and playing this for the pass couple of days and got through it. Your an amazing teacher.
Deserved all the replayed watched times I gave it 😂😂
I recommend watching this at 75% speed. Terrific introduction so far! I'm not feeling intimidated at all yet :)
i use 50% speed and still have to rewind
Dude thanks for reminding me you can change speed, this is like trying to learn from a squirrel on coke.
I'm watching this at 1.25.
wow , without any struggle all worked for godot 4.2. Amazing content please keep continue !
How did you bring in the files from 17.00 ? It's not working for me
This guy does an incredible job explaining everything, I give this a 9.5/10 as far as tutorials go. However, one of the things that's really hard to convey through a tutorial is mouse movement and control input. This guy fidgets way too much, quickly clicks between things while he's explaining stuff, and goes over huge swaths of material in just a brief instant that means I have to pause, rewind, and replay a lot of moments throughout. OTHER THAN THAT, this was a great tutorial!
yeah, as a learning experience it's bad. I don't get the upvotes
@@denisl9661 it's a crash course to get you familiar with Godot. Not an indepth course. This is something for someone who already has some knowledge in the subject (not godot, but programming or working with anything similar) and just want something to go of from before reading the documentation.
Take it for what it is. You won't learn every detail in a 2 hour video. Having that expectation is just unreal.
@@Tobsson it literally says "for beginners" in the title. I've been programming 10+ years and didn't like this tutorial. Chris tutorials has a better one for example, although shorter.
@@denisl9661 because different people learn differently. I'm watching at 1.25 and while I do pause and rewind occasionally, overall I'm following it. It works for me, so I "liked" it. ¯\_(ツ)_/¯
@@GenTink I find it very hard to believe that you just download Godot, looking at it for the first time, and you are playing it at 1.25 and keeping up just find.
I'll admit I'm completely new to game dev, but I have done all of the unity courses and now looking at Godot, I type extremely quickly and I couldn't keep up. There's no way to watch what he is doing FASTER THAN REAL TIME and still keep up.
I really enjoyed that this tutorial went through actually building a game and covered a lot of information.
But man was it way to fast, and a lot of things weren't explained. So I was having to pause frequently and watch what was being done that wasn't being described at all.
Thanks for taking the time to makes this tutorial. Much appreciated. However, as more than one comment below has pointed out, it wouldn't hurt if you slowed down a notch 🙂 I don't know if you're suffering from ADHD or if you're just an unusually energetic person, but it is in fact quite difficult to follow along your video as a newcomer; especially when you are clicking buttons and jumping around the program without informing the viewer about what you are doing 😉
You can put it on 0.75 speed if you need or go back if you miss anything.
Damnnnn... making games is so simple using godot... than Unity... tbh
Love from India 👌
i've been bashing my head against a brick wall in godot for days now, then suddenly this tutorial appears posted just 3 minutes ago?!
amazing timing! thank you!
I hope it helps!
Their channel GDQuest has tons of tutorials. This one here looks really cool and well put together, though.
@@CodingQuests I subscribed to your channel. I have always wanted to learn how to use Godot. Thank you so much for the tutorial.
@@frankrobertosalascastillo4200 your very welcome my friend! I wish you luck in your journey to learning Godot!
@@CodingQuests slow down brother, you're explanations are too fast
Welp, after over a decade of playing them, time to learn how to make video games! Worst case scenario, I broaden my horizons and have a better understanding of the art-form of making games. Thank you for taking the time to make this tutorial!
Null explains topics really well! I highly recommend him if you're interested in learning more about Godot and supporting a small content creator! One of the best Godot content creators for sure.
This is a really good crash course and I've learned a TON already. Thank you for helping me level up my skills
I like this, but slowing down a bit would be great. Mainly for the mouse movement and clicks when you're running through things fast. That way if this is new to someone, they're not rewinding and trying to figure out what you clicked. It turns into not really learning and just trying to follow steps that sometimes are mentioned and sometimes sped through. At least in the first half hour of the video. Either way, I appreciate the video
Great video! I disagree with a lot of comments. You cover a lot in under two hours, I love the pace (so many other videos go much slower and repeat the things that are not relevent and skim past the important parts), I like that you trouble shoot the examples so we can see the process. You accomplish exactly what the video says it will cover " Crash Course for Beginners."
People knit picking need to realize this is ment as a short introduction for BEGINNERS, in an afternoon you can accomplish a simple project and decide if this is for you.
I guess everyone is different. I think every comment says it's a great video and we literally get to make a game by the end which is awesome. The issue is the pace, as you said, it's for beginners. At the start, he really explains everything really well, then after about 10mins or so it ramps up to most of the time him clicking around super quickly and not going into much detail. For example, we use a lot of code functions, and while it's great to have built these scripts it would have been nice to know a little more about what we are writting as well. But that's minor, the main problem was just the speed.
I've got an ultrawide and type very fast bro and I couldn't watch what he was doing and then do it fast enough to keep up.
Finished this course! Tweaked a couple things too as I was learning and coding alongside. There's quite a lot to learn in Godot, especially all its inbuilt methods, properties and the GDScript language. Will try to make more games to get better!
Thanks for the crash course, it really helped me get started with Godot. The pacing was just a bit too quick, but since I have some Unity experience already it made the tutorial feel less boring, since most of the concepts can be ported over to Godot as is.
Finally a Godot Course !! FCC strikes again.
Thank you! Amazing tutorial!
I know I don't want to beat a dead horse here but man you really gotta slow down when going through this stuff. You go through this like you got somewhere you have to be in five minutes and just squeezed out a section as fast as you could. The road is smooth for you but bumpy as hell for the rest of us. All in all good work just keep something like that in mind please.
This tutorial requires me to actually watch, think and pay attention. Outrageous
Hi, thanks for making this tutorial. In your future videos can you please slow down a bit as you navigate the program? I am a complete beginner and sometimes you are clicking on areas really quickly without telegraphing what I need to do to follow along and so I need to constantly pause and rewatch sections to see where you are navigating in Godot. Thanks again and great job on the tutorial!
day 1: 31:12 (abandoned a failed unity project idea)
day 2: 47:43 (A bit slower today, hopefully the next day I complete more of the crash course)
day: 3 1:10:32 (Back in pace, just realized 90% of the code is just if else statements lmao, also pausing every step is a pain)
day 4: done
done this in my freetime the last days, thanks for the tutorial. I feel very confident to use godot now
thanks for the effort and everything but really man you should focus on explaining bits not on giving orders I know that that would make the tutorial more longer but what's the point on following the tutorial when i won't be able to make a game alone after it
This was an amazing tutorial, thankyou so much for making it. Took me almost 8 hours to get it all working right but I learned so much
Really nice Video, thanks so much for making it!
I had zero experience with gdscript whatsoever but while I was watching your tutorial I managed to make the frogs actually jump after you and while in death animation you can use them as a platform to reach higher areas. Thanks so much for the inspiration!
Lol same! That, for me, is what has made me decide to use Godot from here on, because it's not terribly hard to figure out new things to add, and even debug.
came here to refresh myself on godot after not developing for 2 years. godot 4 isn;t too different from 3 though, and this tutorial really helped me understand the changes made! :)
at 59:53 for the direction I had some trouble getting this to work. turns out when you create the parent node2D for mobs and player you should lock those at (0,0) to keep them from moving. Otherwise you might do what I did and accidently move the reference point for one and not the other. Hope that helps
We’re you able to get the frog to drop/react to gravity? For some reason nothing seems to be working with the frog even through my code is written correctly, at least I think it is
@@eliseolara5055 should be same code as player for gravity iirc
thanks pal!
I'm having trouble with direction. The mobs detects the player always to the right with no regards for its position. "With lock those at (0,0)" What did you mean? The position?
@@davidmunoz6897 For the Frog's parent node "Mobs", go to the section "transform" and set its Position value to (0, 0).
Hey all to any aspiring Godot creators also jumping ship from Unity or just never liked Unity at all (like me) here's a cool feature you might want to add:
In the default script, when it checks for jump, include a line that checks if the input action was just released for the same key as jumping, and if they are not on the floor to:
Halve the velocity.y variable by 2 (velocity.y /= 2 will do the trick)
This is called control, and is something that your fans will appreciate. If you set up to a bit of a delay, you can set specific jump height limits with this.
Following that idea, if you create a timer system, you can also incorporate coyote time (or as I call it, Gravity Grace Period) where your character has a couple of frames to react to being mid-air, and with this system you can also add double-jumps so I mean win/win
Finished the tutorial! Great job, very helpful. One thing I was confused on though was the animations, it seems like there are several methods of animation (AnimationSprite2D, AnimationPlayer, AnimationTree) but it was never really explained why use one over the other. Thanks!
in the tutorial he mentions he's going to go other both animationplayer and animationtree, yet he never does.
Yea, that part made me angry! He makes it too confusing. Also he doesn't explain why make those key frames at all when the sprite sheet comes with animated sprites? Is it because he wants to be able to control the animations after with code? The animation part was unnecessarily complex and frustrating.
I am an Python developer /c# software engineer
I appreciate the effort put into this tutorial!. One learns basic things.
However, some fundamental elements are missing to truly classify it as a Crash Course.
Introduction to programming concepts (variables, functions, etc.)
The scripts are not programmed following Best Practices, ultimately making them significantly unreadable, which leads to issues in larger projects.
(Adding functions to handle tasks, for example, in the Player Script - movement actions, etc., to improve readability)
Regarding the presentation, a bit more preparation and a slower pace would have been nice. Similarly, the chaotic mouse handling is taxing.
Despite all of this, it's a nice tutorial from which one can learn.
What other fundamental programming concepts r there if u don’t mind?
@@j0habba best practice isnt fundamental. It's learned over time. This is not something that you need to care about unless you work in a team. Might be something to take a glance at if you're about to build a large/gigantic code base where you don't remember everything and have to read in on the code again every once in a while.
Fundamentals is what you want it to be depending on what you're gonna do with it. Variables and functions is something that you'll always encounter. Control of logical flow is def a fundamental (if, else, switch, or whatever the language you use supports). Different data types like int, strings, floats and the likes. Anything beyond that is dependent on what you want to do.
Dude, it's a crash course on Godot, not programming. I agree though the scripts are a mess and it is unfortunate that it's encouraging newbies to program that way.
Thank you so much for this tutorial it has helped me lots to get back into game development after the whole Unity fiasco!
Just starting out with game development and Unity was really demotivating when that happened so this tutorial ended a long hiatus
This is a comment from a web dev that wants to go into indie game development:
The tutorial is good-ish to start if you have NEVER seen godot, you can extract a lot from it and familiarize with the UI, the tutorial its so simple that makes you think ways of improving the game which is great. There's a lot of info that he doesn't explain at all, the instructor seems familiar with the concepts but not in a way he can explain them when they come up, try to pause as much as possible and don't try to keep up with him live, its not going to work, be aware of all his clicks because there are sections where he would just light speed click away and you will be backtracking a lot because of this, same with formatting code and moving pieces around.
This barely counts as introduction but its great because it makes you excited to go deeper and that's the idea
Yeah he really skimps on the explanations, a lot of hand waving things away, though if you're coming from Unity you can kind of put two and two together for the most part. I do find it kind of wild how nodes are basically castable to the scripts they're attached to and would like some more deep dive into how that works.
31:24 I don't really get why we had to use AnimationPlayer to fix the jump and fall part, it can be done just as well by removing the fall frame from the "Jump" animation in the AnimatedSprite2D, and creating a new "Fall" animation with that fall frame in it.
I mean, I get that AnimationPlayer provides more flexibility, but in the context of this tutorial I don't see the use for it.
Also at 31:50 you mention that you prefer AnimationTree but you'll start with AnimationPlayer and transition to AnimationTree later, but eventually AnimationTree just vanishes into thin air at 37:05. Confusing
real
its because a Crash CURSE not a Course
Yeah it wasn't needed for what he said it was, he ended up fixing it in a different way (with a gajillion conditional if statements hammering away every frame ;)). Anyway that entire way of doing things was just hideously sloppy and unmaintainable, and I ended up refactoring the whole thing to make the Player into a state machine instead because, even if Godot tolerates it, I just do not like the idea of clobbering the Play method 600 times a second telling it to play the same animation it's already playing. It does hammer in an important point about Play, which is that it does not restart animations that are already playing (if it did, his code would not work). It'd be a better video if he explicitly explained that, though. You can kind of follow along and see where he's fudging things if you have prior experience, but for an absolute beginner who is taking his word as gospel, there are some inaccuracies in there.
about 70% in writing this, yet great tutorial so far! only thing i've noticed is i've had to pause and play back small moments a lot to find out if or why you tabbed something, and copy-pasting stuff quickly is a bit hard for an absolute beginner to follow along with without missing a beat. I have you on 0.75 speed and still having trouble following along to you changing things with copy pasting and deleting things. Definitely a great tutorial though because you show a good amount of everything and put enough information and trial-error teaching to help avoid step by step mistakes. I am curious if you have a good fundamentals tutorial for coding that explains how specific operators are used and when and how to use them, stuff like explaining how and when to use += and stuff like that. I've pretty new to coding and want to get better from a fundamental level so things make sense instead of just watching someone do it.
Very good tutorial, you're good at explaining things, and it shows that you have a lot of experience, HOWEVER, there's some minor things that bothered me while following you, at 31 minutes we're adding animation player and animation tree, you did something off screen to animation tree for the yellow error to disappear, I might be autistic, but I could not for the love of god remove that warning my self at that given time, it bothered me so much I deleted animation tree.
As different people already have stated, you're going very fast and some things are happening outside of frame that we do not hear about, take a breather, carefully explain what you are doing off frame or let us know why it is not important yet. You do know your stuff brother, and I thank you for making this tutorial, I am on my way to make a little fun game for my self.
58:00 - With my code being identical, I was getting an output of "Left" regardless of which side I approached the frog. I printed off the player position and frog position and found that the player position was always the same whether I came from the left or the right. I'm getting Godot as a flatpak so maybe there's some issue there.
What I did to fix this was to use 'body' instead of 'player', since we already have that information passed in to the function. No need to instance more information. Then I used body.global_position rather than body.position @thepie's comment here on the video. However, I did not invert the frog's position.
ex:
var direction = (body.global_position - self.position).normalized()
You just saved my life man, I was going nuts over this
Line 17:Identifier "body" not declared in the current scope.
fixed with: var direction = (player.global_position - self.global_position).normalized()
Exactly what I was looking for; I just about gave up and figured that one day I will learn how to make enemies chase the player in two directions, but then I saw your comment. Thanks for this! Worked like a charm
THANK U BRUHHH LIKE AHHHCCKKKK
Started out great, but as the video went on you starrted jumping around with the mouse. Everyone does this when they are proficient at a software, but when you're making a tutorial, remember to slow it down so that people can see where you are clicking.
Thank you so much for this course! I'm switching from Unity and went through this course day one of learning Godot today to try and get a hang of where everything is in this editor, and it has helped me a lot! Definitely going to check out CodingQuests other videos as well.
Excellent course, I'm loving it. Quite fast paced so make sure you know how to rewind in youtube !
I actually had problems with loading the assets into my project, the issue seeming to be the MACOSX files. If anyone also gets a lot of errors: just go into the files and delete those.
For anyone that having problems at 41:40 with the parallax background not duplicating or glitching switch your renderer in the topright screen from mobile to compatibility!
thank you so much - i would have lost my mind looking for solutions on the internet 😄
AAA still doesnt work :(
Thank you sooo much, i was so frustrted cuz of glitching
Beginning on my game dev journey, thanks for the amazing tutorial! :)
Hi everyone who left Unity
Sup
hi
Hey all
Sup
damn really cool tutorial, easy to follow(esp if you have coding background), sometimes have to pause to figure out things, but still very nice!
thanks a lot CodingQuests
I did learn some things, specifically to tilemaps and animations which is pretty cool. However, I feel that the tutorial was rushed (in the way that I barely understand what most of the code does and I felt like copy-pasting what you were doing most of the time) and that some pretty important syntax or engine things were missing. I don't even know how to recover a scene if I closed it by mistake.
To be very honest, I love how fast and snappy you are. Sometimes I look for tutorials on various stuff online and as someone who's really anxious and lives with an eternal sense of urgency, teachers who speak too slowly and break down every single step down to teaching how to open chrome and log in are just not for me. I see how it's great for many people, but I think I have hoodwinked squirrel brain disease. This is great for me, I'll record my progress updating this comment!
Update: I think there might be an issue with the assets? After I uploaded them to the project, I started getting thousands of error messages and it finally corrupted. I'm probably doing something wrong...
Sounds like the download may have been incomplete. Just try deleting those ones and redownloading if you're still facing the issue :)
Agreed. Love the quick pace.
I was waiting for Godot.
Thank you.
I see what you did there, if only the young'ns would pronounce it properly :D
For those with problem with the mirroring, define the y mirroring as 0.001. It is probably a trash solution, but it worked for me
Awesome that my favorite game engine got featured hopefully you'll guys will release 10 hour courses too❤
Loved the material, great stuff. You definitely have a wealth of knowledge. My only feedback is this: Show how to get to the documentation early.
Verbally state where you're looking and what you're clicking on and changing. This way we can follow along while watching and not have to look at the video so much to see what "this" is.
Don't use the internal/embedded scripts for tutorials. When finishing up the previous step and you've moved on to editing a script, it's hard to know which one it is by that randomized name in Godot.
Slowing down a bit and using the above feedback I feel will make you a stronger teacher, if you so desire.
Keep making the videos!
"theres actually a better way to animate so we are going to delete all this"
me- *DEEP BREATH*
used to use unity now im onto godot
I'm here for the same reason, frens 🙏
Bet this video is getting alot more views now.
I'm not even a dev and I'm watching it. I hope Unity burns! 😡
true
If "left" appears on either side(on this part 59:53) change the var direction = (player.position - self.position).normalized() -> var direction = (player.global_position - (self.position)).normalized()
Here after the amazing installation fee announcement from Unity
If anybody is having trouble with camera 2d not working, its because you are doing it in the player tab. Instead go to the world tab, then choose "player" click + add camera 2d and there you go👍🏻
Thanks for a very good tutorial. Nice progression, and I also enjoy the small mistakes left in, so that you see how things work out in real life, and how to figure out what went wrong :)
Thank you, by the way. I'm learning alot and I've only spent a couple hours pausing and working. I already feel like I could animate any sprite and I just got done the movement animations. Thank you.