Skip to content

Releases: dialogic-godot/dialogic

Dialogic 2.0 - Alpha 16

27 Oct 16:16
Compare
Choose a tag to compare

Alpha 16 - Fixing those missing animations + some nice new stuff!

This alpha has it all: Important fixes, new features and UX improvements. Most notably character animations should no longer be missing in exports. Hurray! Here are some other noteworthy changes:

  • The sidebar now supports a couple new modes for grouping your recent resources based on type or folders. It can now also be collapsed, in case you'd rather just use the file system!
  • The internal structure of styles has been reworked, finally fixing the behaviour of inherited styles and 🙏 hopefully 🙏 getting rid of a bunch of bugs with duplicate UIDs (resulting in changes weirdly affecting multiple styles at once).
  • You can finally change the Typing Sound audio bus in the settings.

We've also been blessed by an awesome income of small improvements and fixes by @salianifo across all kind of areas. Thanks again to them!
We highly suggest you update, as this version includes some code that will do an internal update to any style previously created. This little update code will probably be removed when going into the beta stages. However this also means this update is NOT BACKWARDS COMPATIBLE, so definitely make a backup or commit your changes before updating (as you always should ;)).

Cheers,
Jowan

What's Changed

New Contributors

Full Changelog: 2.0-alpha-15...2.0-alpha-16

Dialogic 2.0 - Alpha 15

09 Sep 10:56
Compare
Choose a tag to compare

Alpha 15

Following the release of Godot 4.3, we are releasing a new alpha containing a bunch of important changes to core systems, usability improving features and of course tons of bug-fixes.

So what's new?

  • Layered Portraits have never been easier! With the new custom portrait scene workflow and @CakeVR's amazing layered portrait scene preset you can create portraits made of multiple images really easily. These can be manipulated from the timeline via character extra data! Learn more here or watch the video walkthrough.
  • Individual Portrait Containers allow you to move, scale and rotate characters during the timeline with the character event. This new system should allow VN-creators to position and move their characters much more freely. Learn more here.
  • Named Portrait Positions Gone are the days of 0, 1, 2, 3 and 4! Now we welcome leftmost, left, center, right and rightmost into our hearts :). The old numbers still work though, no worries.
  • Portrait Cross-Fades allows you to fade from one portrait to another!
  • A Conditional Text Modifier allows you to switch between texts based on a condition. For example [if {Expression} Text if true./Text if false.]
  • Choice Extra Data allows you to store more info on your choices that you can then interpret outside of dialogic, for example to style your choice buttons!
  • Search in TimelineEditor with CTRL+F you can now search both in the text editor and in the visual editor (only text events will be searched there). This should make it much easier to find where you left of or get to a stupid typo you just noticed :)

And many, many more smaller changes! This release includes some great work from @CakeVR, @juliohq, @firedfromlife and @jrb0001!
If you want to support me and the work I do on dialogic, feel invited to drop a donation on Patreon or Kofi :)

Breaking Changes

A lot has changed and we couldn't get around changing a few things that might need adjusting. If something stopped working check whether it's one of these, otherwise get in touch on our discord!

  • Animation Paths have changed so you might need to re-assign the default animations if you've touched them before.
  • Portrait Containers got changed quite a bit. If you have a custom portrait container layer you will have to setup the new container IDs!
  • The choice syntax now expects a | between choice text and shortcodes if there is no condition. In general this is the new suggested syntax, though the syntax without | still works (may break in certain edge-cases like when using a conditional text modifier IN a choice).
    • e.g. - Option 1 | [color="green"]
  • The position event has been completely removed as all it was able to do can now be done with the Character event. If you need the position event or would like to re-add it for compatibility, you can add it as a custom extension easily.
  • Dialogic.Choices.choices_shown has been renamed to Dialogic.Choices.question_shown

I hope you enjoy this version!

  • Jowan

What's Changed

Read more

Dialogic 2.0 - Alpha 14

22 May 09:04
2abb8e0
Compare
Choose a tag to compare

Alpha 14???

Yep. It's been a while, and development has stagnated quite a bit. But nevertheless, this release improves Dialogic quite a bit, mostly consisting of smaller improvements and many, many bug fixes. This means Dialogic is — once again — better than ever before ;)!

We are still working on a few major feature upgrades, so stay tuned for that!

And, as always, if you make something fun, need help, or just wanna say hi, feel free to join us on Emilio's discord server!

PS: When you first update Dialogic, you might see some errors. This should stop after restarting the editor once (sometimes twice). In some cases, deleting the .godot folder in the project directory (to trigger a re-import) can help as well.

Noteworthy changes

  • The text bubble style has seen a major upgrade, becoming more performant and having more styling options.
  • Input handling and catching have been improved, which can be noticed.
  • Translation & Glossary improvements by @CakeVR
  • You can now access keys in arrays and dictionaries of autoload variables (only works with object[key] syntax not objec.key!)
  • Label events can now have a translatable "Display Name," allowing you to keep track of where in the story you are.

Breaking Changes

  • The DNextIndicator class has been renamed to DialogicNextIndicator. If your custom layout is complaining about something not existing, this might be the cause.
  • The rework of the Input Catcher means its best position is now BEHIND the textbox (to allow better glossary hover and having buttons on the textbox layer). If you have a custom layout/style, this might be something you'd want to update. It does require the textbox to let input through, so Panels, PanelContainers and TextureRects might need to have a mouse_mode of ignore.
  • On the history subsystem, some things have been renamed:
    • Dialogic.History.not_read_event_reached -> Dialogic.History.unvisited_event
    • Dialogic.History.already_read_event_reached -> Dialogic.History.visited_event
  • Manual Advance mode has been reworked into a class, so if you previously accessed those methods (on the Text subsystem) directly, you will have to rework your code.
  • The return dictionaries of Dialogic.VAR.variable_changed and Dialogic.VAR.variable_was_set have been updated. If you were relying on these, you might have to make slight adjustments.
    I think that's all the breaking changes; if I've missed some, please let me know and I will add them here.

What's Changed

Read more

Dialogic 2.0 - Alpha 13

30 Jan 12:37
114b781
Compare
Choose a tag to compare
Pre-release

The final alpha??? 😱

Heads up: This version requires Godot 4.2+

Another month has passed, and Dialogic has seen some exciting development. But even more exciting is, that there is barely any reason left for us to still call this an alpha. So be prepared for the first beta release (hopefully) in February.

But for now, let's enjoy all the new goodies in this version! What have we got?

  • New Variables editor with typed variables!
  • Unit test system introduced!
  • Statically typed subsystems! This is a major step towards giving good auto-completion results for all the cool methods Dialogic provides.
  • Translation improvements, including glossary translations🤯!
  • Choice do not have to be connected to a text event anymore!
  • And tons of smaller features, enhancements, fixes and UX adjustments.

We hope you enjoy this version!

PS: When you first update Dialogic, you might see some errors. This should stop after restarting the editor once (sometimes twice). In some cases deleting the .godot folder in the project directory (to trigger a reimport) can help as well.

Breaking changes!!

Once again, there are some breaking changes.
You will require Godot 4.2+ for this version of Dialogic 2.

1. Autoload script changed

When you first update Dialogic, you might see some errors. This should stop after restarting the editor once (sometimes twice). The reason is that Dialogic has to update the path to its autoload as that has been moved.

If you need to manually fix this path, replace Other with Core.

2. Subsystem renames

For the typed subsystems to work, a few selected subsystems have been renamed. This might result in errors, especially in layout-scripts you have copied from the Dialogic plugin. The renames are:

  • Animation -> Animations
  • Input -> Inputs
  • Expression -> Expressions

3. Method renames

A few selected methods have been renamed:

Subsystem Text

  • hide_text_boxes() -> hide_textbox()
  • show_text_boxes() -> show_textbox()
  • can_skip_text_reveal() -> is_text_reveal_skippable()
  • skip_text_animation() -> skip_text_reveal()

Subsystem Input

  • stop() -> stop_timers()

4. Glossary

If you've been using glossaries already, you will have to open each glossary resource (not each entry, though) in the glossary once to avoid getting a crash in-game.

What's Changed

New Contributors

  • @psy-lilulu made their first contribution in #2011
  • @nlupugla made their first contribution in #1975

Full Changelog: 2.0-alpha-12...2.0-alpha-13

Dialogic 1.5.1 - Still alive!

06 Feb 15:55
b4e38a4
Compare
Choose a tag to compare

Dialogic laboratories is proud to present this small treat of fixes and improvements which is a must have for all dialogic 1 users.
It's a triumph. Note: "Huge success".

And certainly still alive! Now even more with:

  • themes that properly duplicate (#1938)
  • a fix for a bug that broke PCK encrypted games using Dialogic (#1974)
  • another fix for a bug where the creation buttons wouldn't function if a folder wasn't selected first (#1935)

Huge thanks go out to @zaknafean who is the one responsible for this branch still evolving and who would certainly be happy if you (yes YOU dear reader) would want to contribute to dialogic 1! Come by on emilios discord server if you're interested.

Ciao,
Jowan!

What's Changed

New Contributors

Full Changelog: v1.5...v1.5.1

Dialogic 2.0 - alpha 12

22 Dec 11:10
c7cc8aa
Compare
Choose a tag to compare
Pre-release

Style layers, background transitions, translations and more!

This alpha release brings a multitude of cool new features and a big bunch of bug-fixes.

  • New Style Layers: All styles have been broken down into style layers. This makes it easier to customize them for you and for us to improve them. It also means your existing styles will break… So make a backup/commit before updating. Take a look at the breaking changes below for more help!
  • Background Transitions: Dialogic now provides several background transitions. Hopefully, there will be more coming in the future.
  • Translations: Another important missing feature for translations — character names — has been tackled by the wonderful @CakeVR!
  • Floating Window: Dialogic can now be docked off into a separate window. This functionality is WIP, so try it out and give us your feedback.
  • Unique Identifier Changes: Dialogic uses unique identifiers for characters and timelines. Previously, these were fixed (based on the file name), but now you can edit them in the Reference Manager!
  • Documentation: And finally, our documentation has seen many improvements (both in content and presentation).

I wish you all a happy end of the year and fun with this release.

❓ Future plans

With the rework of styles, one of the last big points has been ticked off, and in fact, the other feature rework that was listed on the last release — variables — is already close to being finished.
So what's next? Well, it means that it's not unlikely that we have only one more alpha release before the beta. Personally, I will focus mostly on testing, bug-fixing and minor UI/UX improvements from here on. Once I feel we are ready to go into beta, I will start creating tutorials and working on the documentation.
Our beta will likely not mean a full feature freeze until very close to release. We just do not have a fast enough release cycle to push features off until the next release. So if you have a small feature PR, don't worry. However, the beta will be a time of focus on stability and bug-fixing for the core team.
The next release will increase the required godot version to 4.2 so we can benefit from all the cool new additions in that version.

⚠️ Breaking changes!

This release comes with one major breaking change: Styles. Basically, any style and custom layout scene from previous alphas won't be working as expected anymore.
Therefore, before you update to this version, PLEASE COMMIT ANY CHANGES OR MAKE A BACKUP COPY.

However, don't worry:

  • You can either recreate your things with the new system, which you can find explained in the docs (Styles & Layouts — Dialogic 2 Documentation) or in a small YouTube walkthrough (Dialogic 2 - New Style System - YouTube).
  • Alternatively, you can convert the old layout scenes (or your custom layout scenes) to work with the new system. This mainly means they have to inherit from DialogicLayoutBase. Then you can create a new Custom Style and replace the base scene with your custom layout. Do this only if you really need to. I recommend using the new styles as those will be the ones getting improvements in the future.

Any settings from your previous styles won't be able to be transferred.

Regarding styles, a couple of methods have been renamed/moved:

  • Dialogic.has_active_layout_node() => Dialogic.Styles.has_active_layout_node()
  • Dialogic.get_layout_node() => Dialogic.Styles.get_layout_node()
  • Dialogic.Styles.add_layout_style() => Dialogic.Styles.load_style()
  • Dialogic.find_timeline() => DialogicResourceUtil.get_timeline_resource()

This list is incomplete; it's just a selection I thought might be useful to you. If something breaks, and you're not sure why, just hit us up on Discord.

Unique identifiers

There is a small chance the new unique identifiers' system comes up with a different default name for characters or timelines (this should only happen if you have multiple characters/timelines with the same name). In this case, you can simply adjust the auto-generated identifiers in the Reference Manager. You can learn more about unique identifiers in the documentation: Reference Manager - Dialogic 2 Documentation

Portrait Position Containers (z-index)

The z-index is now affecting the order of portrait containers. This means they can no longer be children of (e.g.) a VBoxContainer.


What's Changed

New Contributors

Full Changelog: 2.0-alpha-11...2.0-alpha-12

Dialogic 2.0 - alpha 11

10 Nov 16:19
2c57367
Compare
Choose a tag to compare
Pre-release

🖱️ Input improvements, ⏩ autoskip, 🖼️ better backgrounds and more!

Another month, another alpha. Here are some of the highlights of this version:

  • Improved Input handling: Dialogic will now finally respect handled_input and gui overlays when advancing the timeline through input!
  • Autoskip: You can now quickly skip through a timeline, a common feature in many VN engines. Try it out with the MiddleMouseButton when using "Play Timeline"
  • Call Node is now "Call": The new call event has a simpler syntax and allows passing parameters with different types! This is a breaking change, so make sure to adjust your timelines.
  • Better Backgrounds: The background system has been improved internally. This will hopefully result in cool new features in the future.

There are countless smaller and bigger bugs that where fixed, including to saving, choices & exporting. Huge shoutout to @CakeVR for all their amazing work implementing features, testing things, fixing bugs and helping people on the discord!

We hope you enjoy dialogic already, see you at the next release!
Btw, check out our new documentation page (WIP)!

❔ Future plans

Behind the scenes we are trying to improve the codebase so that we can hopefully get into a beta-phase soon. Until then there are a few areas that need some more attention as they might require some more breaking changes:

  • Layouts & Styles: We currently have three presets. Although adding custom layouts is possible, the process has become much more annoying than we hoped it would be, so another pass improving this system is likely to come soon.
  • Variables: Dialogic Variables currently have a strange type behaviour. They are usually always strings, but are converted to other values (ints, floats, booleans) in certain cases to make conditions/expressions possible. This kind of hard-to-predict behaviour is pretty annoying. Thus we want to try improving that system as well.

🔧 Breaking changes!

Call Node -> Call
The new Call event can do most of what was possible with the old Call Node event and a bunch more. Most importantly though it is designed with just Autoload access in mind. If you previously called methods on a different node further down in the scene tree, you should wrap that call in an autoload method now.

The new text syntax for the call event is as follows:

do Autoload.method("arg1", 0.2, true)

The visual editor is a lot easier to use and now also allows specifying the type of each argument. If your methods arguments are statically typed it will warn you when you use wrong types.

Autoadvance & Input
Internal changes around input mean that many methods, especially around Auto-Advance, changed. Checkout the documentation on how it should be used now.

If you have a custom layout, you should place the new DialogicNode_Input node in it. It should cover all the area that you want to be clickable. It should be placed behind anything that has priority (e.g. choices, text input etc.) but in front of everything that shouldn't block the input.

Background Node
If you have a custom layout you might have to re-instance the DialogicNode_BackgroundHolder into it, as that node changed it's node type (which might not correctly update in your scene).

What's Changed

New Contributors

Full Changelog: 2.0-alpha-10...2.0-alpha-11

Dialogic 2.0 - alpha 10

13 Oct 14:57
8c20d3c
Compare
Choose a tag to compare
Pre-release

🚀 All aboard the alpha train

This release has it all: new features, breaking changes, UI updates, and tons of bug fixes. And it's still not a beta. Damn. But we are getting there: slowly but surely. As always if you have questions or feedback it's best to reach out on emilios discord.

Notable new features include:

  • custom default portrait scene
  • improved autoadvance system
  • built in version-check and downloader
  • big update for text speeds
  • new Clear event (leaves all characters, fades background & music, resets theme)

Notable bug fixes:

  • fixes a bug preventing exports
  • fixes problems with changing styles

We hope you enjoy this new version. If you make something cool with dialogic 2, feel invited to show it on emilios discord.
If you are new to dialogic, hey, nice to have you here, here is a good place to start and please keep in mind we are still in alpha ;).

⚠️ Breaking Changes:

  • The syntax of certain events has changed, meaning they will break in existing timelines. However it's easy to fix.
    The changes are:

    • Join, Leave, Update are now lowercase so join, leave, update
    • VAR has been changed to set
    • Setting is lowercase as well
    🛠️How to fix the broken events🛠️

    You can either manually change these syntax changes in the text editor or use the Broken Reference Manager.

    1. Open the Broken Reference Manager in the top right corner (little broken link symbol)
      grafik

    2. Click the "Plus" button in the top right of the window that pops up
      grafik

    3. Fill in e.g. "Update" and "update", whole words+match case, then press Add
      grafik

    4. Press Check Selected

    5. Check if anything has been detected wrongly (e.g. use of Update inside a text), disable those items
      grafik

    6. Press Replace

    Repeat this process for all syntax changes.

  • As the default layout is still getting updated, custom layouts that just copy this scene might need some reworking.

  • Your text speed might seem super fast, because Settings.text_speed is now a multiplier for the letter_speed. However this change in meaning can result in it being still set wrong. To fix this go to the ProjectSettings>Dialogic>Settings and set "text_speed" to 1

What's Changed

New Contributors

Full Changelog: 2.0-alpha-9...2.0-alpha-10

Dialogic 2.0 - alpha 9

29 Aug 15:55
63830bc
Compare
Choose a tag to compare
Pre-release

🎉 New alpha, new stuff!

If you are using dialogic 2 alphas then we've got an exciting update. It's not the beta yet, but we are getting closer! As always if you have questions or feedback it's best to reach out on emilios discord.

This alpha brings a couple of very useful new features to dialogic as well as some syntax changes and a design overhaul (and many, many bug fixes).

🎈 Big Additions

New Style Editor

The new style editor allows creating multiple sets of layouts+export overrides (which can inherit settings from other styles). This makes it much easier to create style variations for characters or certain sections of timelines.
Image

New Broken Reference Manager

The new broken reference fixer should make it much easier to rename variables, portrait, timelines and characters and then updating references to those in timelines.
Image2

New editor design and new event colors!

The editor now comes with a new design, especially for the settings, but you will find it creeping everywhere... Also the event colors have been made into a nicer palette adding a couple of new ones, for the ever growing number of events!
Image3

🪧 Smaller things to mention

  • more portrait animations
  • useful new shortcuts for the visual editor
  • better auto completion & syntax highlighting
  • better Character Update event (now alows setting what to update and what not to)
  • tons of bug fixes
  • autofocusing correct event fields when created

⚠️Breaking changes

As we are still in alpha these changes have to be corrected manually.

  • the jump and label events now use the following syntax instead of the shortcode syntax:
label MyLabel

jump MyLabel
# or 
jump Timeline/MyLabel
# or (to jump to the beginning of a timeline)
jump Timeline/ 
  • there is also a new return event if you want to return to the last jump
  • the random selection modifier syntax is now <This is one option/And this another/And a third>
  • the new portrait_container node replaces the old portrait_position node. This needs no fixing if you used one of the preset layouts
  • the new and improved style editor will need reconfiguring of your layout scene and settings

Future

We are still hoping to get to the beta phase soon, but developement goes slowly as it's mainly on me right now (@Jowan-Spooner). We want to go into a beta when we are at least somewhat confident about dialogic 2 being stable and not having any breaking changes planned. So if you are interested in a beta soon, test dialogic, report bugs here and give your feedback on discord!

Huge shoutout to @CristianRos for a lot of feedback, testing and contributions for this version.

Btw, it's pretty easy to test the most up to date version from the main branch by downloading the zip and just copying the addons/dialogic folder into your projects addons folder (after removing the old version and while the project is closed!). Sometimes that version has some bugs, but tbh, so have the alpha releases.

Automatic changelog:

Read more

Dialogic 1.5 - the last in the 1.x era?

01 Aug 17:57
Compare
Choose a tag to compare

Dialogic 1.5 is here - with a major performance boost

While work on the 2.0 version is going steadily (still hoping for a beta soon), many people are still using dialogic 1 in godot 3.x. And some of these amazing people have been working on making dialogic 1 better then ever.

This release brings bug fixes, small additions and most importantly a major performance improvement! This means having many timelines and characters will no longer slow down the editor. Big thanks to @exelia-antonov and @zaknafean for all the work they've put in.

This is likely the last major release on the 1.x branch as core developers have moved to godot 4 and dialogic 2 (on the main branch). But small fixes and improvements will likely keep coming in, so who knows?

As always, feel free to get in touch with us here or on discord.

What's Changed

New Contributors

Full Changelog: 1.4.5...v1.5