im getting an error on on the "if not area.get("knockback_amount") == null:" line that he typed at 1:54. saying "Invalid call. Nonexistent function 'get' in base 'Vector2'." anyone have a fix?
@user-nc8yh6in4gКүн бұрын
okay im at a loss here, ive gotten all the code the same as yours, (huge beginner here so forgive me) but im having an issue where the hit/hurt boxes arent detecting anything, i cant seem to find a fix in what some other comments were suggesting. any help is appreciated
@taskmaker2Күн бұрын
You get a car! And you get a car! Everybody gets a car! that part really cracked me up.
@AlainPilon3 күн бұрын
I had an interesting bug: the Tornado never went in diagonals. It was because I was normalizing the mov vector, so instead of being Vector2(1,1), it was Vector2(0.7 , 0.7). This happens if you replaced var x_move = Input.get_action_strength("right") - Input.get_action_strength("left") var y_move = Input.get_action_strength("down") - Input.get_action_strength("up") var mov = Vector2(x_move, y_move) with var mov = Input.get_vector("left", "right", "up", "down")
@gdbagas40283 күн бұрын
hwat
@shadowfang10343 күн бұрын
I really like his model tbh
@error-scan25454 күн бұрын
If no enemys spawn, check if you made the "timeout()" signal to EnemySpawner (that was my mistake lol)
@ry65544 күн бұрын
so if the rectangle falls on the circle, will the circle follow it but the rectangle falls normally? just some esoteric stuff that may or may not help me down the road, I'm just curious
@The5thRYTShorts5 күн бұрын
this spawner crashed my game for some reason. do you know how to fix this issue?
@AlainPilon5 күн бұрын
As a side not, at 19:15, there is a mistake, you can replace the line with "enemy_death.position = position". It also works if you use "enemy_death.global_position = position" but the displayed line "enemy_death.global_position = global_position" does not work, it will spawn the explosion at a random spot.
@SimplyACrapBag5 күн бұрын
my tornado doesn't deal damage to the enemies nor knocks them just passes through, but my ice spear works fine, i don't know what the problem is i'm stuck on it ;-;
@godrunner69795 күн бұрын
did you remember adding Tornado to the group "attack", maybe you accidently added a child node to "attack" instead?
@SimplyACrapBag5 күн бұрын
@@godrunner6979 yikes.. i set the group to the collisionshape2d instead of the area2d lmao, must've accidentally selected it
@SimplyACrapBag5 күн бұрын
@@godrunner6979 yeah it works now thanks for reminding me to check that <3
@AnthonyGarnica-mt3yu7 күн бұрын
Got to admit I got completely lost at this part 😅
@sadpow28948 күн бұрын
my ice spear just wont spawn
@AlainPilon8 күн бұрын
Advise: when you show the HurtBoxTypes, you show the cooldown and disablehitbox, but you dont explain WHY we need these and in which cases we would use one or the other
@sunlessllama696910 күн бұрын
I'm honestly confused, everything works as normal, until I make the exp gem give 20 or more exp. once i do that it seems that the optionsmax doesn't work and the options go until the bottom of the screen. it seems like its trying to calculate all the levels at once instead of dividing it between the level up screens. idk if it has something to do with the vbox container or my item_options node but i'm stumped 😅all my code seems to be the same as yours unless I accidentally overlooked something, i genuinely don't know what's going wrong. Any help would be appreciated! Thank you 🙏
@KurtBuhler11 күн бұрын
I followed your entire tutorial series and used it as a jumping off point to find and apply knowledge from other sources about core godot concepts and architecture. It served as a nice backbone for me to contextualize disparate knowledge across the platform, and it was interesting to find ways to improve the design, architecture, and scalability of the tutorial game. You made it available for free, but I'm going to pay for it because to me it felt like a course. You invested a lot of time in making it, and I appreciate it. Thanks!
@BrannoDev9 күн бұрын
The donation is incredibly generous. This tutorial was my attempt to teach gamedev in the way that I wish i had been taught. It's great to know that many people feel the same way about practical then theoretical learning. I seriously hope this catches on and becomes standard. I hope this series gets you out of tutorial hell so you can enjoy the feeling of seeing your unique ideas implemented in a real game. The series took me 2.5 months to make but it was worth it just to give back to the Godot community. Best of luck to you.
@connorlawless23511 күн бұрын
I can only level one time, and then collect 1 gem; after that, the exp bar won't update putting in a debug print shows that it's basically not running the calculations a third time
@connorlawless23511 күн бұрын
commenting out "collected_experience = 0" in the Else section seems to resolve the issue But I'm worried about issues down the line
@Old_Capy_Games11 күн бұрын
My javelin is moving, making sound and changing animation, but is not hitting the enemies. I looked my code sometimes and didnt find what is not working. Maybe some problem with collision shape? Tried change the layers. Maybe the attack group? I didnt knoww :)
@juantru88Күн бұрын
Make sure you have correctly added the attack group, I wrote it but I didn't click add and that's why it didn't hit them
@Huedini7412 күн бұрын
Ok this was a really fun episode!
@stabbedbyapanda12 күн бұрын
lmao i love the art style but i think the ui needs some love
@pescator13 күн бұрын
13:10 Shouldn't bottom_right have a "+" sign at the "y" value ?
@pescator13 күн бұрын
nevermind, he fixes it later :D
@gusmangamer13 күн бұрын
platform gun looks awesome
@jokerkhrono13 күн бұрын
"The kobold is chasing us and if we stop, it's going to go inside us" is he atleast gonna buy me dinner first
@morganp723814 күн бұрын
great stuff
@chef_ekan15 күн бұрын
I have a problem in Hurt_box line 12 if not area.get("damage") = null: Godot tells me res://untility/Hurt_Box.gd:12 - Parse Error: Assignment is not allowed inside an expression. Assignment is not allowed inside an expression what is that ? my code is exakly like Brannos.... i dont get it
@Jeffroiscool10 күн бұрын
He's using a diff font, there's actually 2 equal signs (==) So: if not area.get("damage") == null:
@chef_ekan5 күн бұрын
@@Jeffroiscool thank you!
@greedybliss15 күн бұрын
For any one just seeing this, the code he does at 1:50 to reference the sprite2d, you can just drag the sprite2d node and drop it directly while holding control key onto the code and get the same result
@TnTBIKETEAM15 күн бұрын
im getting an error on on the "if not area.get("knockback_amount") == null:" line that he typed at 1:54. saying "Invalid call. Nonexistent function 'get' in base 'Vector2'."
@user-nc8yh6in4g13 сағат бұрын
same here, did you fix it?
@joseurbanos.domingo634415 күн бұрын
thank you, now i am less of an idiot.
@BunnyRabbit.16 күн бұрын
I went to chatgpt to know better because everything here went over my head. After 10 minutes, I came back here and realized how simply you explained in less than a minute and everything made sense to me. 😅
@LE0NSKA16 күн бұрын
feels like you could replace the word "game dev" with pretty much anything and the lessons still apply.
@pomelo_xd16 күн бұрын
Help my spears only goes on the same direction forever after 10 seconds of gameplay
@LydonForgeGames17 күн бұрын
Thanks so much for this awesome tutorial series, my man! All that recording and editing must've taken forever, but you're making the next generation of game devs possible!
@OsiRixxx17 күн бұрын
Thank you for the videos, just a quick feedback for next series, the keyboard writing volume is very loud!
@godsavitar850417 күн бұрын
Great tutorial! Thank you :D
@Alexandre-wy3jf17 күн бұрын
Where cruelty squad?
@theTeslaFalcon18 күн бұрын
What kinds of peanut butter pair well w game jam?
@theTeslaFalcon18 күн бұрын
I don't WANT to be a solo indie gamedev, but I don't know anyone who wants to share the journey w me.
@tristangillis736519 күн бұрын
Any chance we're gonna get controller support at launch? I'm that one annoying gamer on PC who plays using a controller.
@BrannoDev18 күн бұрын
I'm still thinking about how I would do it. If there's an MMO where you can play as a healer that has good controller support let me know.
@tristangillis736513 күн бұрын
@@BrannoDev What you could do is map the abilities to A, B, X and Y, and then have the triggers for different options (So left trigger + X, right trigger + X would be two different abilities).
@BrannoDev13 күн бұрын
@@tristangillis7365 So the abilities sound easy enough. What about targeting different party members or enemies?
@tristangillis736510 күн бұрын
@@BrannoDev Maybe a Raycast from the camera straight forward?
@erikbergvall52949 күн бұрын
@@BrannoDev Hello Branno, World of Warcraft has an addon that allows controller support, its popular for people who play WoW on Steam deck/Rog ally. Maybe you could check that out. Thanks for everything you do!
@user-ol3wd4rc9m19 күн бұрын
wow the priest model looks sick!
@Old_Capy_Games19 күн бұрын
Theory time is becoming a essential part in making tutorials, helps a lot
@KingRhoades20 күн бұрын
Racking my brain on why my HP wont print in the output. I've redone this part 3 times and I can't seem to figure out why it wont print lol
@TheSutterKain12 күн бұрын
Had the same issue until I realized it was me and not the program. On the bottom of the screen, make sure you have Debugger selected, and then on the right of that its the white square with the ! in it you want selected. As soon as I did that I was able to see the output. Could be something else, but worth a shot.
@ThaAftrPartie20 күн бұрын
If you find this comment, Be thankful. You will notice problems when it comes to some things starting at part 4. i have a repo(link to my github on my profile or found otherwise) with parts 4-7(so far) made with no issues, and have notes added inside the script. hope that helps.
@ThaAftrPartie21 күн бұрын
For anyone wanting a fixed version of part 4 with notes: If you check the issues page on the repository of the base project that mentions Hitbox/Hurtbox I’ve added a link for my repo that starts with the end of part 4. (I tried to link the repo myself in a comment but KZread auto moderated it) So if you wanted to have a basis to go off of and use it to not deal with issues of downloading the complete project and deleting code to match where you are on the tutorial. You can download starting with everything in part 4 and continue, or use any of the other parts I will be uploading.
@ThaAftrPartie20 күн бұрын
parts 4-7 are up
@melaniemendoza289421 күн бұрын
Hi! For anyone experiencing the issue where the enemy only deals damage once when colliding with the player, please ensure that the CollisionShape2D of the enemy (not the one from the Hurtbox or Hitbox) is smaller than the Hitbox CollisionShape2D. This way, they can properly touch each other.
@Sharppish22 күн бұрын
Thanks for this tutorial, does anyone know if y sorting gets covered in this? Have tried to figure it out myself but I can't get it to work. Thanks.
@MonkeyVoices22 күн бұрын
This one was the first one that had me thinking a lot, will have to rest a little bit before going to the next one. Thanks for the video series!
@michal089023 күн бұрын
What's the purpose of multiplying last_movement vector by 500 (or any other value) since the magnitude of this vector has no effect on the angle? And it is the angle that matters to calculate the tornado's position in _physics_process.
@blinkingbit23 күн бұрын
I found a couple of videos about this topic before, and even it being fact after fact... A part of me didn't want to believe it until experience it on first hand. Talking to an empty room is demoralizing but having a bunch of devlogs as you said it's worth the effort. The fun thing about gamedev channels is that to be successful you have to find a way to talk about games without talking too much about games xD
@slaetrahl458023 күн бұрын
Finished the game! Thanks for the videos they were awesome! Now time to mess with the settings and add more things!!!! ALLL THE THINGS!!! ;)
Пікірлер
im getting an error on on the "if not area.get("knockback_amount") == null:" line that he typed at 1:54. saying "Invalid call. Nonexistent function 'get' in base 'Vector2'." anyone have a fix?
okay im at a loss here, ive gotten all the code the same as yours, (huge beginner here so forgive me) but im having an issue where the hit/hurt boxes arent detecting anything, i cant seem to find a fix in what some other comments were suggesting. any help is appreciated
You get a car! And you get a car! Everybody gets a car! that part really cracked me up.
I had an interesting bug: the Tornado never went in diagonals. It was because I was normalizing the mov vector, so instead of being Vector2(1,1), it was Vector2(0.7 , 0.7). This happens if you replaced var x_move = Input.get_action_strength("right") - Input.get_action_strength("left") var y_move = Input.get_action_strength("down") - Input.get_action_strength("up") var mov = Vector2(x_move, y_move) with var mov = Input.get_vector("left", "right", "up", "down")
hwat
I really like his model tbh
If no enemys spawn, check if you made the "timeout()" signal to EnemySpawner (that was my mistake lol)
so if the rectangle falls on the circle, will the circle follow it but the rectangle falls normally? just some esoteric stuff that may or may not help me down the road, I'm just curious
this spawner crashed my game for some reason. do you know how to fix this issue?
As a side not, at 19:15, there is a mistake, you can replace the line with "enemy_death.position = position". It also works if you use "enemy_death.global_position = position" but the displayed line "enemy_death.global_position = global_position" does not work, it will spawn the explosion at a random spot.
my tornado doesn't deal damage to the enemies nor knocks them just passes through, but my ice spear works fine, i don't know what the problem is i'm stuck on it ;-;
did you remember adding Tornado to the group "attack", maybe you accidently added a child node to "attack" instead?
@@godrunner6979 yikes.. i set the group to the collisionshape2d instead of the area2d lmao, must've accidentally selected it
@@godrunner6979 yeah it works now thanks for reminding me to check that <3
Got to admit I got completely lost at this part 😅
my ice spear just wont spawn
Advise: when you show the HurtBoxTypes, you show the cooldown and disablehitbox, but you dont explain WHY we need these and in which cases we would use one or the other
I'm honestly confused, everything works as normal, until I make the exp gem give 20 or more exp. once i do that it seems that the optionsmax doesn't work and the options go until the bottom of the screen. it seems like its trying to calculate all the levels at once instead of dividing it between the level up screens. idk if it has something to do with the vbox container or my item_options node but i'm stumped 😅all my code seems to be the same as yours unless I accidentally overlooked something, i genuinely don't know what's going wrong. Any help would be appreciated! Thank you 🙏
I followed your entire tutorial series and used it as a jumping off point to find and apply knowledge from other sources about core godot concepts and architecture. It served as a nice backbone for me to contextualize disparate knowledge across the platform, and it was interesting to find ways to improve the design, architecture, and scalability of the tutorial game. You made it available for free, but I'm going to pay for it because to me it felt like a course. You invested a lot of time in making it, and I appreciate it. Thanks!
The donation is incredibly generous. This tutorial was my attempt to teach gamedev in the way that I wish i had been taught. It's great to know that many people feel the same way about practical then theoretical learning. I seriously hope this catches on and becomes standard. I hope this series gets you out of tutorial hell so you can enjoy the feeling of seeing your unique ideas implemented in a real game. The series took me 2.5 months to make but it was worth it just to give back to the Godot community. Best of luck to you.
I can only level one time, and then collect 1 gem; after that, the exp bar won't update putting in a debug print shows that it's basically not running the calculations a third time
commenting out "collected_experience = 0" in the Else section seems to resolve the issue But I'm worried about issues down the line
My javelin is moving, making sound and changing animation, but is not hitting the enemies. I looked my code sometimes and didnt find what is not working. Maybe some problem with collision shape? Tried change the layers. Maybe the attack group? I didnt knoww :)
Make sure you have correctly added the attack group, I wrote it but I didn't click add and that's why it didn't hit them
Ok this was a really fun episode!
lmao i love the art style but i think the ui needs some love
13:10 Shouldn't bottom_right have a "+" sign at the "y" value ?
nevermind, he fixes it later :D
platform gun looks awesome
"The kobold is chasing us and if we stop, it's going to go inside us" is he atleast gonna buy me dinner first
great stuff
I have a problem in Hurt_box line 12 if not area.get("damage") = null: Godot tells me res://untility/Hurt_Box.gd:12 - Parse Error: Assignment is not allowed inside an expression. Assignment is not allowed inside an expression what is that ? my code is exakly like Brannos.... i dont get it
He's using a diff font, there's actually 2 equal signs (==) So: if not area.get("damage") == null:
@@Jeffroiscool thank you!
For any one just seeing this, the code he does at 1:50 to reference the sprite2d, you can just drag the sprite2d node and drop it directly while holding control key onto the code and get the same result
im getting an error on on the "if not area.get("knockback_amount") == null:" line that he typed at 1:54. saying "Invalid call. Nonexistent function 'get' in base 'Vector2'."
same here, did you fix it?
thank you, now i am less of an idiot.
I went to chatgpt to know better because everything here went over my head. After 10 minutes, I came back here and realized how simply you explained in less than a minute and everything made sense to me. 😅
feels like you could replace the word "game dev" with pretty much anything and the lessons still apply.
Help my spears only goes on the same direction forever after 10 seconds of gameplay
Thanks so much for this awesome tutorial series, my man! All that recording and editing must've taken forever, but you're making the next generation of game devs possible!
Thank you for the videos, just a quick feedback for next series, the keyboard writing volume is very loud!
Great tutorial! Thank you :D
Where cruelty squad?
What kinds of peanut butter pair well w game jam?
I don't WANT to be a solo indie gamedev, but I don't know anyone who wants to share the journey w me.
Any chance we're gonna get controller support at launch? I'm that one annoying gamer on PC who plays using a controller.
I'm still thinking about how I would do it. If there's an MMO where you can play as a healer that has good controller support let me know.
@@BrannoDev What you could do is map the abilities to A, B, X and Y, and then have the triggers for different options (So left trigger + X, right trigger + X would be two different abilities).
@@tristangillis7365 So the abilities sound easy enough. What about targeting different party members or enemies?
@@BrannoDev Maybe a Raycast from the camera straight forward?
@@BrannoDev Hello Branno, World of Warcraft has an addon that allows controller support, its popular for people who play WoW on Steam deck/Rog ally. Maybe you could check that out. Thanks for everything you do!
wow the priest model looks sick!
Theory time is becoming a essential part in making tutorials, helps a lot
Racking my brain on why my HP wont print in the output. I've redone this part 3 times and I can't seem to figure out why it wont print lol
Had the same issue until I realized it was me and not the program. On the bottom of the screen, make sure you have Debugger selected, and then on the right of that its the white square with the ! in it you want selected. As soon as I did that I was able to see the output. Could be something else, but worth a shot.
If you find this comment, Be thankful. You will notice problems when it comes to some things starting at part 4. i have a repo(link to my github on my profile or found otherwise) with parts 4-7(so far) made with no issues, and have notes added inside the script. hope that helps.
For anyone wanting a fixed version of part 4 with notes: If you check the issues page on the repository of the base project that mentions Hitbox/Hurtbox I’ve added a link for my repo that starts with the end of part 4. (I tried to link the repo myself in a comment but KZread auto moderated it) So if you wanted to have a basis to go off of and use it to not deal with issues of downloading the complete project and deleting code to match where you are on the tutorial. You can download starting with everything in part 4 and continue, or use any of the other parts I will be uploading.
parts 4-7 are up
Hi! For anyone experiencing the issue where the enemy only deals damage once when colliding with the player, please ensure that the CollisionShape2D of the enemy (not the one from the Hurtbox or Hitbox) is smaller than the Hitbox CollisionShape2D. This way, they can properly touch each other.
Thanks for this tutorial, does anyone know if y sorting gets covered in this? Have tried to figure it out myself but I can't get it to work. Thanks.
This one was the first one that had me thinking a lot, will have to rest a little bit before going to the next one. Thanks for the video series!
What's the purpose of multiplying last_movement vector by 500 (or any other value) since the magnitude of this vector has no effect on the angle? And it is the angle that matters to calculate the tornado's position in _physics_process.
I found a couple of videos about this topic before, and even it being fact after fact... A part of me didn't want to believe it until experience it on first hand. Talking to an empty room is demoralizing but having a bunch of devlogs as you said it's worth the effort. The fun thing about gamedev channels is that to be successful you have to find a way to talk about games without talking too much about games xD
Finished the game! Thanks for the videos they were awesome! Now time to mess with the settings and add more things!!!! ALLL THE THINGS!!! ;)