Godot Dialogue Graph with Json!
This is a simple Dialogue System for your Godot 3.1 games.
It is built around a preset JSON format ( Example found under Dialogues folder) .
I made this system for one of my pet projects and figured I would post it for anyone in need of a simple system or a reference for building their own.
Disclaimer: I am familiar with good programming practices, that said I have some way to go and this was made in my first week of getting into Godot. If you have performance issues or have suggestions on how to improve performance feel free to comment. If you need help with setting it up in your own project or have unanswered questions about how it works feel free to comment as well.
And now to the point!
What you CAN do:
- Linear Dialogue
- Branching Dialogue (Multi-answer supported!)
- Looping and branching Dialogue
- Basically any kind of graph based dialogue
What you CAN NOT do:
- Dialogue Conditionals are at this point not supported and since I do not need them for my current projects it is unlikely i will be implementing it soon
There are instructions of how to Load a dialogue and start it inside the sole Script of the project, if that is not sufficient feel free to contact me.
There is a Dialogue json Example that you ABSOLUTELY SHOULD look at. That is how your dialogue files should look like.
THINGS TO NOTE :
- Dialogue Nodes should start at id 0
- If you want to exit the dialogue set the next_id to -1
-Every Dialogue Node must have a different id number
-The generic next_id will be ignored if you fill the choices  table .
- Currently supports up to 4 choices, you can easily expand it to more
Q: JSON Files are not showing in my Godot editor :
A: This is by Godot's design and is unlikely to change, you are still able to load and read the files just fine, they are just not shown inside the editor
Hope you find this useful , looking forward to some feedback.
- 1.0.0 Original version as uploaded on 11/03/2018
- 1.0.1 Bug Fix As pointed out by user @Hobofairy
Tested And working with the lates 3.2 beta build.