GDevelop Dialogue System Extension
A downloadable tool
As of 6/3/2023
Save and Load Yarn Dialogue: https://h0ndred.itch.io/gdevelop-saveload-yarn-dialogue
Forum Post: https://forum.gdevelop.io/t/dialogue-system-extension/46555
Took the time to "simplify" the dialogue system but also allowing as much freedom as I could at the time with a few events
Dialogue Extension: Mouse Guide
Dialogue Extension: Combo Guide
Here's what you can do:
Pick your dialogue keys: Keyboard and or Mouse
(Keys Extension)
- Main Key
- Option Keys
- Optional Indicator
(Mouse Extension)
- Mouse Button (Left, Middle, Right)
(Combo Extension)
- Or Both
Optional: Use Tags
- Pick a command to use in yarn
- Pick a sprite object to assign to that command
- You can use the preset "Sprite Tag" or
- For more freedom use "Custom Tag"
Chose what you want to do when dialogue runs
You do not need to show text/options/tags (only for "Sprite Tag")
- Disable player behavior
- Show dialogue box
- Change a variable...etc
Chose what you want to do when dialogue is done running
You do not need to hide text/options/tags (only for "Sprite Tag")
- Enable player behavior
- Hide a dialogue box
- Change a variable...etc
Choose your Text and Options
- Configure your text scroll speed
- Show or hide text when options (text) are playing
- Choose your text object type: Text, BBText, or Bitmap
Chose how you want to start a dialogue branch
- You can start a branch with the preset "Start Branch With Collisions"
- You can start a branch with custom conditions "Start Branch Custom"
- You can start a branch with customs conditions "Start Branch Custom: No Keys/Mouse" (The words "Keys, Mouse, or Keys/Mouse" change depending on the extension you pick)
- You can choose if you can revisit the branch or not
Tips:
- You have the entire code of both Mouse and Key version of the extension exposed to use or review as you please! You can find it in the example projects in the scene labeled as "No Extension"
- When configuring your scrolling speed, best to use TimeDelta() * Scrolling Speed for best results when frame rates drop.
- If you are using "Start Branch Custom", make sure your checks are above the branch condition.
This applies generally to all things as well. - You can assign global variables to all text portions if you want to.
- If otherwise need help understandings yarn, check out the GDevelop Wiki on the Dialogue Tree: https://wiki.gdevelop.io/gdevelop5/all-features/dialogue-tree/
Status | In development |
Category | Tool |
Rating | Rated 5.0 out of 5 stars (3 total ratings) |
Author | H0ndred |
Tags | dialogue, gdevelop, sourcecode |
Download
Click download now to get access to the following files:
Development log
- Mouse 1.0.1, Keys 1.0.3, and Combo 1.0.0 UpdateJun 04, 2023
- Mouse 1.0.0 and Keys Update 1.0.2Jun 04, 2023
- Update 1.0.1Apr 21, 2023
Comments
Log in with itch.io to leave a comment.
One thing that I've noticed is there's a slight glitch (I think) for when you make all your dialogue events but don't "load data from json file", and all you get when you preview your game is a black screen.
But, when I remembered to add/load in my yarn json file, I saw my game load properly.
That is normal behavior. The dialogue tree must require a loaded json file.
This is not something I did, this is how the dialogue tree is in engine :'D.
Hey h0ndred! Tried your extension out and it works really nicely! So far, my feedback is for some UI/visuals.
Under conditions for the text objects, it's easy to forget which object you've clicked on since all three look the same. I think it would be helpful to include the title for each object on the right-hand side info section.
So insead of just "Pick your text and scroll speed and your options"
It can be "BBText: Text and Options - Pick your text and scroll speed and your options"
You're right, I definitely see that. It's a simple fix so I'll pushout a small update some time today! :D
Cool beans! And I forgot about the GDev forums, lol. Would you prefer I send feedback there instead? I think I've run into a bug in my project with your extension.
Here is better!
If it is a detailed problem, please DM me on discord with your issues. I am more readily available there than on Itch. :D