Using Dialogue Manager in Godot 4

Поділитися
Вставка
  • Опубліковано 1 лют 2025

КОМЕНТАРІ • 40

  • @serghonest9
    @serghonest9 6 днів тому +11

    I don't know if this is the best Dialgue Manager tutorial ever or it's just that I can finally understand it after a year of working on my own Dialogue System (barely knowing about anything) because I didn't understand other tutorials. Whatever it's, thank you! It's very well explained despite being so short!

  • @shomykohai
    @shomykohai 6 днів тому +9

    Best dialogue addon in my opinion! Proud to be using it since v2 was still in beta❤
    Love the addition of match statement

  • @johannbrahmss
    @johannbrahmss 6 днів тому +3

    Perfect timing for my visual novel :) this is awesome help

  • @aliceeee9145
    @aliceeee9145 5 годин тому

    Thanks Nathan this is a great plugin! Looking forward to Bravest Coconut dropping on steam!

  • @petethorne5094
    @petethorne5094 5 днів тому +3

    This is amazing! Such an excellent intro to the plugin. Even tho I’ve used it before i still learned loads

  • @NikolaiCarpathia
    @NikolaiCarpathia 5 днів тому +2

    Thank you for all the work you've put into this plugin. I'm having a blast using it so far. It's been fairly easy implementing a skill check system a la Dungeons & Dragons using it.

  • @GameUnionTV
    @GameUnionTV 6 днів тому +1

    How am I still not subscribed. Thanks for the plugin!

  • @pichitosmalltown3239
    @pichitosmalltown3239 3 дні тому

    thanks a million, your addon is a godsend

  • @5naf_plushies482
    @5naf_plushies482 6 днів тому +2

    This is my number 1 plugin! It's so useful and I love its flexibility.

  • @Tomorrow_For_Sure
    @Tomorrow_For_Sure 3 дні тому

    I was about to make my own dialogue scripting language, but this looks really good and has almost all the features I need!
    I may edit it a bit to make it easier to work with my project!

    • @nathan_hoad
      @nathan_hoad  19 годин тому +1

      What features would you say are missing?

    • @Tomorrow_For_Sure
      @Tomorrow_For_Sure 18 годин тому

      @nathan_hoad nevermind, they were three things that I already resolved
      The first one was something I called metadata in my language that worked something like this:
      ```
      @char:hero, expression:flabbergasted
      Woah!
      ```
      But that can be replicated with tags.
      The second one was using the Godot's special syntax for accessing nodes (`$Node`, `%Node`) but it still works with `get_node`.
      And the last one was local variables, but I think accessing a dictionary from an autoload or the current scene is enough.

    • @Tomorrow_For_Sure
      @Tomorrow_For_Sure 18 годин тому

      There were more features, but they are super specific for my game, so they don't matter

  • @btarg1
    @btarg1 3 дні тому

    I'd love to see more indepth tutorials for adding voice acted lines and translations for both the audio and text with POT!

    • @nathan_hoad
      @nathan_hoad  19 годин тому

      I'll do a video on it at some point. In the meantime the example project on my itch.io page demonstrates the basic idea.

  • @serghonest9
    @serghonest9 6 днів тому +2

    Something I don't understand (and is where all dialogue tutorials never explain) is how do you apply progression to the dialogue?
    Do you just run the same dialogue every time and depend on conditions and GameState to offer a different conversation? But that would mean having to check every variable until one matches your condition. And you need to do that every time?
    For expample: if first_dialogue is flase: - Nathan: Nice to meet you!
    But then you would need to check "first_dialogue" (even though you know you already had the first dialogue) every time you talk to Nathan for the rest of the game? Is there not a better approach to this?

    • @mysteriousguy7966
      @mysteriousguy7966 6 днів тому

      I imagine that before running the DialogManager, you could do some conditional statements so you can change and load a different dialog (using a counter, and as the number advances, the dialog changes). If your problem is having useless data like the "first_time" var, then you could have a component for your Manager in that scene, checking how many times you started a dialog and switching for the next dialog script. When you reach a point where the dialog will no longer change, you can simply release the component and its manager, checking that the component no longer exists, will follow a normal dialog script from then on. But of course, this is ONE idea (as far as I understand the plugin)
      Pardon my English. Good luck

    • @serghonest9
      @serghonest9 5 днів тому

      @mysteriousguy7966 how would I go about having and releasing that component? I though maybe some kind of container that gets generated at startup with only the needed dialogues and deletes them from the container when they are not needed. This may work?

  • @togashi-azul
    @togashi-azul 6 днів тому +1

    Nice

  • @TheFilipFonky
    @TheFilipFonky 5 днів тому

    Tags look very interesting, could you please elaborate more on them and how to call them from the scene's code? Great video and great plugin as always.
    Edit: NVM I'll check out your example project!

  • @nikitanikiforov2380
    @nikitanikiforov2380 5 днів тому

    The plugin is simply amazing. I can’t stop discovering its vast capabilities. I have a question:
    I want to use uppercase text in my game. To avoid writing all dialogues in caps, I used this line in the Balloon script:
    next_dialogue_line.text = next_dialogue_line.text.to_upper().
    It worked well: "hi Nathan" became "HI NATHAN".
    However, when I wrote "hi [wave amp=25 freq=5]Nathan[/wave]", the result was as expected: "HI [WAVE AMP=25 FREQ=5]NATHAN[/WAVE]".
    Is there a proper way to make the font uppercase while preserving BBCode functionality?

  • @ElGhost-p6t
    @ElGhost-p6t 5 днів тому +1

    Dude, your plugin is really good, it greatly reduces the progress time of my game. However, could you tell me how to make the dialogue appear only once?

    • @Softcustomer2
      @Softcustomer2 4 дні тому

      Var DialogueHasShown = false
      If CharacterIsSpokenTo
      DialogueManager.thing
      DialogueHasShown = true
      Elif DialogueHasShown = true
      Pass

  • @raidev_
    @raidev_ 5 днів тому

    oh there is a version 3 now? i wonder if i can migrate to it

  • @stephanste1n
    @stephanste1n День тому

    How do you update from version 2 to version 3? Do I overwrite the files during installation?

    • @nathan_hoad
      @nathan_hoad  19 годин тому

      Make a git commit. Then delete the dialogue_manager folder in addons and replace it with a fresh copy from GitHub or the AssetLib.

  • @megalukes
    @megalukes 5 днів тому

    Is there a way to make each character have their own balloon? In my game, sometimes there are three characters speaking, and all the "idle" balloons wait for the next text for that character (something similar to Final Fantasy Tactics, Romancing Saga, and so on). As far as I understand your balloon code, everything happens inside just one balloon, right? Anyway, amazing work, mate. I'm seriously considering using this for my own project!

    • @nathan_hoad
      @nathan_hoad  19 годин тому +1

      The example balloon is just an example. The idea is that you'd make your own balloon that suits your game and has whatever functionally it needs for that.

  • @Ozgur-op3zs
    @Ozgur-op3zs 4 дні тому

    I have a game where I load a specific camera shot per dialogue, similar to that of the Class Trials in Danganronpa. How can I import this system within the Dialogue Manager?

    • @nathan_hoad
      @nathan_hoad  19 годин тому

      I've never played Danganronpa but just guessing from your description it would either be implemented in your custom balloon or through a mutation.

  • @SwedenDaBestbootycountry
    @SwedenDaBestbootycountry 20 годин тому

    It won't show up in plugins

    • @nathan_hoad
      @nathan_hoad  19 годин тому

      I'll need more information than that.

  • @DarkDao
    @DarkDao 6 днів тому

    Does it work for 3d projects out of the box?

    • @nathan_hoad
      @nathan_hoad  6 днів тому +1

      There's already heaps of people building 3D games with it.

    • @DarkDao
      @DarkDao 6 днів тому

      @@nathan_hoad Awesome!

  • @danielmtpbr
    @danielmtpbr 6 днів тому

    Does it work well with C#?

  • @just_a_normal_person5819
    @just_a_normal_person5819 19 годин тому

    The best dialogue addon in godot so far. I got a problem though. I store my characters name inside an array thats inside an array.
    When I try to call it through {{G.Player_Character_Resource["Characteristics"]["Race"]}}
    I get an error that leads me to the dialogue manager script on line 958 if index >= 0 and index < value.size():

    • @nathan_hoad
      @nathan_hoad  19 годин тому

      Can you raise an issue on GitHub for that?