Search Unity

Dialogical - best dialogue system.

Discussion in 'Assets and Asset Store' started by Gru, Dec 4, 2015.

  1. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Hi Developers,

    my new dialogue system for Unity has just been approved by the Asset Store.

    http://u3d.as/kY0

    Here is a short synopsis of what it is:

    Purpose:

    Dialogical was created to be best-in-class, lightweight, intuitive, extensible, applicable to any kind of project - dialogue management solution for your game. Modern looking, polished and fast, this extension was just what you need if your game features complex branching dialogue between characters. From a visual novel to a complex RPG, we got you covered.

    It wasn’t designed to create the GUI for you, but to allow you to integrate it with any kind of GUI solution out there. It also wasn’t designed to provide any kind of visual coding support, but to allow your code to plug in at the right places. This is in line with the general philosophy of extensibility and adaptability, and thus allows you to use any kind of complex logic or variable type. This dialogue system is totally abstracted from the UI implementation and your variables and logic - it just feeds data through events.

    Features:
    + Intuitive Node System: quick, slick and polished.
    + Nodes have their text, audio, a set of responses and series of events that call your code in a specific way.
    + Native Multilanguage Support (no automatic translation).
    + “Choice Node” that lets your code (or random choice) decide which node should go next.
    + Unique “Minimap“ node view for maximum convenience with large number of nodes.
    + Ability to hide options (your runtime code decides).
    + Specially designed Event System that allows you to not only call events on Dialogue steps, but call unique node-specific events for every option on every node. Those events allow you to do these things from your code side:
    - Access and set any type of variable, and not just base types.
    - Create any kind of logic, and later act on that logic with a Choice Node.
    - Not clutter the canvas with visual scripting or variables management.
    - Integrate Dialogical with any kind of Inventory and Quest System.​
    + Ability to display your variables in dialogue text or options.
    + Timed Events to allow Automatic choosing of a certain option at a certain time.
    + Ability to go back in dialogue; multiple nodes can to lead to the same node.
    + Provided working Examples with detailed comments of:
    - Implementation of Old Unity GUI
    * Basic Scene: how it all works.
    * Basic Scene with events: where and how to call events.
    * Basic Scene Multilanguage
    * Choice Node Example
    * Portrait Switching Example for dialogue with multiple NPCs
    * Example showing Parameters from code.
    * Example with timed option auto-choice.
    * Example with choosing a random node with random delay (e.g. for ambient sounds).​
    - Implementation with New Unity GUI
    * Basic Example.​
    + Saves to Scriptable Object format, which is a standard “Unity way” and allows editing even in Play mode. Small asset footprint.
    + Automatic node resize for maximum visibility.
    + Dialogue Tree validation.
    + Unity Rich text support.
    + Automatic and manual Saving.
    + Works with all platforms, and both Unity Personal and Professional.
    + Full Source. Code is tidy and well commented (C#).
    + A detailed and comprehensive manual/tutorial.

    New in v1.1:
    + Updated to work with unityserializer-ng, which allows saving dialogues mid-conversation if you are already using this solution to save your game.

    How is it different and unique:
    - You can do anything you could do in any other kind of dialogue system, and more.
    - Native Multi-language interface (no auto translations).
    - Minimap view for super-quick navigation with large number of nodes.
    - Performs well.
    - Event based, and not variable based system your code plugs into. No visual scripting or variable management on the canvas. All logic is in your methods that plug in specific places.
    - GUI is provided only as examples. It is meant to plug into your unique GUI and not cookie-cutter anything. Examples with legacy GUI and New Unity GUI, and it would be possible to integrate it with any kind of GUI.

    http://u3d.as/kY0

    If you have any questions or issues, email me at dialogical[dot]help{at}ennoble-studios.com or post here.

















    http://u3d.as/kY0
     
    Last edited: Aug 14, 2016
    theANMATOR2b likes this.
  2. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Bump.
     
  3. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Bump.
     
  4. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Bump.
     
  5. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Bump.
     
  6. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    New in v1.1:
    + Updated to work with unityserializer-ng, which allows saving dialogues mid-conversation if you are already using this solution to save your game.
     
  7. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Version v1.2 submitted. New price will be 28.99. Read why on my blog.
     
  8. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Dialogical is now a 5-star asset. Thanks customers and everyone else go-get it! ★★★★★
     
  9. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Dialogical 1.3 is in development. When the new version is submitted, the price will raise again. Get it now...
     
  10. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    What customers say: "Excellent piece of kit for a very modest price."
     
  11. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Dialogical will soon be approved to version v1.3.

    The price will be raised again, so get it now.

    This is another major release that is this time less focused on a single giant feature and more on a collection of medium and smaller features.
    • Added grayed out options, in addition to existing disabled options. See section “Working with Node Options & Node Option’s Events”.
    • UnityLegacyGUIBasic script has been updated to support disabled options.
    • All the scripts previously used only for demonstration and test scenes have been separated to a namespace Dialogical.TestEventHandlers to minimize “namespace pollution”. In addition, these test scripts have been renamed corresponding to their function.
    • Parameter sets no longer require casting in handler methods. See section “Technique 4: Using Parameter Sets” for details.
    • Added “Search All Dialogues” menu option, see section with the same name for details.
    • Corrected a small bug where window wouldn’t close if some other window was open.
    • Added “Search the open dialogue tree” option, see a separate section for details.
    • Added “Once per conversation” option parameter, see dialogue node options section for more info.
    • Slightly tweaked fonts and colors to further aid readability.
    • Added “Long range mode” option, see section with the same name for details.
    • Added “Reference Node”, see section with same name for details.
    • Corrected bug where newer example scenes wouldn’t load in some earlier versions of Unity.
    The list is quite large, but most important points are:
    • Grayed out options, by user request, have been integrated. Previously grayed out options would be achieved by modifying source files, but this is no longer required. Now we support both disabled and grayed out options.
    • Search options. This is the feature I would personally want in an asset of this type and there are now 2 search options, both for a specific purpose and optimized so the navigation is very convenient.
    • “Once per conversation” node option parameter, something that would previously require considerable "housekeeping" on the user side has now been integrated as one click in the interface.
    • “Long range mode” is something that users of especially large conversation trees will be able to appreciate. The connecting of even very distant nodes should now be very convenient and quick.
    • “Reference Node”is the second most brilliant feature of Dialogical. It removes so much visual clutter and creates neat trees that always seem to flow from left to right.
    Overall, I would like to impress upon you how much care and work goes into assets like this. You, as asset creator, have to test on various versions of Unity, consider what happens with every feature when play mode is entered/exited, Unity is closed, what happens when the project is built, how to handle existing configurations from previous versions where customers have projects in progress and want to minimize upgrade hassles with new versions, and never introduce any breaking changes. Overall it's a lot of thought that mostly goes towards creating a respectable framework of high quality, while at the same time providing maximum flexibility for potential future features. Problems faced with every framework are faced here, all the way from interface button positions, to saved data at existing users, to existing variable names. There are inherent dilemmas when to introduce breaking changes for the sake of refactoring. Dialogical v1.3 does not introduce any such changes, in fact all the features "just work" with existing projects.
     
  12. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Bump for version v1.3.
     
  13. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
  14. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,335
    A few questions:
    1. How is localization done?
    2. Is there import/export to .csv or other text format?
    3. How are conditions and effects shown and accessed within my scripts?
    4. Is there scrollwheel zoom?
     
  15. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Hi,

    the localization is selected by a dropdown in the lower left corner, where there is also a language manager window. By changing the dropdown the all the text in the nodes changes to the selected language, also the audio clips. There is currently no .csv import/export.
    The handling methods such as conditions and effects are the methods created by users, and the script(s) that contain them is attached to the same GO that has the dialogue script. There is no automatic code generation or anything like that. The method names are then pasted into the input field on the dialogue node and there are 2 ways to send parameters. In general the dialogue tree can be validated to prove the signatures match and other things. There are static properties that are set by users in the handling methods to signal specific effects, such as the node being disabled or grayed out or other things.
    There is no scroll wheel zoom on the main window and none is planned for technical reasons. For this use case, minimap exists and it has zoom in/out, best fit option, and it is also possible to pan the view quickly by dragging the view box of the minimap. It is shown in a picture above.

    Let me know if you have further questions.
     
  16. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,335
    No .csv, any plan?
    Localization need to be entered in the graph or is there a text file asset that's generated as you fill in the boxes?
    Regarding condition/effect, any example of how this is done?
     
  17. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    The localization should be entered in the graph, the same way for all languages. The dropdown just selects which language is shown in the graph currently. The nodes and the view stay the same, just the text changes. The .csv option can be done, but it depends on the interest and number of licences. Feel free to PM me about this. Also, it takes 2 weeks at least for Unity to verify any change submitted to any asset.

    There is an extensive manual, the same one with the package available here: http://ennoble-studios.com/sirgru/Dialogical/User Manual.pdf and the section Working with Node Options & Node Option’s Events should be relevant. The procedure is generally something like this:
    1) Attach the Dialogue script to a GO.
    2) Create another script that will hold the event handlers for this conversation and attach it to the same GO.
    3) Create the method that will handle the conversation event there. The signature will depend if there are parameters and this is explained in detail in the manual.
    4) Paste the method name in the dialogue graph node and enter the parameters if required.
    5) To make the dialogue option not shown, for example, set Dialogue.lastCheckPassed = false; in the handling method.
     
    Last edited: Oct 14, 2016
  18. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Dialogical is now on sale!

    Get it quick!
     
  19. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Refresh: Sale is still active.
     
  20. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Last edited: Nov 28, 2016
  21. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
  22. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Now on a new sale. Get it while it's hot.
     
  23. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    New version has been submitted for review. This version brings CSV Import/Export options.
    Once the new version is approved, price will go up. Get it now.

    http://u3d.as/kY0
     
    Last edited: Jul 26, 2017
  24. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
  25. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
  26. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    More Dialogical greatness. Speed up your development in a smart, flexible way.
     
  27. Gru

    Gru

    Joined:
    Dec 23, 2012
    Posts:
    142
    Check out the current version. Assets are cheap, time is expensive.