Search Unity

Dialoguer - A Dialogue Creator Tool For Unity

Discussion in 'Assets and Asset Store' started by tonycoculuzzi, Mar 22, 2013.

  1. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    Update Dec 18, 2014: Lately I've been working with Studio MDHR on their upcoming title, Cuphead. This is a large project and it's taking all of my attention right now. Rest assured though, when Cuphead is finished, I'll be dedicating all of my time back to Dialoguer in order to give it the much needed re-haul I've been talking about, as well as adding examples for the new Unity GUI system. This update is going to be huge, and I have big plans for it! I am still 100% supporting Dialoguer, so send me an email at tonycoculuzzi@gmail.com if you need help or have any questions, or post here on the forum and I will help you as soon as I can!

    This is Dialoguer, a dialogue creation and management tool that lets you visually create branched and dynamic dialogue for your game and play them back at runtime. It allows you to create dialogues and conversations similar to those of Mass Effect, and Final Fantasy.

    Dialoguer provides you with:
    - An editor to create branched, dynamic dialogues
    - A playback engine with a very easy skinning API, supporting all major UI solutions (the new Unity GUI, the old Unity GUI, NGUI, Daikon Forge, etc.)

    Links:
    Asset Store Link
    Official Website
    Documentation
    Videos
    Images







    Dialogue Editor
    As you can see, Dialoguer is a visual node-based editor for creating dialogue objects, which can be used in your game. These objects can then be accessed through a dialogue manager, which handles progression of the dialogue object, firing events which you can listen to in order to display the dialogue on screen.

    Using Dialoguer
    Dialoguer does NOT provide you with the in-game gui. Instead, it gives you access to a number of events that allow you to quickly throw together your own dialogue gui (using Unity GUI, NGUI, etc. It's meant to be versatile and extensible) which will handle these events accordingly, and display/hide/wait based on what type of node or page is currently being shown/processed. Each event will return the text and metadata for the dialogue, which you can then easily handle on your end to create an in-game dialogue GUI that looks and acts however you want it to.

    Dialoguer Variable System
    Dialoguer also contains a visual Variable editor, used for creating global and local variables, which you can use specifically in your dialogues, or in your game.

    Global variables are accessible in dialogues, and in-game, so you can change them with logic outside the dialogue editor, and allow them to be effected by in-game events. (Got an item, triggered an event) These are accessible by every dialogue.

    Local variables however are specific to their dialogue, and can't be accessed outside of them. These are used for per-dialogue conditions (how many times you've picked this option, an answer you've chosen for that specific dialogue's question, etc)

    $Variable-Editor.png


    Dialoguer has the following nodes that you can use in your dialogue:
    • Text Node - Used for showing a block of text
    • Branched Text Node - Used for showing a block of text, with associated selectable choices
    • Wait Node - Waits a number of seconds or frames before continuing (optionally close the current window and open another when finished waiting)
    • Set Variable Node - Set a local or global variable (Dialoguer variable system)
    • Conditional Node - Checks a local or global variable (Dialoguer variable system) and progresses to a branch accordingly
    • Send Message Node - Send a GameObject.SendMessage message to the stage, making is super easy to call events on stage, play animations, etc.

    Every Text Node and Branched Text Node also has an advanced mode which gives you access to more fields, such as:
    • Theme - allows you to choose a theme for the current window, allowing you to use multiple dialogue GUI's that you've created (dialogue, cinematics, "you've got an item", etc)
    • Name - allows you to associate a name with that specific page of dialogue
    • Portrait - allows you to associate a portrait or avatar with that specific page of dialogue
    • Metadata - allows you to associate any other data with that page of dialogue, allowing you to add to the dialogue system however you see fit
    • Audio - allows you to play audio with that page of dialogue, with an added audioDelay property
    • Window Rect - allows you to choose a specific position and size for that dialogue to be displayed at

    Current Features
    • Dialogue Editor tool to create your dialogues visually
    • Dialoguer class that will allow you an easy way to call, manage and progress your dialogues, firing events that you can listen/react to.
    • Local and Global Variables manager
    • Exports to an XML file, which can be changed/backed up/copied easily and reloaded
    • Parsed string parameters - The ability to display global Dialoguer variables in the text
      (using html-like syntax. <gb>0</gb> = Global Boolean at id 0)

    Future Planned Features
    • UI rehaul, including zooming and selecting multiple nodes
    • PlayMaker support. This has been requested by a lot of people, so I'm doing it.
    • Importing of other story-engine files (Twine, Articy Draft, etc)
    • Localization (Though currently it is very easy to display localized text with the current system)
    • Dialoguer Debugger - A way to allow you to change local and global variables on the fly during Play mode

    There's a demo here: Dialoguer Themes/Skins Demo

    $Dialogue-Editor.png

    UPDATE: 21/02/2014
    Dialoguer is out now! You can get it on the Asset Store for $30.
    Here's a first look video, or check out the online documentation!
     
    Last edited: Dec 18, 2014
    alexanderameye likes this.
  2. davidsgallant

    davidsgallant

    Joined:
    Mar 22, 2013
    Posts:
    1
    Something like this would be a huge boon. As someone planning on making a whack of graphic adventures, I find dialogue to be pretty damned important. In my current Flash workflow, I accomplish a lot of this with XML. Having something in-editor could potentially make Unity a preferred engine choice for upcoming games.

    As someone who could REALLY rely on something like this, I'm afraid I can't give you good pricing advice (I'd really want it, but also really need it to be affordable).
     
  3. Toad

    Toad

    Joined:
    Aug 14, 2010
    Posts:
    298
    Looks good. Keeping an eye on this.
     
  4. kenlem

    kenlem

    Joined:
    Oct 16, 2008
    Posts:
    1,630
    Does this or will this support translation?
     
  5. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    I'm currently looking into a few ways to support localization. There are a few very good external solutions to this though, and they'd all be incredibly easy to implement with dialoguer.

    I'm going to add a "planned features" to the main post.



    That's why I want everyone to give me an idea on how much they would be willing to pay for something like this. More than anything want it to be accessible and used. I'd rather have a lot more people using it, and make less off of it.
     
    Last edited: Apr 13, 2013
  6. runner

    runner

    Joined:
    Jul 10, 2010
    Posts:
    865
    look's interesting, hmm $25 - $50 would be my sweet spot
     
  7. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    Good to hear, I'm thinking between $30 - $45!
     
  8. GPSchnyder

    GPSchnyder

    Joined:
    Mar 23, 2013
    Posts:
    45
    25-35$ if it features a manual that explains not only how to use it, but also how to set it up with UnityGui and NGui. And yeah, would be cool to have something like that.

    One Question, can you play a sound for the text? Like in Diablo, where you can read the text, but also listen to it?

    George
     
  9. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    That's the plan. Serialization of AudioClips is slightly iffy though, so I'm still figuring out a way to implement it.
     
    Last edited: Mar 23, 2013
  10. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    Hey, I am very interested in this!

    Will this require Unity Pro? or will it be compatible with unity free?
     
  11. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    It will be compatible with free.
     
  12. FinalBossLeo

    FinalBossLeo

    Joined:
    Feb 27, 2013
    Posts:
    2
    Really cool stuff! As for suggestions, we prefer JSON over XML since it's tidier... but not really a deal breaker.
     
  13. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    My original plan was to use json instead of xml, but Unity doesn't support importing .json files as TextAssets to my knowledge. I really would have preferred json as well, but XML just seemed like the viable choice for Unity serialization, for now.
     
  14. pneill

    pneill

    Joined:
    Jan 21, 2007
    Posts:
    207
    If you're going to allow it to import, a killer feature would be to add direct support for Articy Draft (available on steam for $85). That would give unity developers an end to end solution for story authoring to game rendering.
     
  15. GoldenGecko

    GoldenGecko

    Joined:
    Mar 26, 2013
    Posts:
    23
    When you say you are going to release this "soon", can you give some idea of what this means? - days, weeks, months??? Thanks. I would likely be a customer for this in a couple of weeks or so, if it's priced reasonably.
     
  16. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    A few weeks, a month tops. I'm aiming for April 19th. I'll include that in the original post.
     
    Last edited: Mar 26, 2013
  17. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    Just an update, Dialoguer is feature-complete! I'm going through a bunch of bug testing, and rethinking the visuals. Also, throwing together a few examples of the kind of dialogues you can create with it.
     
    Last edited: Mar 30, 2013
  18. GoldenGecko

    GoldenGecko

    Joined:
    Mar 26, 2013
    Posts:
    23
    Woohoo! I'm very much looking forward to seeing what this can do.
     
  19. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    Last edited: Feb 21, 2014
  20. PatrionDigital

    PatrionDigital

    Joined:
    Jul 25, 2012
    Posts:
    1
    This looks really awesome! I'll be watching for this in the Asset Store.
     
  21. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Hi, Nice project

    The system seems very extensible, also like the fact that it also support NGUI.

    A few questions:
    1. Does this work on Unity Flash?
    2. Possible to create Nodes in-game ?
     
  22. GPSchnyder

    GPSchnyder

    Joined:
    Mar 23, 2013
    Posts:
    45
    Wow, Demo looks awesome. Love the retro one, but the modern one even better. Can't wait. Any Idea of pricing and availability yet?
     
  23. GoldenGecko

    GoldenGecko

    Joined:
    Mar 26, 2013
    Posts:
    23
    Cool - looking forward to the release.
     
  24. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    It will work in Unity Flash, it should work on all platforms.

    Unfortunately, the nodes will not be in-game, they are all in-editor.



    I'm thinking $40, and it should be available on the 19th if everything goes according to plan.
     
    Last edited: Apr 8, 2013
  25. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Great to hear that it works for Flash.

    Regarding this feature: Exports to an XML file, which can be changed/backed up/copied easily and reloaded.
    Does this mean that during the game, we can load in an XML into Dialoguer.

    Can the following features be accessed in-game via code?

    1. Local and Global Variables manager
    2. Theme manager

    When you mentioned Feature complete, do they include the Future Planned Features.

    Importing of Twine files (http://www.gimcrackd.com/etc/src/)
    Localization (Though currently it is very easy to display localized text with the current system)
    Dialoguer Debugger - A way to allow you to change local and global variables on the fly during Play mode
     
    Last edited: Apr 8, 2013
  26. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Last edited: Apr 8, 2013
  27. GPSchnyder

    GPSchnyder

    Joined:
    Mar 23, 2013
    Posts:
    45
    40$? Well, looks worth it, but a little bit above my price range for a indie first game... Will it have the possibility to add audio to them? Then it's a steal...
     
  28. Chris-Worboys

    Chris-Worboys

    Joined:
    Apr 10, 2013
    Posts:
    3
    I have seriously been considering purchasing Articy Draft and integrating it with Dialoguer would most likely convince me to buy both of them! Looking forward to seeing more of Dialoguer soon.
     
  29. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    When initializing Dialoguer (Dialoguer.Init()) the XML file will be loaded from a directory in the Resources folder. You can replace/change this file however you see fit, as long as it's a Dialoguer-readable file. (Meaning as long as it fits Dialoguer's serialized format)

    You aren't able to access local variables in code, because they're meant to be used strictly as a per-dialogue property. However, global variables will be accessible through a series of GetGlobal[VariableType] and SetGlobal[VariableType] methods, allowing you to change them, however and whenever you want outside of dialogues, as well as inside of them.

    When I mentioned that it was Feature Complete, I did not mean the future planned features. Those will be coming later.



    There is an audio field that allows you to link audio clips to a string key. This can be used in your own custom DialogueGUI class in order to handle audio however you see fit.


    I haven't used Articy Draft, but if I get enough requests for this (and if it's feasible) then I'll definitely include it! do you know what kind of files it can export?
     
    Last edited: Apr 10, 2013
  30. pneill

    pneill

    Joined:
    Jan 21, 2007
    Posts:
    207
    Here is another vote for Articy Draft. It exports XML so all you need to do is transform that XML to a format that your package understands. :)
     
  31. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    Good to know then, I'll look into it. If it's feasible, I'll definitely plan for it.
     
  32. GoldenGecko

    GoldenGecko

    Joined:
    Mar 26, 2013
    Posts:
    23
    As far as I am concerned, Articy Draft would definitely be a post 1.0 implementation. Wouldn't like to see 1.0 held up for that functionality.
     
    Last edited: Apr 13, 2013
  33. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    Definitely. I'm working on some issues right now that are outside of my control, which is why it has been delayed. I'm trying to get it out there as soon as possible though!
     
  34. GPSchnyder

    GPSchnyder

    Joined:
    Mar 23, 2013
    Posts:
    45
    Any news about the release date? Would find use for Dialogue in a few weeks
     
  35. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    I'm hoping in a week or two, still sorting some things out.
     
  36. Copywright

    Copywright

    Joined:
    Apr 17, 2012
    Posts:
    21
    Anything new?
     
  37. RayWolf

    RayWolf

    Joined:
    Mar 24, 2012
    Posts:
    87
    I like this next gen example in the webplaydemo.

    Is it easy customizable, graphics and/or branches?

    regards,
    Ray
     
  38. BrUnO-XaVIeR

    BrUnO-XaVIeR

    Joined:
    Dec 6, 2010
    Posts:
    1,687
    Hmm...
    Do you know, both these mechanics on the samples... The Final Fantasy alike and the Mass Effect one...
    Those are patented dialog systems and devs can't really use them on their projects. Unless they don't care about being patent trolled, but I would not use those for myself.

    But, nice tool :)
     
  39. derkoi

    derkoi

    Joined:
    Jul 3, 2012
    Posts:
    2,260
    I'd buy it for around $30-$40. Looks good.
     
  40. Brainswitch

    Brainswitch

    Joined:
    Apr 24, 2013
    Posts:
    270
    I am not sure about the Final Fantasy one (what is so special about it, they where not first with it and it has been used in a lot of different games), but yeah Bioware patented the Mass Effect dialog system. But it is a very specific patent, just change it around a bit and you can use a similar system (I've seen similar systems being used in games before ME, esp. in Point'n'Click adventure games).
     
  41. pneill

    pneill

    Joined:
    Jan 21, 2007
    Posts:
    207
    Any update? This looks like a great addition to the asset store and I'm eager to learn more.
     
  42. Chris-Worboys

    Chris-Worboys

    Joined:
    Apr 10, 2013
    Posts:
    3
    I'm also wondering if you are any closer to release. Our game could really use a plugin like yours and we are getting very close to the point where we will start writing the majority of our dialogue. Please let us know what the current status is if you are able. Cheers!
     
  43. GPSchnyder

    GPSchnyder

    Joined:
    Mar 23, 2013
    Posts:
    45
    Ready to drop some money too...
     
  44. Apolyon6k

    Apolyon6k

    Joined:
    May 5, 2013
    Posts:
    32
    I am working on a simpler version of a dialogue editor that i will use inhouse for some point&click adventures and I had some issues with AudioClips as well. XML is a text format and on deserialization it always stops with an invalid cast error. How did you manage to overcome this? Any ideas?

    @GPSchnyder: Mag die Idee mit den Textadventures von deiner Website :) Mir graust bei sowas immer vor dem Parser...
     
    Last edited: May 24, 2013
  45. GoldenGecko

    GoldenGecko

    Joined:
    Mar 26, 2013
    Posts:
    23
    I'm still interested too - getting closer to when I'll be ready to use it...
     
  46. Toad

    Toad

    Joined:
    Aug 14, 2010
    Posts:
    298
    Any news on this?
     
  47. GPSchnyder

    GPSchnyder

    Joined:
    Mar 23, 2013
    Posts:
    45
    Jepp. Horror. Benutze aber ein Asset, dem muss ich nur noch bei bringen Informationen für das Layout pro Raum zu speichern...
     
  48. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    Sorry guys, I've been dealing with some issues surrounding Dialoguer lately. I can't go into too much detail due to the nature of the issues, but it's not fun, and I greatly apologize.

    I'm working as hard as I can to get this to you as soon as possible though. I just want to get it out there. Seeing your enthusiasm and interest really helps too, so I'll try my best to keep you all updated!


    The way I'm dealing with this right now is by including a text key in the audio field, which the user can use to link to audio with an audio system of their choice. That way, it doesn't limit the tool to core-specific audio, and acts much like the visual part of it which also allows the user complete freedom in how they choose to use it.
     
  49. no-weekend

    no-weekend

    Joined:
    Jun 7, 2013
    Posts:
    12
    You have another purchase right here, this is perfect for what I am working on.
    depending on features and usability $25-$50 price tag.

    Hope you get it all sorted.
     
  50. tonycoculuzzi

    tonycoculuzzi

    Joined:
    Jun 2, 2011
    Posts:
    301
    Good to hear, thanks for the vote of confidence! :)