A downloadable system

Buy Now$1.99 USD or more

A highly customizable dialogue system perfect for story-driven RPGs and Visual Novels.

Includes GDscript parser, full dialogue system, examples of use, and two types of message visualisations:

  1.     MSG Box - classic messge display
  2.     MSG Bubble - bubble (floating) messages .

Features:

  • Fully developed GDscript parser
  • Two types of message display
  • Support for multiple choices (+ conditions)
  • Displaying variables in text (local and global)
  • Many customisation options
  • bbcode (bold, italic, underlined, color) for box messages
  • Text pauses for box messages
  • *NEW* Support for multiple languages



DOCUMENTATION


Designed to be used with this editor:

Any questions? Contact me: radmattsoftware at gmail.com

@radmtt


Purchase

Buy Now$1.99 USD or more

In order to download this system you must purchase it at or above the minimum price of $1.99 USD. You will get access to the following files:

DialogueSystem_1.3.zip 1 MB

Development log

Comments

Log in with itch.io to leave a comment.

(1 edit)

Hi Im getting the error

Invalid get index `0` (on base NIL)

on line 92 of the parser 

(1 edit)

Hi there! I just purchased, and I'm loving this so far. Its a little bit of a pain trying to resize everything to a pixel perfect screen, but I'm making my way through it okay. 

I'm currently trying to figure out where in the code the skip feature is used? I want to map it to a different button than the normal advance text button.

I'm also attempting to add an export variable onto the character script for changing between voice sound files. My current endeavors on this are not going too well. 

(1 edit)

In Parser.gd you have these lines which call the next() function:

func _input(event):
  if Input.is_action_just_pressed(dialogue_next_input):
     MSG.next()

As you can see the button for skipping the dialogue is called dialogue_next_input which can be changed in Project > Project Settings > Input Map > dialogue_next - by default it's [Space].

As for the voice sounds, you can add an export variable to characters, like this: export (AudioStream) var sound and then in start_message() in MSG_Box.gd and MSG_Bubble.gd add something like $SFX.stream = MSG.current_speaker.sound. That should work (haven't tested it though).

I hope that answers your questions :)

(3 edits)

Yes, I understood that far- perhaps I wasn't clear. When you press spacebar, the dialogue continues to the next line, but if you press space bar early, it skips the writing step. I want to split the functionality between that continue button and the skip feature into two different buttons, for instance, I could press "A" to continue the dialogue to the next line. But if I wanted to skip through the dialogue I want to press "B" instead of "A." Currently its a one button fits both situations, with the space key.

As for AudioStream, that worked! There's only one bug with this that I can see; the stream isn't set back to a default if stream file is null, so if null, the speaker will have the same voice as the last speaker. I'm looking into now 

(1 edit)

Can you document how to write the JSON dialogue filew for this system? I just installed your system and already I have no idea how to test my own dialogue because I can't understand what's going on in your demo's dialogue files.

(+1)

This documentation should help you a bit: https://radmatt.itch.io/godot-3-dialogue-system-documentation. I've updated the docs with a new category (see 8. File Structure).

JSON files are difficult to write by hand, so I made a software for that: https://radmatt.itch.io/dialogue-designer. It it tightly integrated with this dialogue system so there's no need to modify the files by hand.

Can I change the way the dialogue box looks or does it have to stay the way it is in the video. Deal breaker for me

(+2)

You can easily change the look of the dialogue box, its texture, colors, sound effects and much more. It was designed to be as customisable as possible. 

How can I change the look of the dialogue box? I'm missing this part too

(+2)

Can you provide a detailed tutorial to help us setup this system?

Really appreciate it

Check this documentation:  https://radmatt.itch.io/godot-3-dialogue-system-documentation

(+1)

tutorial?

(+1)

Coming soon...

nice, thanks

 Documentation: https://radmatt.itch.io/godot-3-dialogue-system-documentation

Purchased, however will need a tutorial before I can start using it.

 Please, check out this documenation: https://radmatt.itch.io/godot-3-dialogue-system-documentation

Awesome. Thank you for making this.

And...I have another question. What is the difference between this system and the Dialogue Designer System?

Sorry for a late reply. The Dialogue Designer is an editor that can be used to more easily create dialogue files needed for this addon. The file format it uses (JSON) is quite complex and writing it by hand would be difficult, so I made the editor to make the process easier (but the editor is optional).

Moreover, this system is for Godot 3 only, and the Dialogue Designer can be used with any game engine. I hope that clears things up.

Hi. I'm interested in the system. However, I have a question. If I want my characters sprite box embedded in dialogue boxes to show emotions, this system can provide such support? For example, if my character is angry, I want to show an angry sprite when displaying the text. Then, when my character speaks with a normal mood, I want the character sprite to update to a normal face.

Yes, absolutely. There is a function there for executing code (like functions for emotion change) during the dialogue, and I even added face images to the text boxes in the demo, so all you need to do is to replace them with your own graphics and you're done.

Was developing a Godot 2d RPG Games. I am curious about your dialogue system. Does it support different fonts and textures for dialogue box? And is that possible in future to support Chinese language?

Yes, it does support different fonts, font sizes, textures, colors, styles, sounds, face graphics and more. I believe Chinese language is already supported, all you need to do is to find a font with Chinese characters and you're good to go! :)

Hi! I just bought the addon for Godot, but the zip file is damaged and I cannot even open the file. I tried in Windows and Ubuntu, can you help me please?

(1 edit)

Weird... It opens fine for me. What software are you using for unpacking? Have you tried downloading it again?

Edit: see this update. Tell me if it works now.

Hi, Matt, it works now, thanks a lot! I will be trying the addon, there is a tutorial?

(+3)

I'm working on a tutorial. Should be up soon :)

Great! I'll be waiting for! Thanks!

Any word on this tutorial? I purchased the add-on and am trying understand it by going through your example demo but I'm having a tough time making heads or tails of how to actually put this into my project.

 Check out this documentation for help: https://radmatt.itch.io/godot-3-dialogue-system-documentation

Hey Matt,

I'm having problems adding this addon to my game. 

3.1 Godot on Mac OSX. 

I've tried adding all the "addon" folder contents to an add on folder in my game, but then there is no option to enable the add-on. 

Then I tried auto-loading the files like you had in your test scene. Still no dice. 

So I tried adding in my own custom JSON file created through your dialogue creator, then the example game would instantly crash anytime I tried to load my custom JSON. 

Help please? 

Please send an email to radmattsoftware@gmail.com with more info about the issues (screenshots would help too).

I am thinking about buying this one. But i have one question :D How hard / easy is customise dialog box? It works like classic 9-cut thingy? :D

It's really easy to customise both the dialogue box and dialogue bubbles. It does use a nine patch rectangle and it can be swapped for any image you want. Additionally you can change its position, colors, font, sound effects and more.

(+1)

Yess... You can count me in when i got next paycheck :D I will buy everything what you got there :D

Hey, this seems very good, but is the DialogueDesigner required to use it ?

Absolutely not :) The editor is optional (but recommended). If you use a different editor or you want to write the dialogue by yourself, you can modify the main file a little bit and you're good to go. Hit me up if you'll have any problems with that and I'll help you.

Thanks for your reply^^

I'll probably buy this in the future because I don't need it right now, but it's sure an interesting tool :)