Search Unity

Quest and Dialog editor for games developers

Discussion in 'Formats & External Tools' started by Cobus, Mar 14, 2013.

  1. Cobus

    Cobus

    Joined:
    Mar 14, 2013
    Posts:
    11
    Hi,

    For those looking for a Quest and Dialog editor ? , we built this great tool that has a user interface that makes the design and managing of all your quest and dialog elements much faster.

    " Parley is a professional Quest and Dialog editor for games developers. Built with copy writers in mind. It uses a simple way of integrating quest and dialog events. Leaving you to writing dialog and build your Unity3D game "

    http://www.celestial-games.com/parley.html

    The full user manual as well as a tutorial video is viewable on the site so that potential users can see the ease of use to generate complex quest and dialog trees that games require.

    The simple GUI of the tool just help to make time spent productive and not distract from the tasks at hand.

    It does not even require a unity license, meaning that your copywriter/game designer can be external, working on the dialog and quest elements.

    Cheers
    Cobus
     
  2. Marble

    Marble

    Joined:
    Aug 29, 2005
    Posts:
    1,268
    Looks very interesting. I'll be watching avidly for more tutorials to get a better sense of the tool's strengths and limitations. I'm particularly interested in the following, which I could not deduce from the manual or video:

    1) The API is really important: how much script control do developers have over displaying and choosing branches in game?

    2) How easy is it to serialize the state of a conversation (quest events)?

    3) Is it possible to have numerical requirements? For example, a dialog branch that only becomes available if the player has more than 100 gold?

    4) Is it possible to pass a parameter with PlayerEvents? Can you e.g. award the player +5 skill in a certain ability?

    5) What about text replacement (for ex: including the player's name in a dialogue)? I see that you have some form of that for counting mushrooms in the video, but what about for arbitrary variables?

    6) Can there only be one root node for a dialogue? For example, what if I want different opening text for an NPC depending on whether the player married his sister, left her, or refused her advances? I like the second-level dialogue for characters that you have already spoken to, but it'd be nice if this was connected to a customizable condition.

    7) The editor is multiplatform?

    At $149, I would consider buying this for the excellent visual editor, but only if it met all my needs.
     
  3. Travis-Bulford

    Travis-Bulford

    Joined:
    Feb 14, 2013
    Posts:
    264
    Hi Marble,

    Thanks for the feedback. I will make sure to cover some of your questions in the tutorials to follow.

    In the mean time here are a few quick answers.

    The API is really simple and integrates in three ways to the engine.

    The first way is to fire of a quest event. This is a single line of code as show below.

    Code (csharp):
    1.             // The code below fires a Quest Event "Jump" into Parley
    2.             Parley.GetInstance().TriggerQuestEvent("Jump");
    3.  
    The 2nd way is to create Event listeners. These will respond to events creates by Parley or created as by an API call.

    Code (csharp):
    1.     void Start () {
    2.        
    3.         // Get the sigleton instance of PArley and call Add us a Listener. Paramter one is our gameObject, 2 is the QuestEvents name and the last
    4.         // is the message to send to this Object. (The message method can be in a different script on this GameObject)
    5.         Parley.GetInstance().AddTriggerListener(gameObject,"LearntAboutKnocking","ActivateBridgeBump");
    6.     }
    7.  
    The above example adds a listener to the event "LearntAboutKnocking" when that event happens the message "ActivateBridgeBump" is fired into the gameObject. One limitation at the moment is these are single event occurrence listeners. After the even has fired they are destroyed. You can of course add the listener back each time. One the road map is the ability to register as persistent.

    The third way is for the events to trigger Player events. Essentially the player code will get the broadcast message of the PlayerEvent by name. This currently doesn't support values just messages. In the road map is a value solution for these calls.

    We do not give the coders absolute control over the dialog tree. Or I would rather say we don't expect coders to need to have absolute control over the Dialog tree. Rather design your dialogs around QuestEvents and fire those into Parley, the tree changes will happen automatically. Alternatively you can swop out entire Dialog's for replacements ones on really significant events.

    I have to admit it was great to see this question. Its something we considered extremely important when we designed Parley. The full state of a scene's quests is stored in a single HashSet of strings.

    We do not currently implement a save or load for the set but we do allow the set to get extracted and replaced. This in effect will save and load the full state or Parley. You will however still be responsible to saving the world state that would have been effected and additionally all objects that should be listening to events must re-register after a load.
    Code (csharp):
    1.  
    2.     public HashSet<string> GetQuestEventSet(){
    3.         return questEventsSet;
    4.     }
    5.  
    6.     public void SetQuestEventSet(HashSet<string> questEventsSet){
    7.         this.questEventsSet=questEventsSet;
    8.     }
    9.  
    This is not currently possible, or that is to say its certainly not conveniently available. There is a feature in the road map, that will allow you to evaluate game variables as well as include and format them in dialog/quest strings.

    The short answer is yes, however there is a limitation right now. You can create a player event called Give5PointToSkillXYX and call it as a PlayerEvent. This will then call that specific method.

    However we are planning to extend that feature to allow parametrization. So you call the PlayerEvent

    Code (csharp):
    1. void GivePointsToSkillXYX(int howmany){
    2. }
    3.  
    4. // or
    5.  
    6. void Give5PointsToSkill(string skillname){
    7. }
    8.  
    We will only be supporting one parameter since we are using the SendMessage instruction.

    Yes this will always be the case. However there is a feature planned that will give you something similar to this. A Dialog is getting a SkipIfObvious flag. This will allow it to skip if there is only once choice from the dialog or none. Essentially meaning that the root Dialog would be skipped if only once Choice was available from it.

    Version 1.0.0 has only been released for PC. Mac and Linux versions are quite possible if there is a demand. I am expecting Mac to be the higher requirement.

    We will put up a road map so that you can clearly see when we plan to implement features you are interested in.

    The one large feature we currently working on is Translation. That is not to translate the interface (although we might have to consider that too) but rather to support multiple languages in the editor so you can switch from English to German and back on each screen updating the text.

    We will be putting a Trial or version of the product down to allow people to see that it suits there needs.
     
    Last edited: Mar 15, 2013
  4. Marble

    Marble

    Joined:
    Aug 29, 2005
    Posts:
    1,268
    It sounds like a very professional solution. Thanks for registering just to support it! I'll be eagerly following the progress of those planned features and await the release of a Mac version.
     
  5. roflcopter

    roflcopter

    Joined:
    Mar 20, 2013
    Posts:
    10
    Wow this looks fantastic, really close to what I am looking for. Is it possible to get a trial version, or another demo with the unity scripting and events in action? I really want to see how the dialogs look and feel in the actual game.
     
  6. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,215
    Hi everyone,

    Even better, a bucket load of features and polish has been added after some good user feedback.
    A DEMO!!! and a detailed dashboard that list the features with linked description of each item and a full user manual.

    http://www.celestial-games.com/parley.html

    Cheers
    Cobus
     
  7. Travis-Bulford

    Travis-Bulford

    Joined:
    Feb 14, 2013
    Posts:
    264
    Hi Rolfcopter,

    Just a heads up on the in game dialog's (You can see them if you right click in the sample game or left click when you close enough to the bird on the rock). The ones supplied with Parley are for the most part very basic. You can of course reskin them, our original expectation was more along the lines of you building your own replacements for your game.

    That having been said I can see now there might be a need for a few operational variations that can easily be re skinned and would fit more possible team needs. I will get started on a few enhancements to the Manual to assist those that want to build there own skins. As well as a few more interaction models for people to customize themselves.

    Would be curious to hear more on the interaction models that would suit you.

    Regards
    Travis
     
  8. Travis-Bulford

    Travis-Bulford

    Joined:
    Feb 14, 2013
    Posts:
    264
    The 1.0.1 Patch has a few enhancements as below.

    • Added the Yellow Pin icon on the top of anchor dialogs.
    • Added a number on bottom right of each Option and Objective showing its display order.
    • Now you can swap the order of all Options and Objectives right click dragging between them.
    • Dialog's available only under certain environmental conditions.
    • Add a confirm on exit if there are unsaved changes.
    • Added the fall through flag on Dialogs with only one option.
    • Create the default Conversation in a new Dialog.
    • Created a Free edition that is limited to 8 Conversations in a Dialog, 4 Options per Conversation and 5 Objectives Quest
    • Add save and Load scripts for Quests as well as Quest
    • Removed Level from Quests is made redundant by the Information system
    • Added a complete Save/Load set of functions and tools to the Parley Sample project.

    Additionally there is a free limited version to try.

    MAC version should be ready soon.
     
  9. xtremepman

    xtremepman

    Joined:
    Jul 18, 2012
    Posts:
    388
    Cool. Can u show us what the end result is in your video? I want to know how well it works before I download it!
     
  10. roflcopter

    roflcopter

    Joined:
    Mar 20, 2013
    Posts:
    10
    Awesome I will grab the free version and have a play around. Looks very impressive though, good job guys :)
     
  11. roflcopter

    roflcopter

    Joined:
    Mar 20, 2013
    Posts:
    10
    Hi guys,

    Had a bit of a play around with the tool. First off want to say that it is a great tool and something that I have been searching for for a while. Anyway, I was trying to implement my interaction structure and couldn't manage to do it. I was wondering if it was something I was missing or something that isn't in the product yet. For example:

    NPC - Commander Bob
    Welcome to the academy Player! Lets get started with your training.

    NPC - Private Smalls
    Don't listen to him, he doesn't know anything about the military. He was kicked out twice!

    NPC - Private Smalls
    Hey recruit, when did your mom drop you off?

    Player
    Um, I live by myself

    NPC - Commander Bob
    Shut up Smalls and get back to your duties...

    NPC - Commander Bob
    Anyway, lets get started. Do you have any questions?

    Option 1 - Who was that guy?

    Player
    He really has a big mouth on him!

    NPC - Commander Bob
    He is a nobody that likes to mess with recruits. (Back to start)

    Option 2 - Nah lets just do this.



    So in this scenario there is some banter between 2 characters and the player before you get to actually select an option. After you select option 1, the player could give some extended dialog relating to that option before the NPC says something back. Also if there is a lot of text one NPC is saying, that it can be broken down into smaller chunks that the player can click through rather than just a huge wall of text.

    Within the dialog itself I would like to have a portrait and title of the NPC that is talking so you know who is conducting this witty dialog.

    Is this the type of structure that is possible with the current Parley? Is it something you would consider building in to provide more flexibility on how the player interacts with the NPC's?

    Other than that it looks pretty good, would love to see more reward types like items, abilities or anything really, rather than just gold and XP, but I think you mentioned you were looked at adding that in so yeah.

    Thanks guys, let me know what you think
     
  12. Travis-Bulford

    Travis-Bulford

    Joined:
    Feb 14, 2013
    Posts:
    264
    Hi Roflcopter,

    Glad you found the solution easy to use, I remain a little concerned that it might be a disjointed experience for some, since it runs outside Unity.

    The situation you described above is something we have not considered. Well until we saw your question, now it seams like something we cant live without. We have done some preliminary designs here on how we would achieve a cross dialog conversation. Still a few frayed edges around the scripting in Unity aspect but we know how the design would work.

    Essentially we already planning to make it possible to show two or more conversations simultaneously. This means that you would be able to see how each ones events trigger changes to the other. As part of that enhancement we planning to make quests directly linkable to dialog for a simpler quest/dialog resolution. It would be only a small change in Parley to link conversations across character dialogs.

    The part where we have to link them in Unity so that the camera can switch and the conversation can actually pass from on GameObject to another is a little more tricky. It would be bad for example if the two GameObjects were places far apart the conversation would be a little odd. I am sure we can overcome that mind you just might end up with a little more footwork for you to handle when you assign the Dialogs to GameObjects.

    To Answer your 2nd questions about rewards. We are in the process of building a full "database" (its not the perfect word, but its close enough) This will allow you to assign various DataObjects are rewards to quests as well as send them to the player character via a command in general dialog. Some of these interactions are still in design.

    What will be changing sooner is the ability to send parameters to the PlayerEvents. So you could call a method on the player event with a string parameters.

    AddWeapon("LargeUnfriendlyGun")

    For example.

    The Data solution is still some way off but the parametrized functions are just around the corner.

    Right now we are working on the refactoring of the Gui so its easier to write your own and we will be supplying a few alternatives for different games as well as the parametrization. I expect the Duel dialog will be the priority that follows.

    Regards
    Travis
     
  13. roflcopter

    roflcopter

    Joined:
    Mar 20, 2013
    Posts:
    10
    That sounds really good, thank you so much for taking my ideas on board. Can't wait to see the next release :)
     
  14. Chanelf

    Chanelf

    Joined:
    Apr 4, 2013
    Posts:
    1
    Hey everyone

    Just to let you all know that version 1.1 of Parley is scheduled to be released this Friday 12/4/2013 We have a whole host of new features, some of which came from the ideas provided by all of you so thanks :D The new features are as follows:

    Version 1.1.0

    Parley Application
    - Made the selection of Dialogues table driven not Tabs and allowed multiple Dialogues to be seen at once.
    - Show the connections between Dialogues when multiple are selected
    - Create a FULL dialogue and move when CNTRL-SHIFT is pressed
    - Conversations can now return to conversations in another dialogue.
    - Options can now link to conversations in another dialogue.
    - Test Scene and Act names for validity before creating them.
    - Test Dialogue and Quest names for validity before creating them.
    - Table of Dialogues render the selected Dialogue in the same colour as the scene
    - Player functions now take parameters and allow multiple functions to be called at once on Dialogues
    - Player functions enhancements carried across to Quest and Objectives*

    Parley Scripts
    - Improvements to the Dialogue GUI split out a base class and implement a better Basic GUI
    - Add a character image to the Dialogue GUI
    - Fixed an error in the Save/Load for saving arrays that are null
    - Changed the order of Conversation Events and option active evaluation to better facilitate cross dialogue conversations.
    - BasicGui works with GUILayout now making it more flexible.
    - Quest GUI split into abstract and basic classes.*
    - QuestBasicGui works with GUILayout now making it more flexible.*

    If you have any questions let us know

    Regards Chanel
     
  15. S4G4N

    S4G4N

    Joined:
    Mar 13, 2013
    Posts:
    3,215
  16. roflcopter

    roflcopter

    Joined:
    Mar 20, 2013
    Posts:
    10
    Hi again,

    Just wondering if you have done any testing in Android and iOS? Are there any performance issues or things like that?

    Cheers
     
  17. Travis-Bulford

    Travis-Bulford

    Joined:
    Feb 14, 2013
    Posts:
    264
    Hi

    No we still need to test those platforms. We have designed with performance in mind. Some feature sets have been excluded to maintain performance.

    We do plan to test those platforms as soon as we can. I am more concerned with possabel compatability stuff then performance but these things often suprise.

    If you give the free version a spin on andriod and pick anything up we would be quick to assist.

    Regards
    Travis
     
  18. roflcopter

    roflcopter

    Joined:
    Mar 20, 2013
    Posts:
    10
    Thats good to hear, yeah i am targeting mobile devices mainly so always need to keep that in the back on my mind. Once I get onto android I will let you know if I have any issues.

    Also thanks for all the updates, I will definitely be picking up the package before the sale runs out :)
     
  19. Travis-Bulford

    Travis-Bulford

    Joined:
    Feb 14, 2013
    Posts:
    264
    I have a question for all the people interested in Parley.

    We have been considering moving the product into Unity. We are already able to launch it from within Unity but it remains a stand alone product.

    Do you guys see any benefit as end users to it been inside Unity as apposed to been an external tool? We torn between bring it into unity and leave it external as we see other uses with other products.

    Just would like to see what people perspective might be.

    Regards
    Travis
     
  20. Cobus

    Cobus

    Joined:
    Mar 14, 2013
    Posts:
    11
  21. gryff

    gryff

    Joined:
    Apr 17, 2012
    Posts:
    360
    As I am trying to build a scene that involves dialoq between two characters, I thought I would give Parley a try - but I have run into a problem.

    When I try to run Parley, I get the splash screen and then an error message:

    "Failed to create the JVM Reason: Not enough memory"

    I am running Windows XP with 4gb of RAM on an Intel I5 PC with 2GB on my video card.

    I suspect the problem may lie in the Parley.ini file, in particular this line:

    Virtual Machine Parameters=-Xms30:1:1200P -Xmx70:2:1200P

    But I have no idea how to fix this problem.

    Suggestions welcome as this program intrigues me.

    cheers, gryff :)
     
  22. Travis-Bulford

    Travis-Bulford

    Joined:
    Feb 14, 2013
    Posts:
    264
    Hello,

    We are running Parley on Win 7 with 2gig so you have more then enough memory. I assume you using the version downloadable from our web site? There is a new version built into Unity now (still using Java mind you, but I am confidant it will work better). Please email us at info@celestial-games.com and we will send you a download link for the new trail version.

    I am sure it will work. If also half the size to download.

    Regards
     
  23. harry76

    harry76

    Joined:
    May 14, 2014
    Posts:
    7
    When i try to open parley it says 'parley must be opened within unity' even though it is
     
  24. NicoSch

    NicoSch

    Joined:
    May 14, 2014
    Posts:
    7
    Hi harry76

    you can find the "Start editor" option in the Parley tab in unity (on the options bar where "File" and "Edit" are). Let me know if that works for you :)

    Edit: also hot key shortcut is shift + alt + p in the unity editor

    Regards
     
    Last edited: May 14, 2014
  25. waseem2bata

    waseem2bata

    Joined:
    Apr 17, 2014
    Posts:
    10
    hi I used it and its awesome and flexible and easy to use , but unfortunately I got this while I tried to build my game (
    Assets/Plugins/Parley Assets/Editor/ParleyMenu.cs(1,7): error CS0246: The type or namespace name `UnityEditor' could not be found. Are you missing a using directive or an assembly reference?
    )
    so anyone knows how to fix it asap ?

    and thanks :)
     
  26. Travis-Bulford

    Travis-Bulford

    Joined:
    Feb 14, 2013
    Posts:
    264
    Hi Waseem,

    Which version of Unity are you using? Normally anything in an Editor folder will not be included as part of the actual game build. Are you perhaps referencing that script from other code? That might cause the build process to try and include it in the final product.

    Travis
     
  27. jshrek

    jshrek

    Joined:
    Mar 30, 2013
    Posts:
    220
    Found Parley in the asset store and it looks interesting, however it has not been updated since Sept 2013.

    Is it still being developed and supported?

    Will it be updated for Unity 5?
     
  28. Travis-Bulford

    Travis-Bulford

    Joined:
    Feb 14, 2013
    Posts:
    264
    Hello jshrek,

    Yes it is been updated now we have been waiting for 4.6 to re-engineer the UI aspect. Those changes are been done now and we hope to have a release ready soon.

    Travis