DUNILOG - dialog engine

Hi all,
I am happy to announce that DUNILOG v1.7.0 is available in the asset store.

Description:
DUNILOG is a graphical node based dialog engine. It can handle text logic for simple things like presentations and even better highly complex conversation logic used in advanced games like Fallout, Mass Effect, Zelda, Final Fantasy and so on. Read on to see what DUNILOG can do for you.

Node based editor:
The editor contains a rich set of features to make your work easier when you have to handle a big project. You can zoom, move and focus in the node view just by the mouse. You can also split up your story in different scenes to get a better view on it. The project files are stored as xml to make editing and backing them up simpler.

Editor test environment:
All the conversations and logic can be tested in an editor test environment to separate the author work from the game creation process. This makes your workflow faster than testing it all the time in the game. One of the key features here is the possibility to make changes during run time.

The in game UI:
DUNILOG comes with an example ingame UI with a lot of features (alignment, skin, proportions). But also custom UI with any system (Unity GUI, 3D GUI, NGUI, etc.) is simple to create.

DUGManager:
Just one click and the editor exports all necessary features in one self containing prefab that does the whole job for you. Drop it into your scene and press play.
It follows the MVC pattern, a player (see in game ui), a controller (the interface to the engine features) and the data container.

Localization:
That is a quick task - export a csv file, translate and import it again. Done.
You can also do this in the node editor if you want to. All languages are testable in the editor and the test environment.

Variables:
DUNILOG can not just handle normal text nodes, it also comes with the possibility to handle variable logic like math operations and conditions. The variables can store all kind of information for example scores, names, counters, bools etc…
Variables also can be used to store visual objects like collected items which should be displayed in some way.

Event System:
There are many events you can hook into to get all informations about the current status of your story. So you are totally free to react to whatever change in the conversation (like a decision was selected, a decision was taken x times, etc.). The events always contain an object which holds all necessary data and variables to work with.

You are no coder?
Perfect, all of this cool features are completely accessible without a line of code. The DUGManager contains a list with all nodes and events you wanna hook into to spawn prefabs, sounds, script and so on. The UI is customisable (see in game ui). And the complex conversation logic is done visibly in the node editor without any coding.

Scriptable nodes and variables:
There is a in text scripting language which can do a lot of cool things like use random lists of words. An example: (Hi, Hello, Good morning, Good evening) so each time you visit the node it will say something else.

The API:
Everything in there is (I think) pretty straightforward to use. It contains all you need to query data, catch events, build players, inject data and so on. Also a function set to save and load the inner state of your story, which is not given by the most dialog engines. Also the whole code runs with an own prefix to not interfere with any other code and extensions.

Example project:
DUNILOG is shipped with an example project to see how to use it in a small game. Hope this will get you started very fast.

Any questions?
Please let me know if you have any kind of question? Especially feature requests are totally welcome to make DUNILOG even better and everybody happy.

URL:
1.) Download

2.) A demo project I made up in less than one hour:
http://kray-c.net/unity/DUNILOG/ExampleProject/
3.) Some basic docu for the beginning
http://kray-c.net/unity/DUNILOG/Doc/
4.) The work in progress thread:
http://forum.unity3d.com/threads/177489-DUNILOG-quot-dialog-engine-quot-needs-testers

Attention this video and images are very old!
I will update them soon.

Video:
First tutorial video by my team mate Dan Fury

Images:

The editor:

The example project:

Localization:

Testing mode:

The editor + example project

Attention this video and images are very old!
I will update them soon.

Looks nice - a few questions:

  1. Is is possible to specify the location of the Speaking actor? For example - above or behind the dialog?
  2. Can you change the image for the speaker? (For example, to show emotion)
  3. Can you have multiple Speaker images at one time? (showing both parties - ex: http://www.rpgland.com/content/media/2009/10/luminous3eyes01.jpg )
  4. Can dialogs be programatically created?

Thanks

Hi Jaimi,

1. Is is possible to specify the location of the Speaking actor? For example - above or behind the dialog?
DUNILOG creates a prefab for you which has a “Player” component which can be completely customized.
2. Can you change the image for the speaker? (For example, to show emotion)
One possibility would be to create the actor emotion in the actor inspector and pick the right one for your node.
Or create a prefab for the node with the right images in it (actor and listener) and DUNILOG will do the rest.
3. Can you have multiple Speaker images at one time? (showing both parties - ex: http://www.rpgland.com/content/media/2009/10/luminous3eyes01.jpg )
Same answer as 2.
4. Can dialogs be programatically created?
Would be possible all classes are available - but DUNILOG was meant to do this for you in a node based form :wink:

Also if you have any special needs I would be happy to help out with examples and code snippets if needed. Because I really want to grow DUNILOG in direction of my users. The main thing DUNILOG takes care about is the dialog logic and how to hook this up as flexible as possible to your graphical needs.

Cool - I’ll pick it up this afternoon.

The reason I’m asking for the programmatic access is because 95% of dialogs will be 1 or 2 liners with a simple “OK”, or maybe a “yes/no” type answer. that stuff can all be stored in a database. :slight_smile:

No, problem if you need a data base connection I can possibly help out with an extension of DUNILOG.
Just let me know what you need.
The editor is working with xml so you can use a DB to XML conversion.
Just drop mit a private notification if I can support you.

Does the package come with source code? Is there any documentation we could have a look at before making a purchasing decision?

In the moment the Package comes as two dlls. I can generate docu for you if you want to take a more precise look at it.
There is one editor dll and one for editor and frontend datamodel dll.
If you want to talk about that just drop me a PM.

In this first release is only a readme because it is so simple to use but I am already working on a doxygen documentation with the Basic API plus all special examples and modifications which are possible.

Please release source code with it. It’s very hard to work with DLL version of components - especially if there are conflicts, etc. Plus, about 80% of the time, the authors abandon their work after sales slow down. :frowning: We need to have source code for it, so we can be sure it works in the next version, or so we can fix bugs if you are not able. It’s in my cart waiting to buy.

I agree with every point here.

Just to explain myself in this point…
I released it as dlls because I am still under heavy development of new features. And people who use my tool get it for a very cheap price and participate in the further development. This will help all users of DUNILOG to get the best features.

Version 1.0.1 is online.
DUNILOG is now Unity 3.5 compatible (before 4 only)
Bugfix for export in windows file system

I have purchased this based on your promise to release the source. Thanks!

So this was my PM to you. Just to keep the discussion complete.
Please provide your email, then I will send you the current status.

Could this be used to create something like a Fallout Dialog system for NPCs?

Hi Northridge,
I never played it but yes same same I think.
DUNILOG get shipped exactly with this kind of demo ui.
DUNILOG is very customizable so you could also go for speech bubble 3D ui, if you want to.
When I can provide you any infos let me know.

Hi all,
a new version 1.1.0 will pop up soon in the assetstore with these cool new workflow features:

  • You can now change nodes while you are in the testmode
  • Right click a node to start testing from this node on
  • Right click a node to duplicate it
  • Bugfix for unity 4.1 when window is behind a menu button

Hope this will make you more productive :wink:

I am very impressed with your product, and look forward to seeing some youtube tutorials, as I am trying to work full-time, make a game singlehanded, etc I am very busy.

so it is very dificult for me to try and test things figuring out things for myself, also I am trying to learn Playmaker. and that takes a lot of my time.

I am looking for a quick way to make dialogue not necessarily for quest but random information gathering as it seems this product would excel at.

please keep up the good work, as I am really liking what I see so far.

let me know when it is ready with documentation and tutorials. if the price is right i will be among the first to purchase.

Hi, I’m the other half of the team of DUNILOG and here is the first tutorial to get you started.
We will add more tutorials and explain all the different features soon, but we wanted to get this mighty tool in your hands as soon as possible to get your feedback.
At the moment DUNILOG is extremely cheap, because we are relatively early in the development process and we need your feedback and project implementations to make it as good as it can be. Every game behaves differently and has different needs for dialogue implementation and we want to make as many people happy with it as possible.

With this tutorial I show you the basic features without using any scripts, so that pretty much any Unity user can handle it.

If you can code, then this tutorial is probably not for you. We will adress the possibilities with programming in an upcoming tutorial.

Here the new features:

  • Multi window moving and editing by right click
  • Middle mouse button or ctrl+N to add nodes
  • Backbutton for test environment and live player

Is there a way to manage several conversations?
If I build a larger scene like in any kind of RPG the player will encounter several NPCs.
Lets say there are 10-30 characters with possible conversations, if this is all in one file I might loose overview.

Anyway, awesome tool!