dialogic icon indicating copy to clipboard operation
dialogic copied to clipboard

Adding a RoadMap editor to link dialogs

Open jeremyessig opened this issue 2 years ago • 4 comments

First, thank you for your incredible addon ! It's very fun and easy to use, I love it !

The problem I would like to bring a new feature to help people to create complex dialogs. Dialogic is very easy to use when you have few dialogs, but if you create a complex narrative game (like a visual novel), linking all dialogs can be messy (especially for artists and writers).

My idea My idea is to add a roadmap panel/editor to dialogic using GraphEdit and GraphNode nodes from Godot to link dialogs and changing the TimeLine. This allows the game creator to graphically visualize the branching of his dialogues. If you work with a team, it can be very easy for others to understand the dialog's paths without programming knowledge. Game designers and writers can easly adding new dialogs and linking them.

Exemple Assuming we have 5 differents dialogs, we can add a "link in the RoadMap" checkbox to create an output point to link the dialog with others in the grapheditor.

We use a "change timeline" node without specifying the path of the next dialogue (but we check the "link in the RoadMap" checkbox to create an output point) first_dialog

We do the same with question nodes. We can adding several output points. The branching choices will be displayed in the GraphNode question_dialog

Creating other dialogs to link them ! yes_dialog

no_dialog

For the last dialog we don't had the checkbox ! Thus, when importing the dialog into the RoadMap editor, it will not have an output point. end_dialog

The RoadMap editor We bring a new RoadMap editor to Dialogic into the left menu (befor or after settings) that displays a GraphEdit node. We can grab the dialogs from the Timelines folder and drop it into the GraphEdit to create a new dialog GraphNode. The GraphNode has by default one input and take outputs define with the "link in RoadMap" checkbox.

dialogic roadmap editor

When we drop a new GraphNode into the GraphEdit, the GraphNode displays all the logic of the dialog TimeLine like signals, characters, some text, conditions, the title show the path to the dialog folder, etc... RoadMap graphNode

And voilà ! We can easly create very complex narrative structures for our games. With that, Dialogic will be a very powerfull tool to create dialogs.

I would like to add it, but I don’t know dialogic well enough to implement it by myself...

jeremyessig avatar Nov 14 '21 11:11 jeremyessig

I like the general idea, but would propose doing things a bit differently.

First of all, maybe that's just me, but I find the name RoadMap confusing as that is usally a plan for a project, while this would be a tool for creating connections between sections. I would propose "Story Map" or something similar.

Secondly (more functional) you can have multiple ChangeTimeline events, so we would need to add something like a "Name" field for this event, otherwise you couldn't differentiate them in the Map.

I would also suggest just adding an imaginary Output socket for the end of your timeline (Maybe called "Timeline End"), so you don't have to add the ChangeTimeline event to every timeline.

Then I'm not sure if we should add such a tickbox to the choice event, because it will be the same as adding a change timeline event afterwards...

The most complex thing will be to save this map in a useful format imo.

Jowan-Spooner avatar Nov 15 '21 15:11 Jowan-Spooner

Hello, I agree with you, Story Map is a far better name for this editor. The saving system will be very difficult to write...

jeremyessig avatar Nov 20 '21 10:11 jeremyessig

Since using graph editors is a good idea for this scenario, don't forget that dialogic was made this way according to this FAQ question

AnidemDex avatar Dec 01 '21 17:12 AnidemDex

Love this idea for handling visual novel like games without having to keep the entire structure in your head. Leaving open since I want to revisit this for potential 2.1 updates.

One day... 🥲

coppolaemilio avatar Jun 18 '22 22:06 coppolaemilio