How to Create a NPC with Dialogue System in Godot 4

Поділитися
Вставка
  • Опубліковано 1 сер 2024
  • This video is a step by step process to creating a free roaming npc along with dialogue for that npc in Godot 4. Having NPC’s and dialogue are so important to having creativity, personality and having a storyline to any game. In this video I go over everything you need to know about basic npc’s and a basic dialogue system that you can implement into your game very quickly.
    link to itch io page: devworm.itch.io/survival-game...
    link to different dialogue system: • How to Create a DIALOG...
    Chapters:
    0:00 Intro
    0:19 NPC in Godot 4
    15:03 Dialogue System in Godot 4
    30:41 Testing / Fixing Code
    33:28 Outro
    Thank you so much for watching!! It means the world!! If you could subscribe and drop a like so UA-cam can help push this tutorial to other aspiring game developers then it would mean the world to me!! But until next time, stay safe and have a wonderful rest of your day!

КОМЕНТАРІ • 135

  • @luckyknot
    @luckyknot 7 місяців тому +11

    This is great! Your thought to code process offers great insights and I really appreciate that you do not cut when something doesn't work and how you solve it out. Thanks for the series!

  • @GaryParkin
    @GaryParkin 7 місяців тому +3

    Thank you, thank you, thank you. Long time developer, semi new to Godot. This series was really great. And thanks for not hiding your errors. It was invaluable to see you debug in Godot. I can handle the coding fine, it's all the connections and the nodes that mess with my head. Please do more.

  • @sweetpeach1138
    @sweetpeach1138 3 місяці тому +6

    Hi! I continue to follow your guide, everyone is also developing on the 4.2 version of the engine. I faced the breakdown of the fact that if you add two NPCs to a location, then their dialog boxes load simultaneously, even if they are in different rooms of the location and there was also no opportunity to repeat the dialogue with someone from the NPC. After digging a little into the script code, I realized that it was worth adding flags to the main script and in the scripts for my NPCs, where I added a check by the name of the NPC with whom the player interacts!
    P.S: Thank you for your efforts for beginners working with Godot for the first time

    • @tomoyaokazaki2138
      @tomoyaokazaki2138 2 місяці тому +1

      how do you add the flags you mentioned? I plan to add multiple npc's in one scene, using Godot 4.2 as well. Since you mentioned that issue, I most likely will encounter the same thing, but will have no idea how to fix it.

    • @scoringfish1588
      @scoringfish1588 2 місяці тому +1

      You have to add in the Input.is_action_just_pressed function
      If player_in_chat_zone == true and then put all of the stuff in that function in the if statement

    • @tomoyaokazaki2138
      @tomoyaokazaki2138 2 місяці тому

      @@scoringfish1588 thanks, I’ll give that a try!

  • @stealurwife2489
    @stealurwife2489 7 місяців тому +13

    you should not move character bodies with position, instead use velocity, moving with position will make the character snap when moving towards an object while velocity will actually care about physics

    • @y_4665
      @y_4665 7 місяців тому

      How do you move with velocity? Sorry I’m new

    • @stealurwife2489
      @stealurwife2489 7 місяців тому

      @@y_4665 you can search for move_and_slide() in the godot documentation for better undertanding, it is simple and easy to use

    • @dieseldan2562
      @dieseldan2562 5 місяців тому +4

      ​@y_4665 Generally you use move_and_slide(). This will move the body, check for collisions, and adjust the velocity accordingly.

    • @y_4665
      @y_4665 5 місяців тому +1

      @@dieseldan2562Alr thx

    • @milkiaint
      @milkiaint 29 днів тому

      ⁠@@y_4665
      I was having trouble with the collision barriers in my world where the npc would just phase through them and leave the world but only interact with my player’s collision.
      I changed it to this and it fixed it. I’m a total coding noob but I’ve followed some movement tutorials which use velocity and somewhat have the hang of it now so wasn’t too tricky to figure out, if there’s a better way someone please lmk but this is what I came up with and it works how I want it to.
      func move(delta):
      if !is_chatting:
      velocity += direction * speed * delta
      move_and_slide()
      Instead of
      func move(delta):
      if !is_chatting:
      position += direction * speed * delta
      Thought I’d post here for anyone having the same issue or wants to change it but didn’t know how.

  • @vanplanman
    @vanplanman 7 місяців тому +7

    Loving your series! I'm working my way through them slowly and learning godot as I go whilst travelling around Europe in our campervan. It really is making the rainy days survivable haha. Thanks 👍👍

  • @origenydestino13
    @origenydestino13 3 місяці тому +1

    Many things here were very useful, starting from the movement randomizer, actually, which works very well on many things I am using. So thanks a lot for your time and for showing us! Sometimes we just need a bit of insight into how certain actions work in coding to get to understand them better, and that's just what can be seen here. Have a great day!

    • @dev-worm
      @dev-worm  3 місяці тому +1

      you have an amazing day!! thanks!! glad it was helpful!! and if you ever need anything then please let me know!

  • @JLLockwood
    @JLLockwood 4 місяці тому +5

    My character is just stuck in an idle animation - I did pretty much exactly what you did here I'm at a loss.

    • @hkjd21
      @hkjd21 2 місяці тому

      I had the same issue. Try going to Timer and turn ON Autostart.

  • @CodeVP1
    @CodeVP1 4 місяці тому

    this series are great, thank you.

  • @HippocritterXD
    @HippocritterXD 7 місяців тому +1

    Omg yes, this tutorial is getting everything I need.

    • @dev-worm
      @dev-worm  7 місяців тому +1

      so happy to hear that!

  • @nannkacam9123
    @nannkacam9123 7 місяців тому +1

    thank you very much! despite the fact that I hardly know English, but I did it! You are the best!

    • @dev-worm
      @dev-worm  7 місяців тому

      of course anytime! thank you, if you ever need anything then please let me know!

  • @TheIronicRaven
    @TheIronicRaven 7 місяців тому +1

    This was so helpful!!! Thank you so much!!!
    Now I just need to add branching choices to my dialogue and it'll be perfect! Any chance you will be adding that functionality soon?

  • @Zahardnik3
    @Zahardnik3 4 місяці тому

    Another one done. Thanks!

    • @dev-worm
      @dev-worm  4 місяці тому

      thank you so much!! Goodwork Zahardnik! Looking forward to see where your game development journey goes!

  • @tvstuffy
    @tvstuffy 5 місяців тому +8

    Doesn't the stuff in the process function mean you will be able to chat with the npc even when you're far away? Seems like the on body entered/exited became meaningless after you added the dialogue.start, since dialogue will start regardless of anything, when you press the input key, or maybe I'm just misunderstanding something?:
    func _process(delta):

    if Input.is_action_just_pressed("chat"):
    print("Talking with worker")
    $Dialogue.start()

    • @endersiknes
      @endersiknes 3 місяці тому +1

      same here i can go far away and still active dont know how to fix. PLS someone can help

    • @lucasyoutubeplay921
      @lucasyoutubeplay921 28 днів тому

      you have to write:
      if player_in_chat_zone:
      if Input.is_action_just_pressed("chat"):
      print("chattting with npc")
      $Dialogue.start()
      is_roaming = false
      is_chatting = true
      $AnimatedSprite2D.play("idle")

  • @MakerrekaM
    @MakerrekaM 2 місяці тому +2

    getting the error 'Invalid access of index '1' on a base object of type: 'Array'. Even just setting the 'current_dialogue_id' to 0 just replaces the 1 in the error to 0. Any help?

  • @MrBoko1234
    @MrBoko1234 7 місяців тому +8

    Hello, you mentioned in the video that you were going to show how to limit the movements of the NPC to a certain radius, but maybe i missed it or it wasn't shown ? Can you give a tip on how to do that if possible ? Thank u !

    • @tomoyaokazaki2138
      @tomoyaokazaki2138 2 місяці тому

      he never showed that in this video on how to limit it.

  • @inyoke1241
    @inyoke1241 7 місяців тому +1

    I check it using too the Dialogue Manager from Nathan Hoad. No issues using both. thanks again for this wonderful tutorials!.

    • @dev-worm
      @dev-worm  7 місяців тому

      of course anytime!! thanks for letting me know! and thanks for watching!

  • @drpainnuk3d
    @drpainnuk3d 7 місяців тому +1

    With this implementation, the NPC appears to be able to move over colliding stuff, even when it has a collision shape. How can you prevent that?

  • @galacticgon925
    @galacticgon925 7 місяців тому

    Thanks for the tutorial! This is very helpful.
    I was debating between doing json and doing Custom Resources for dialog (and all the other data in the game).
    I was watching "RPG Inventory System From Scratch" and he was doing custom resources for inventory stuff.
    And I thought hmm wow that could be good for all the data/information in the game maybe just about.
    As then you could edit all the text/information directly in the inspector.
    (and just use the multi line string inputs on the inspector) (that should be @export_multiline I think in Godot 4.2)
    But dont know, haven't tried to implement any of it yet.

  • @DoubO_
    @DoubO_ 6 місяців тому +2

    26:46 Line 18 is an error for me, it says that 'attempt to call function 'get_as_text' in base 'nulll instance' on a null instance. This error crashes my game

  • @abdullahalomari25
    @abdullahalomari25 7 місяців тому +2

    hey man could you do a tutorial on rigid bodies and how to push and pull them i have struggeling with it for some time
    thanks

  • @kaizendraws9103
    @kaizendraws9103 7 місяців тому

    Really HELPFUL.!!!

    • @dev-worm
      @dev-worm  7 місяців тому +1

      so happy to hear that!

    • @kaizendraws9103
      @kaizendraws9103 7 місяців тому

      ​@@dev-wormOut of all the Godot UA-cam tutorials out there , I really find yours to be the most helpful, the code is much more simple understandable without compromising the Functionality and your Game development Series just❤‍🔥❤‍🔥❤‍🔥, You provide solo learners and dev..like me and people in the community.. With some much value, Thank you so much

  • @meezi2987
    @meezi2987 7 місяців тому

    great viedo

  • @PunCala
    @PunCala 7 місяців тому +2

    Thank you, these are invaluable. As usual, topic suggestions: terrain heightmaps and how to use them, cutscenes where player and/or npcs move and talk.

  • @matheusdeoliveira3319
    @matheusdeoliveira3319 6 місяців тому

    Thank you!

  • @Exodeon
    @Exodeon Місяць тому +1

    The NPC does not collide, you can call move_and_collide(delta) instead of setting his position
    Also if you have lots of dialogues there will be all permanently loaded, maybe it is better to instantiate the dialogue when pressing the key, instead of keeping it loaded and setting it to visible ?

  • @tomoyaokazaki2138
    @tomoyaokazaki2138 2 місяці тому

    This worked without fail. Unfortunately, I'm having trouble figuring out how to edit the margins in between each line of text inside the "text" node. Also, I tried giving the npc collisions and YSorting, but the npc is walking through trees without being stopped by any existing collisions.
    Do you know how I can fix this?
    EDIT: I fixed the collisions, but the YSort for the npc is still not working properly. YSorting is never willing to meet me halfway. It’s either going to make the player and npc be behind and under the ysort object or in front of it and looking like it’s on top of it.
    Also, I still haven’t figured out how to fix the margin gap being so large in between lines of text.

  • @lucasyoutubeplay921
    @lucasyoutubeplay921 28 днів тому

    I have a problem, when the npc collides with the world, doesn´t collide, how do I solve it?

  • @IronModeOfficial
    @IronModeOfficial 7 місяців тому +2

    you should do some quests as well, maybe some repeatable like gather trees for the worker. also having some boss fights like other mentions in the comments

    • @dev-worm
      @dev-worm  7 місяців тому +1

      quest are a really good idea... ill start looking into it, thank you so much

  • @stealurwife2489
    @stealurwife2489 7 місяців тому +1

    Great! I hope you intend to finish the playlist!

    • @dev-worm
      @dev-worm  7 місяців тому +3

      working on it!! what else do you think i should add to help benefit it?

    • @stealurwife2489
      @stealurwife2489 7 місяців тому +1

      ​@@dev-worm maybe add like dungeon quests where you go and cleanse an area for loot, I think this is better than having a boss fight cuz this is supposed to be a survival game not aracde :D, i guess you could use some bosses in these dungeons to make it harder and for better loot,
      also you can connect these dungeons with quests instead of just gathering things as a quest
      Anyway, Good luck with anything you will do! and don't forget to have fun while doing it!

  • @user-xu4kx6po3r
    @user-xu4kx6po3r 13 днів тому

    i'm already continue watching this amazing tutorials from eps. 1 until 8 but now i don't understand how can i make a 'Notepad' on my macOS ventura, i tried so many ways in order to make a 'Notepad' like you did on eps. 9, the results is nothing...please help me

  • @kongiQQ
    @kongiQQ 7 місяців тому +2

    maybe you can do a tutorial how to make a hunger system

  • @martinithechobit
    @martinithechobit 7 місяців тому

    As a kid I got this for granted thanks yoo.

  • @Solace243
    @Solace243 2 місяці тому +1

    I do wish youd post the final code for the lesson to help with troubleshooting,
    im always having to rewatch the video over and over to find where ive made a mistake.

    • @dev-worm
      @dev-worm  2 місяці тому

      I apologize! I've started to try and upload most of the projects to itch.io! I really do apologize though as I know how annoying it can be!

  • @ashasonshine7050
    @ashasonshine7050 7 місяців тому +5

    I loved the video, but mine seems to not move at all when I start up the level. if I change IDLE to MOVE in the forth line at the top, then it will move but only to the right. What am I doing wrong?

    • @Flatworlder
      @Flatworlder 6 місяців тому +2

      I'm having the same issue, It appears that all my code is correct, maybe its a 4.2 thing?

    • @JLLockwood
      @JLLockwood 4 місяці тому

      SAME error@@Flatworlder

    • @JoeTaucher
      @JoeTaucher Місяць тому +2

      Check for correct indentation of all your code, that was my problem.

    • @Hugo-jk7xe
      @Hugo-jk7xe Місяць тому

      Excuse me, have you found a solution to this problem?

    • @hayashi3674
      @hayashi3674 22 дні тому +1

      @@Flatworlder I did this to fix
      add "@onready var timer: Timer = $Timer" and go to the timer settings and click 'Autostart'

  • @antscologne2962
    @antscologne2962 7 місяців тому +3

    Finally creating the NPC. One thing that I found out immediately: random walk works, but the NPC doesn't care about collision borders. Thus he walks over trees e.g. I'm having polygon-colliders everywhere and don't want him to ignore them. Same is true for the slime. In my world both of them are not colliding, while the player cannot passthrough them. Any suggestions what I might have missed.
    Take care and don't give up the good work you're doing. Finally enums and a match-function: both made me feel that you listen to your community.

    • @GaryParkin
      @GaryParkin 7 місяців тому +5

      This boggled my mind too but then after reading, you need that move and slide to be the way the characters move, not just position.
      Replace:
      position += dir * speed * delta
      in the move function with:
      velocity = dir * speed
      move_and_slide()
      And the characters respect the bounds. 😃Oh and delta is auto included when move_and_slide.
      Also regarding the enums:
      enums are no good unless you use the enum names, ex: if current_state == IDLE or current_state == NEW_DIR:
      I love his videos. They make me think.😅

    • @GaryParkin
      @GaryParkin 7 місяців тому +2

      And I want to make absolutely clear that any comments I make in no way undermine anything that DevWorm is teaching. I love this guy's channel. He's teaching a simple approach, for maybe new coders, and I've been coding for (not Godot) for 35+ years. If my career has taught me anything, it's that every developer approaches a task differently. 🙂

    • @antscologne2962
      @antscologne2962 7 місяців тому

      @@GaryParkin You're absolutely right. I'm new to Godot and already learned a lot from Devworm's tutorials.
      Move_and_slide() helped me to fix my slime and NPC, so thanks for the hint. I've seen it before, but didn't really understand what it was good for.

    • @GaryParkin
      @GaryParkin 7 місяців тому +1

      @@antscologne2962 I rarely read much of the docs because like Microsoft's, if you don't know what you're looking for, you don't know what questions to ask. 🤣 move_and_slide is discussed a lot.

    • @xorret1
      @xorret1 6 місяців тому +1

      @@GaryParkin thank you so much for the solution. my newb brain wasn't connecting the lack of move_and_slide anywhere in the code. And I agree, I think DevWorm is doing amazing work with this channel, teaching things that people really want to learn

  • @slice_of_void
    @slice_of_void 3 місяці тому +1

    hey! um my code is exactly like yours but mine has an error, every time the dialogn ends the game crashes adn it sais "invalid get index 11 on base array" halp

    • @MakerrekaM
      @MakerrekaM 2 місяці тому

      I had a similar issue to you. Mine stemmed from the fact that the load_dialogue() function was never being called thus the dialogue array was never being filled. Traced it back to the start() function as that was also not being called from my player character input.

  • @candace219
    @candace219 Місяць тому

    This is a great tutorial, it really helped me get going! I also really appreciate how you explain why you choose to do something. One question, I've noticed that even if I'm not in the chat area, the dialogue box will still trigger. I also noticed (although maybe I missed it) that we never actually used the function "chat detection area entered/exited" and I'm confused on how I would use it anyway (what would go in the body? the player, or the dialogue collision shape, or something else?

    • @dannehjoe
      @dannehjoe Місяць тому

      Just add this if statement (if player_in_chat_zone:) above the input action that starts the chat.
      if player_in_chat_zone:
      #start a conversation with the npc
      if Input.is_action_just_pressed("chat"):

    • @candace219
      @candace219 Місяць тому

      @@dannehjoe I've already done that. The problem is that "player_in_chat_zone" can never be set to false, which is what the "chat detection area entered/exited" function is for. But we never use that function, so even if the player is not in the area, the chat will still trigger.

  • @simonw.1223
    @simonw.1223 7 місяців тому +1

    Whats an enum?

  • @fabriciobraccini7180
    @fabriciobraccini7180 6 місяців тому

    I imagine I need to make a .json file for every dialogue interaction, but do I need to make a Dialogue .gd file for every one of them? I ask since in your code the dialogue player node script is associated with a unique .json file

    • @dev-worm
      @dev-worm  6 місяців тому

      no you could make the Dialogue.gd modular

  • @mutantramen
    @mutantramen 7 місяців тому

    Great tutorial! I'm using the dialogue manager from Nathan Hoad you used in an earlier tutorial for dialogues but I want to be able to customize the speech bubble like you did in this video (instead of having the black bar on the bottom). Any tips?

    • @dev-worm
      @dev-worm  7 місяців тому +1

      at the moment I'm not sure how the Nathan Hoad plugin works because its been so long, im very sorry ill try and download the plugin and see if I can figure anything out, if i can then ill get back to you!! I'm really sorry

    • @mutantramen
      @mutantramen 7 місяців тому

      it's all good! thank you for looking into it!! :)@@dev-worm

  • @jamsd20
    @jamsd20 6 місяців тому +2

    With the random move vector, i only have left and right as my game is a platormer, when delcaring the var dir = Vector2.RIGHT the character only moves right, when i change it to LEFT it only moves left, is there a fix ?

    • @Hugo-jk7xe
      @Hugo-jk7xe Місяць тому

      Excuse me, have you found a solution to this problem?

    • @jamsd20
      @jamsd20 Місяць тому +1

      @@Hugo-jk7xe unfortunately not I gave up in the end, sorry to disappoint

    • @Hugo-jk7xe
      @Hugo-jk7xe Місяць тому

      @@jamsd20 I found a solution to this problem, in (var dir = Vector2.RIGHT) you don't need to write "RIGHT", instead write (var dir: Vector2)

  • @a_asaee
    @a_asaee 16 днів тому

    hi devworm How do i make thenpc stop when colliding with a wall or edge of the map it's look like collision shape didn't work for npc please help me
    i added in npc blow of animatesprite 2d as same as you did

    • @a_asaee
      @a_asaee 14 днів тому

      please hepl me

  • @Gamesablaze
    @Gamesablaze 3 місяці тому

    What setup should I use if I want to use this script for multiple Characters? I want to be careful because when I change the script for the Dialogue node, it affects all the Dialogue nodes I instanced in other scenes.

    • @dev-worm
      @dev-worm  3 місяці тому

      check out the most recent dialogue video on my channel it is so much better than this.. it makes use of dialogic, and I think you'll enjoy working with that way more.. this way here is a little old.

    • @Gamesablaze
      @Gamesablaze 3 місяці тому

      @@dev-worm I actually watched it recently, and I agree. Dialogic is fun to use.

  • @bingbong3668
    @bingbong3668 Місяць тому

    You saved me

    • @dev-worm
      @dev-worm  Місяць тому

      glad I was able to help!! thanks!! if you ever need anything then please fill free to let me know!

  • @sakthisridhar835
    @sakthisridhar835 4 місяці тому +1

    Bro please help my dialogue box open by just pressing chat button not use area 2d of npc what the problem

    • @dannehjoe
      @dannehjoe Місяць тому

      Just add this if statement (if player_in_chat_zone:) above the input action that starts the chat.
      if player_in_chat_zone:
      #start a conversation with the npc
      if Input.is_action_just_pressed("chat"):

  • @ratboyblue8856
    @ratboyblue8856 5 місяців тому

    maybe i missed where it was implemented, but how can we use starting position to keep npc within a specific radius? thanks for the video :)

    • @dev-worm
      @dev-worm  5 місяців тому

      you could hardcode boundaries or use a collision polygon that only the npc can interact with

  • @ilsyxn
    @ilsyxn 3 місяці тому

    how do I limit the NPCs movements to a certain radius? your series is so helpful btw!

    • @dev-worm
      @dev-worm  3 місяці тому

      you could create collisions that only the npc can interact with

  • @HippocritterXD
    @HippocritterXD 7 місяців тому +1

    Are you gonna put in a boss fight? Maybe with one or two mechanics That would be really cool 😅

    • @dev-worm
      @dev-worm  7 місяців тому +2

      maybe! that would be cool!

    • @HippocritterXD
      @HippocritterXD 7 місяців тому

      @@dev-worm i would be, but don't feel like you have to 😋

    • @HippocritterXD
      @HippocritterXD 7 місяців тому

      @@dev-wormor a quest line. Would also be cool 😋

  • @yangli4119
    @yangli4119 2 місяці тому

    you can just select multiple lines and just press tab to indent

  • @adamcampbell9806
    @adamcampbell9806 3 місяці тому +1

    Just implemented this in my game and it's great but when I finish the dialogue and go back to the NPC to start the dialogue over, nothing happens. Anyone manage to get the dialogue to start over after completion?

    • @adamcampbell9806
      @adamcampbell9806 3 місяці тому

      nevermind, just implemented this by setting the current_dialogue_id back to zero at the beginning of the start() function

    • @dev-worm
      @dev-worm  3 місяці тому

      thanks for reaching out!! sorry you had the issue but glad you found the solution!! sorry I couldn't get back to you in time!!

    • @adamcampbell9806
      @adamcampbell9806 3 місяці тому

      @@dev-worm no worries. Didn't take me long to figure out.

  • @olive8908
    @olive8908 2 місяці тому

    hey! ive tried everything but my character wont move at all!

    • @milkiaint
      @milkiaint 29 днів тому

      Did you put the timer signal in through the node tab? 11:48
      That was my problem. I missed it because it went by so quick and wrote the function but didn’t put the signal in. Worked after I put it in.

  • @th3j0t46
    @th3j0t46 3 місяці тому

    Is there any github from where we can see the source code??
    Would be very helpful.
    Thanks for the tutorial! It was very insightful and very clear.

    • @dev-worm
      @dev-worm  3 місяці тому

      sorry there is no github for this project!! I do apologize as I know I should've made one. But I hope the video was clear enough to understand everything well. thanks! and if you do have any questions about it then just let me know so hopefully I can clear up confusion!

    • @th3j0t46
      @th3j0t46 3 місяці тому

      @@dev-worm No problem! I got the code by hand (I'll leave it in another comment) and it is working perfectly for my project. Thanks a lot! About the video itself, it was super easy to understand, you talk in a very natural way and that is super benefitial for us who are trying to learn.

  • @jacksonsmith5955
    @jacksonsmith5955 3 місяці тому

    I had the issue with the npc being stuck in idle. I fixed it by calling the timer in the ready function. $timer.start()

    • @dev-worm
      @dev-worm  3 місяці тому

      goodjob, but if you set the timer node to "autostart" in the inspector than it will save you from having to call that line of code.

    • @jacksonsmith5955
      @jacksonsmith5955 3 місяці тому

      @@dev-wormoh lord that would have saved me hours 😂, preciate you replying!

  • @kongiQQ
    @kongiQQ 7 місяців тому

    Really nice tut, but how to make no deafult but pixel text?

    • @dev-worm
      @dev-worm  7 місяців тому +1

      you would have to make a custom font in the inspector.

    • @kongiQQ
      @kongiQQ 7 місяців тому

      @@dev-worm thx

  • @user-oj1yr8gh5f
    @user-oj1yr8gh5f 5 місяців тому

    My Code is Having Problem Please Help!!!!

    • @dev-worm
      @dev-worm  5 місяців тому +1

      are you getting any errors?

    • @user-oj1yr8gh5f
      @user-oj1yr8gh5f 5 місяців тому +2

      ​@@dev-worm Sir I love to do code and make games but sir whenever i watch tutorials of godot from you i always get a error i dont know
      it always hepeens with every channel of youtube . i am having lot of issues in my game ......

  • @dozingbison9359
    @dozingbison9359 7 місяців тому

    mfw I open godot 4 and there's no Kinematicbody2D 😢

    • @dev-worm
      @dev-worm  7 місяців тому +1

      ah yes. its now called the CharacterBody2D lol

  • @infinity6010
    @infinity6010 7 місяців тому

    First lets gooo

    • @dev-worm
      @dev-worm  7 місяців тому

      thank you Infinity!!!

  • @ashasonshine7050
    @ashasonshine7050 7 місяців тому +1

    Is anyone else having this problem? My NPC doesn't care about walls. He wanders through them.

    • @dev-worm
      @dev-worm  6 місяців тому +2

      sorry, thats cause we are changing the position in the video which isnt very smart and i shouldnt have done that instead if you use velocity to move the npc and have a move_and_slide() function then everything should work.

    • @ashasonshine7050
      @ashasonshine7050 6 місяців тому

      @@dev-worm thank you very much for your help. The support from the videos you make is priceless for me.

  • @AnnualSeveral
    @AnnualSeveral 7 місяців тому

    Hey I'd love to collaborate on something, like a gamejam. I work professionally as a full stack engineer. Hit me up sometime!

  • @espacemaxim
    @espacemaxim 6 місяців тому +1

    Subbd!!!

    • @dev-worm
      @dev-worm  6 місяців тому +1

      thanks brother!! means the world!

    • @espacemaxim
      @espacemaxim 6 місяців тому +1

      Thank you!!!@@dev-worm