Search Unity

Official support thread for the Unity Dialogue Engine Advanced

Discussion in 'Assets and Asset Store' started by MrDude, Aug 4, 2013.

  1. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    Still new to it, but looks like a great product ... but can confirm there is excellent email support as advertised!
     
    Last edited: Jun 4, 2015
  2. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    I just realized that it's been ages since I've reminded people of this little fact and thought it a good idea to refresh people's memories.

    Now, with the UDEA you can obviously design your dialogues in advance and in 99% of the cases that is what you will do. You can already customize your dialogues to take into account stuff like certain holiday dates and what not if you wanted to and adjust dialogue accordingly though, I must admit, that would complicate matters quite a bit, though.

    So the second option could come in quite handy... Unity's WWW class allows you to fetch text data from an online source and since dialogue scripts are saves as plaintext files, there is nothing preventing you from fetching your dialogues from your server every time and thus change your game's dialogue any time you want. Of course, the UDEA also has the option to save files locally so you could even do special promotions where people who do X activity are rewarded with a completely new script file. Just download it from the server and replace the current one with a single Save() function call... Personally, I would design them all in advance and just pick the relevant one at runtime BUT... should you want to do so, you can... What you could do is write the same dialogue but change the slang used by district or by character type (meak/warrior/pirate/ninja/monkey...) and just download the appropriate script from your server. Always use "personality" as the dialogue filename but download a different one from your server and get to modify it even after the game has shipped... What you do with that is up to you so be creative...

    But there also exists a third option. This one is either not very practical or it needs someone who is a bit more clever than me to figure a practical use for. The very same UDEA that displays your dialogues at runtime is also the very system that the editor uses to create the dialogues with in the first place and you can use it to generate custom dialogue scripts at runtime if you ever need to.

    For example, you could detect that it is Halloween and generate a custom holiday script for the NPCs and include some of the player's personal info like friend's names etc into the dialogues. Honestly, I don't know what good it would be but people more creative than me, I'm sure they can make it do some awesome stuff but what is cool about this is how super easy it is to actually generate the dialogue scripts.

    Most of my kits use CML so you should have had a lot of exposure to it already. Just use that to generate your custom dialogue scripts and when you are done, call save, then call StartDialogue on one of the existing dialogue prefabs and you are done... I have dug up the sample I used before to show you how to have a dialogue screen popup and have a character slide into view and tell you whenever a system exception was thrown during a code block.

    Instead of seeing an error message in the console or the game crashing, you can start a dialogue scene with a robot cat-girl sliding into view and not only tell you what the error was, but also throw in some perfect cliche anime stereotype attitude while doing so... Entirely runtime generated and only 30 lines of code for the class, functions and attitude... ;)

    Download the file and have a look. See if you can come up with some unique uses for generating code at runtime! :D

    Good luck!
    https://www.patreon.com/mybad?ty=c
     
    Last edited: Jun 9, 2015
    JBR-games likes this.
  3. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    Any info on When udea2 will be available ? Although i havent got a full understanding of udea yet, i already see Hugh potential and dont want to get too far into it when udea2 with ugui is what i really want to use.
    Thanks josh
     
  4. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Some of the people I gave the UGUI version to were complaining that some of the Unity content I included in the kit (especially the Ethan character) was giving them conflicts when they imported my kit into existing projects.

    So I swopped out Ethan and dropped in a new character that you will now get free with the kit. So I just have to update the dialogue image from Ethan to the new character and write the documentation. I will get to that this weekend and publish it then. Then it is just a matter of waiting and seeing how long Unity takes to approve it.

    So one graphic change and some extra documentation and it's ready to launch. I wanted to include a spiffy new visual editor also but that is gonna delay this for who knows how long so I am going to leave that out for now.

    Most of the interest in version 2 seems to be around the visual novel prefab so I added a bunch of extra functionality to that prefab and that needs documenting. There is always more that can be added but after it's been released and you guys started playing with it I will be relying on you to tell me what features the kit is missing and if it's not too specialized for your own title and actually something others might want I can then add that to the features list and add it in the updates...

    So yeah... almost here... :)
     
  5. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    Awesome thanks for the quick update.

    Im hoping for a similar shop system with ugui.
    Also maybe a little bit more info on setting up, quests with details /objectives. and stats of items /players /ai.

    Thanks josh
     
  6. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    ohhh.... you gotta go back a few posts and read this thread a little more carefully... there is some bad news in there for you....

    I created the shop to show people the system could be used for much more than just dialogues and created an extreme example to demonstrate. In version 2 I have removed the shop and the Actions HUD completely...

    The shop is gone for good but the Actions HUD you can either buy the UGUI version on the store or download the free OnGUI version from my website. I plan on introducing a UGUI shop system later on as part of my market place add-on for the Wordpress kits but that is a long way off still

    the setting up and showing of stats etc, if it's not in the demos, just contact me and I'll help you out. Just mention what is unclear and we take it from there. :)
     
  7. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    Will .txt files from version 1 work with version 2 still ? So the major change i would see for version 2 is ugui supported chat boxes basically.

    Well feature wise, ill vote for a simple shop system.. :)
     
  8. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Shop request noted.

    As stated a few times before, the Keys system has received a major upgrade and the very reason why I am releasing this as a second product and not just updating the UDEA with the new features is because the .txt files are not compatible. I've explained the differences in quite a lot of detail a few times already, starting with the thread in which I posted the change log vor version 2. If you don't want to read everything in this thread, just look for the one with the massive quoted section and read THAT post to fully understand why they are not compatible.

    Having said that, for one of the guys running the UDEA2 already, I managed to write him a sort of bridge function... It allows you to at least force your current scripts to work. It does mean that existing scriots loose out on all the good stuff but at least you don't have to redo them so if that is an issue, let me know and I will send you that email I sent him and explain how to make it work...

    Alternatively, contact me via my website and provide your UDEA invoice number and ask me for version 2. I will gladly give you a copy of the beta version as it stands and you can have the udea2 today, without having to upgrade. Like I said, the differences between the beta and the final product is a different main character, more documentation and extra functions added to the visual novel prefab's script. All the important stuff like the UGUI displays and the new version of the UDEA is ready and up and running. If you want the free beta, just go to my website and ask :)
     
  9. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Good news. I have finally completed the UDEA2 to a release worthy system. There is still some stuff I want to add but I think I'd rather hear from you first what you want before I waste more time on adding stuff you don't want.

    Some new features that got added recently:
    1. In the visual novel prefab, you can now set the size of the panels on each turn
    2. You can also specify mid dialogue the target location when sliding into view (in case you swop out human for flying characters etc)
    3. You can now specify a tinting color and opacity to apply to the non-speaking party. By default it is a gray with full alpha. 80% looked good on small screens but horrible at larger screen sizes
    4. I converted the visual novel prefab for use during normal 3D scenes also :D

    I particularly like this last one! :)
    I took the normal UDEA and turned it into a visual novel kit by just building a prefab, then I expanded on that prefab to make something useful for RPGs :D ...and this is all the code it took to do so:
    Code (csharp):
    1. using UnityEngine;
    2. using System.Collections;
    3. using MBS;
    4.  
    5. public class VisualNovelIn3D : UDEADialogueStarter {
    6.  
    7.     override public void StartDialogueSystem(Canvas canvas)
    8.     {
    9.         base.StartDialogueSystem(canvas);
    10.         (open_dialogue as UDEAGraphicNovel).show_background = false;
    11.         (open_dialogue as UDEAGraphicNovel).BroadcastToSelf = true;
    12.     }
    13. }
    Okay, now that the good news is out of the way... now for the bad news... I worked on the it in a later version of Unity than I had realized and when I tried to open it in 5.0 I found that it was completely and utterly destroyed. As such I am submitting it using the latest version of Unity as the minimum requirement. Sorry for that... 5.1.2 minimum. Don't hate me... :(

    I am just making the graphics for the asset store and then I can publish. In the mean time, enjoy these screenshots...
    Screen Shot 2015-07-26 at 3.21.06 PM.jpg Screen Shot 2015-07-26 at 3.16.16 PM.jpg
     
  10. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    version 2 ftw
     
  11. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    LOL. What an awesome response! :D lol

    Anyway, the good news keeps on coming... Since the current version of the UDEA will be removed from sale automatically as soon as the UDEA2 is released (current owners can still access it) I have decided to do one final promotion...

    As I said before, owners of the original UDE can upgrade to the UDEA2 for $30 and owners of the UDEA can upgrade for only $10. Well, between now and the release of the UDEA2 I have dropped the price of the UDEA by $15. The new price of the UDEA is $20 from now until the product is removed from sale... so basically anywhere from 3 to 10 days...

    Anyone who doesn't have the UDEA yet can now grab themselves a bargain if they don't plan to upgrade and if they do, they still save $20 by buying this version while they can. One final promotion... :D

    Screen Shot 2015-07-27 at 12.09.45 AM copy.jpg
     
    Last edited: Jul 30, 2015
  12. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    As you can see from the logo above, since the original UDEA will no longer be available to new customers (and for that matter the original UDE from 2008 also) I have decided to keep the name UDEA and not suffix the 2 apart from in the product name on the store. I was also toying with the the notion of removing the Advanced part from the name completely and reverting back to the simpler, original name of just UDE... I fear the advanced part might scare people off...

    I would actually like to do that... But to avoid confusion and instead of such a boring name as UDEA2... I was thinking of calling this new version: UDEMA: Unity Dialogue Engine More Advanced :D

    Just joking. But seriously, though, if I were to rename this kit to complete the rebranding and new look and new everything, what do you think would be a good name? Maybe even just "The Dialogue Engine" ? What do you think?

    Any ideas?
     
  13. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    Didn't you once say u would keep the original version going so users wouldn't have to purchase ver 2?
    Or am i confused again (possible!)
     
    Last edited: Jul 30, 2015
  14. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    I have said this repeatedly and really do hope this is the last time I need to repeat myself. Upgrading to the new version is optional. Version 1 isn't suddenly going to stop working just because version 2 is around. Everyone who has version 1 can continue to use it (and download it from the store). NEW customers won't see it in the store and will have to buy version 2 if they want it. Customers who DO choose to upgrade will have both versions. Got it?

    Version 1 is an excellent product. Version 2 is fantastic. So pick for yourself wether you are most happy with excellent or fantastic and use THAT version :D Customer support for both versions will continue as always.

    Full transparency here: I haven't updated this kit in a very long time because apart from a graphical editor I could think of nothing else to add to the kit. It did everything it was supposed to and then so much extra that I could fill a book with it. For example, I am currently working on a project for a client and using version 1 since it was in the project and he doesn't need any of the inclided guis of either kit, but custom ones instead. In this instance, the UDEA is used as an encyclopedia for discovered enemy characters acting both as an indicator of which ones were encountered as well as saving all relevant info to display the enemy and it's stats via flash clips...

    Nowhere in the udea description does it say it can do that and yet I didn't have to change a single line of code to start using the udea as a monster compendium. As always, I just had to worry about how to display the info in a way relevant to the project... which will obviously be different for each game you make...

    So with this level of customization at your finger tips I was deadlocked. I had no clue what else to add. I already made it so you could use it with any gui you wanted..all it would take you is the time to create your gui and then a few minutes to hook it all up...so no idea.

    But I have this one customer who uses the kit as courseware in various courses he teaches at University and this guy, man, he always comes up with the most interesting questions. I've been answering this quy's questions for over a year now and he always poses his questions as two. First: If I wanted to do this, how could I do so? Then: And if I wanted to give my code to people who have no experience with Unity at all and make it easy enough for them to do, how would I do that?

    For instance, something he asked me recently: What if I wanted to make a game where someone like SWAT would breach a building but be able to use the intercoms in the rooms they are in to listen to what the bad guy was saying. How would I do that? And how could I make it easy enough for people with no experience in Unity to be able to do so, equally easily?

    This guy has kept me on my toes for ages and I have written custom code for the guy for his custom projects and what not. A few months ago I decided to update the UDEA itself to make it easier to do something I was doing for him. That change set in motion a series of events that led to development of this new version. The answer had been staring me right in the face all along... What more could I add to the UDEA? Nothing. But what I COULD do is take this system with infinite possibilities and redesign it to be easier for people to use...

    In the process I made it a lot more n00b friendly but I also made it so that pros can make these scripts look like...I don't even know what to compare ot with, but super complicated I can tell you that much... Using the visual novel with a 3D scene, for instance, you should SEE that script. Lol If you see this first you will recommend I change the product name to Way Too Complicated Dialoge Engine. It's all pretty straightforward stuff but it looks very complicated. For the n00b out there, you can now make a Splinter Cell game and have your guards constantly mutter something about finding the player and do so with a single click... Then have full controll over that via your dialogue using one key and a bunch of OPTIONAL parameters.

    It's not about what's new, it's about how could I make it easier? Everything the udea2 does you can do with the udea1 also...it just won't look as pretty and will require a lot of extra work and loads of hard-coding on your end (if you don't know what hardcoding is, Google is your friend). Obviously all the custom code I created will need your own versions also but everything version 2 can do, version 1 can be made to do also so upgrading is ENTIRELY optional and those who have version 1 can continue to use it as expected and in totally unexpected ways... People who upgrade can just do so a whole lot easier and get some extra functionality (that I always expected you to do yourself) added in by default due to repeated requests for it...

    So I say again, version 1 is an excellent product. Get it, use it, continue to do so forever. Version 2 is a fantastic product that does everything version 1 does, just easier and with a few extra bells and whistles addeed to aid to that effect. Customer support for both will remain in tact so the choice is up to you, which would you prefer? The excellent or fantastic version? :)

    One difference, though, is that version 1 will not receive any updates any more because they work differently now and I will be spending my time using the more powerful custom key system to do less work, not more, when adding new features. It has become painfully clear that people want me to turn the UDEA into a full blown visual novel system so now, yeah now suddenly there is a lot more to be added... :p. UDEA 1 is not being 'discontinued' as such, just no longer updated with new stuff... So pick your version and go forth and make your game! Then post screenshots here :D
     
    Last edited: Jul 30, 2015
  15. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    Hey I just thought I'd pop in here and say that I received the beta version of UDEA2 or whatever it's new name will be. :) been testing it a bit over the past week. It works really well and I've had no issue with functionality. The biggest new features that are really nice are the integration of Unity's GUI system. Chat boxes fit in the screen nicely now yay !! and the ability to call functions in your code through the chat dialogue is very easy.

    couple of notes worth mentioning ..

    Users chat dialogue will transfer over to udea2 with virtually no issue. In reading the authors post i originally got the impression there was a hugh change in the way the dialogues were written, but thats not the case. Really only the function calling portion of the file breaks between the two. So if your current project has 200 .txt pages of chat you will not have to startover.

    Currently there are 3 demos showing off UDEA2 features but I personally think the demos should be showing off a much larger range of all the potential of that UDEA2 has to offer. As has been mention in the forums the uses for this asset are limitless, but i think for the users of this asset to truely see/understand this, it needs some more diverse demos.

    Hope this helps..
     
  16. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Thanks for the feedback.

    To touch on the transfer from UDEA1 to 2 comment, you have hit the nail spot on. The only difference is in the custom code calling. Everything else remains the same. So if your dialogue are all simple top to bottom scripts or do nothing but variable tracking and redirecting, then your version 1 scripts will port over to UDEA2 unchanged and will work perfectly.

    If, on the other hand, you have custom code that you trigger from your dialogues, all of that will simply cease to function. You will have to modify your project to adapt to every single last custom key placed in all of the 200 .txt files. So, it all depends on how your project is setup... If you use no custom keys then your existing scripts will work 100% perfectly with no changes required at all. If you trigger even 1 piece of custom code in all those files, you need to adapt your code or it will simply be ignored.

    As for the demos, there are 4 now ;) :p lol
    Once the asset is approved I can push updates really easily so I can add more demo scenes showing off more features.

    Again, thanks for the feedback. Much appreciated.
     
  17. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    So if you don't keep ver 1 updated over time, how is it going to continue working? ... eg. something changes in the next Unity release and it stops working.

    Is that covered in "customer support" ? ... ie. you will update it if its needed.
     
  18. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Nothing has changed in Unity in years that has caused anything in the UDE to stop working. The chances of that suddenly happening now are slim. Let me just repeat that... The UDE was first created BEFORE there even WAS an Asset Store and from then till now, no Unity update has ever caused the UDE to break... So what are the chances of it happening now, all of a sudden? When upgrading from Unity 1 all the way up to Unity 5 has never done so?

    However, having said that, I do give personal attention to every customer support email I get and help where I can wether it is general programming advice, tweaks to your code or mine or whatever...

    If something DOES happen in Unity that causes the UDEA to break and any customer brings that to my attention, then sure, I will update it and keep it working.

    All I am saying is that I will be focussing on the new version and if I release an entirely new and awesome feature of some sort at some point, it will only go into the new one. Since I won't be updating the current version I probably won't even notice if something in Unity causes it to break but yes, in the super unlikely event that it does happen, let me know and I will get it fixed.

    I am not abandoning my customers. Not now, not ever. Any problems, I am an email away... if it requires personal attention, so be it. if it requires an update so be it.

    We good now?
     
    Last edited: Aug 1, 2015
  19. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    Sounds good, thanks
     
  20. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    That's all she wrote... :D

    All free and promotional versions of the UDEA are now gone. The UDEA2 has officially arrived
    https://www.assetstore.unity3d.com/en/#!/content/42467

    I have rebranded the product, though, to just THE Dialogue Engine. I will update the documentation in time also but this is not high on the list or priorities me thinks...

    Now I know you guys like the visual novel prefab and I know it is still basic so feel free to email me with any feature requests you have for it. I am busy working on a visual editor for the Dialogue Engine but don't expect it soon... Any other features you would like me to add to the prefab, let me know and I'll see about updating it.

    For now... firstly, enjoy! :D
     
    Last edited: Aug 5, 2015
  21. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    Upgraded
    Thank you..
     
  22. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    :) Glad if you are happy... :D

    Now, go forth, enjoy, and post screenshots! ;)
     
  23. MangeyD

    MangeyD

    Joined:
    Mar 11, 2014
    Posts:
    75
    Well I am finally grappling with whether I will grab the updated V2 UDEA. I am disappointed that only a few months after buying into the Pro product it has been shelved and to move forward I have to buy into the new one. I do appreciate the buy in cost is fair, however if I wait a while I will see a sale at a similar cost to my upgrade cost so I really don't get it. The early adopters fund all the new development and reap the benefits of the updated versions while those late to the party buy in at the full price of the new version... that is how most Unity Assets work... but I do understand the decision that you have made. I am sure you will get a mixed level of adoption as there are so many shiny assets jostling for our money that even low priced assets are often hard to just purchase without a very clear need for them.

    I am concerned about the HUD as it was part of the original product I purchased and now has been dropped so that the updated HUD version can be sold to me... again I feel this is just an update of something I had already purchased but hey I understand that you put a lot of work into things and are just trying to get a return... but as an existing customer I am now up for $20USD to get the updated versions of stuff I had already purchased so I am not sure I like that, regardless of how much better they are. If the old versions were truly separate products and going to continue to be supported I would happily stay with them rather than jump in and spend with you again now. However....

    I will probably stay with the old HUD and buy into the new UDEA as I have a project I want to use UDEA for. I am sure V1 would suit my purposes but I am worried it may break with changes to Unity and will not be supported so it is foolish not to change now. (I know you state this will not happen but I work in software and hate it when a dev tells me something SHOULD work!!) I guess I have to download the old HUD from your website so I have it as a discrete package to use with the new UDEA... not a biggie as I am not even sure the new project will make use of the HUD but it was a neat way to drive the UDEA and should definitely be an option for moving forward... Not sure if I will bother with the new HUD at all although you were very excited about it being better than the old one so I should consider looking at it... but again if I wait I am sure I will see it for just a couple of dollars on sale at some stage so I may just wait for that.

    Sorry to be so negative because I think your assets are of a high quality and you do try to be fair... and you can't please everyone, but I was reading the support comments of a product being sold in BETA earlier today and they made it clear that the early supporters were funding and driving the product and would reap the benefits as it grew in functionality and that this is the model used by many at Unity... so to see this approach with UDEA I just find myself a little less excited by the new shininess of both V2 and the new HUD as I have other things in my cart to buy today and can't find room for your updates as well.

    Lastly, just to reiterate my position, there will be brand new customers who buy into the full V2 UDEA at my upgrade price through a sale and those same people will possibly pick up the new HUD for next to nothing on sale, while the existing customers carry the load of funding your recent work. I have always been disappointed by large companies who do this sort of thing and discount heavily to get new customers and don't recognise and support their existing customers enough. I have far too many products that were cheaper to repurchase at a sale than the upgrade prices I was offered as an existing customer and that always makes me sad... if the product is good new customers will come and they will buy in at what the product is worth... old customers are what got you there and what drive new business so their good will is priceless and invaluable. I am not saying you have lost good will but I am sure there are some who feel the way I do and I felt the need to let you know how I was feeling as I have just put V2 in my cart and I did not want me purchasing it to be a silent vote of approval for your approach.
     
  24. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Sigh....I wish people would just read this bloody thread... I am getting so tired of repeating myself.... If I KNOW nobody reads what I write, what is the point in even replying? Sigh...

    Almost all my product reviews say what excellent customer support I give but this is getting absolutely ridiculous now. I'm afraid after all these years I am going to have to draw a line in the sand and make a stand. After this post I will no longer answer questions that have been answered to death before. From now on, just scroll up if you find me ignoring you and in the worst cases...click the previous page button.

    So let me REPEAT (again) what has been said (numerous times) in this very thread... once more... (most likely to be ignored once again)

    1. Upgrading is optional. Version 1 can be made to do everything version 2 can do!!!
    2. Version 1 will be updated if Unity ever breaks it but it has not broken since Unity 1 so what makes you so worried now?
    3. If you upgrade you get at LEAST 100% of your original purchase price back in discount!!!
    4. The Actions HUD has been available for free on my website for 4 years
    5. After 4 years I made a better version and I am selling that versiom. What is wrong with that???
    6. Actions HUD is still free. I literally made a picture showing that. How can anyone STILL not get it?
    7. Other developers are now allowed to use the ActionsHUD in their assets if they want to
    8. People who upgrade own both versions of the UDEA, not one or the other so nothing is "taken away"
    9. I have told people that if they can't afford the upgrade, just email me...

    I have products on the store that are many years old and that hardly sell any more so I make them cheaper, say I no longer offer support for it to keep all the floods of emails at bay but I still provide the same level of support that I do to any of my customers if anyone asks me for it. Just the other day a customer bought an asset of mine for $1.95 and I spent 3 days helping that person with that product because that is what it took to satisfy the customer's needs.

    I skype call my customers, I screen share, I write custom code for them free of charge if the need arises... If this makes me a big corporate ass that screws over loyal people and will cost me good will then I beg of you to tell me what good customer service is, please.... 3 days of support for a $1.95 product and still I am being accused of not looking after my customers...?

    Why am I still writing..?

    @MangeyD, if you haven't downloaded the kit yet, please don't. Contact me so I can arrange a refund for you. Unity doesn't like refunding downloaded products, nor do I. I have said I will look after my customers and I meant it.... even if they don't read any of the replies I repeat over and over and over and...
     
    Last edited: Aug 9, 2015
  25. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    I would like to add that mrDude does indeed give excellent support. Everytime ive emailed him ,ive received a prompt response with a detailed explanation. Im sure he would fix any issues that would arise from changes in unity.

    @MrDude , i think part of the issue may be that most all your posts are very long and detailed and sometimes this makes it a task to read through. I cant speak for everyone else but when im fustrated over some issue the last thing i want to do is spend 30 mins reading through posts in hopes of an answer. Maybe you could just point the reader to a previous answer, if already answered. Its a great product... Thanks for all the help so far.
     
  26. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Oh,shoot...
    I've often been told I shouldn't write novels but what should I do when I have lots to say? Unfortunately, if the customer says so then I must listen... :/

    If it makes any difference at all, I've recently started adding headers to my subsections of my posts :p lol

    Just check out the latest installment of my game making tutorials and you will see. Finding the"Bold" button changed everything...:p

    Thanks for the feedback.
     
  27. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    I just realized a blunder I made.... I created a prefab that I use in the girl vs machine demo but I never mention it anywhere in the kit or on here so a lot of people are gonna miss it! Oops!

    In that scene, if you hit the Escape key, a settings window will popup (not during dialogues). In this settings page you can select the language in which the demo runs. You guys are free to set your languages however you choose but personally, I like to have flags that I call by the LANGUAGE spoken in that country, not by the name of the country. I would then give you a bunch of flags to pick from and use the selected flag's name as the language for the game! :) i demonstrate this in the demo when you hit the Escape key by doing the dialogues in both English and Afrikaans.

    Full localization support and a fallback language solution implemented by default... And I never mention that you can see It in action in the demos nor how to do so... Oops! :(

    So yeah: to fix my blunder: Before speaking to the robot, hit the Escape key to pick an language :)
    There, now I'm covered :p
     
    Last edited: Aug 13, 2015
  28. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Rejoice, people! For I bring you some excellent news! :D Behold... I give unto you a brand new feature... Text To Speech! Oh, yeah, you read that right! :D

    Right, so I was contacted by the author of RT-Voice to find out if we could combine our products and I said "Sure, why not?". So I had a look at the kit and found that unfortunately our two kits are not compatible right out of the box... The Dialogue Engine only generates the text AFTER his text to speech functions are called...

    Fortunately, I am not that easily beaten and I have created a script that does all the integration for you!!! There is still a lot to do and currently my solution doesn't support localization but hey, this is a first draft... I plan on adding more settings to the script to make it more flexible and integrate with his kit a lot better.. BUT... it works! :D And the best part is, it's so darn easy... To integrate his kit into your project all you have to do is add one script to your scene and then start calling the speak functions... well, I even add that script for you too so integration is even easier now :D

    First, I got to list a bunch of limitations... RT-Voice supports ONLY desktop platforms. No mobile support..
    Secondly, Windows and OSX do not have the same voices so picking a voice for my kit is a bit of a bummer at the moment. In a future update I will let you specify the voices per OS and have my kit automatically switch to the relevant voice for the OS it is on. For now you set the voice and if the voice is not on the system it will default to the first voice.

    After you hit play the first time, my script will list all the voices in the inspector for you just as a convenience so you can easily see what voices are available to you on your current OS. So, now that all the bad news is out of the way, let's start with the integration. You are gonna love how easy I made it for you! This is greatly due to how easy RT-Voice made it for me so I have to give credit where it's due...

    Right, so to automatically have all your text spoken without having to make audio files for them first, you only need to do three things:

    1. Drag the script I am including in this post to one of my dialogue prefabs (whichever one you are using)

    2. In your dialogue script, where you define the actors, assign them a voice also. Like so:
    Code (csharp):
    1.     <actor>who=0; name=Eileen; avatar=Eileen_Afraid; voice=Princess
    2.     <actor>who=1; name=Eileen; avatar=Eileen_CaughtInLie; voice=Princess
    3.     <actor>who=2; name=Eileen; avatar=Eileen_Disapointed; voice=Princess
    4.     <actor>who=3; name=Eileen; avatar=Eileen_Embarrased; voice=Princess
    5.     <actor>who=4; name=Eileen; avatar=Eileen_ShockedEmbarG; voice=Princess
    6.     <actor>who=5; name=Eileen; avatar=Eileen_ShockedG; voice=Princess
    7.     <actor>who=6; name=Eileen; avatar=Eileen_SmileBushG; voice=Princess
    8.     <actor>who=7; name=Eileen; avatar=Eileen_SmileG; voice=Princess
    9.     <actor>who=8; name=Eileen; avatar=Eileen_BigSmile; voice=Princess
    10.     <actor>who=9; name=Nicole; avatar=Nicole; voice=Vicki
    11.     <actor>who=10; name=Nicole; avatar=Nicole_blood; voice=Vicki
    12.  
    As you can see, adding a voice is super simple.

    3. Choice options are not spoken. Neither are turns with no text defined. For all other turns, if you want to speak the text, just add the key "SpeakRT". That's it, you are done... Example:
    Code (csharp):
    1. <turn>id=6; who=6
    2. [keys]SpeakRT
    3. I don't mean to brag or anything but I can't help the fact that this is my reputation
    4.  
    5. <turn>id=7; who=10; right=true
    6. [keys]SpeakRT
    7. I don't think so!
    8. I don't trust people who sneak up on people and just claim to be the best at anything
    So, if you guys are interested in adding text to speech to your projects, check out RT-Voice at https://www.assetstore.unity3d.com/en/#!/content/41068

    Enjoy
     

    Attached Files:

    Last edited: Aug 21, 2015
    Stefan-Laubenberger likes this.
  29. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    Nice.

    The best addition I can think of for UDE would be integrating something like ALICE (free speech AI chat). That would get rid of predictable responses. Ideally you would search any chat text for keywords, if found then play back the standard UDE response to assist with quests or whatever, but if not found then pass it on to ALICE and let the chat bot come up with some awesome response.

    It would completely dim the line between NPC's and players, so no doubt be a hot product.
     
  30. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    If you understand how the dialogue engine works you will see there is just no way that THAT can ever work with this kit...

    The dialogue engine works on keys on a turn by turn basis determining wether or not you can show a particular turn or not and redirecting you to one you can speak if not... Each and every single turn may or may not have 0 to infinite requirements that need to be met in order to be shown...

    Doing a random : "Hi Jenny. Did you see my cat?" chat and then suddenly because you typed "cat" the dialogue suddenly speaks turn 4, bypassing all the checks and requirements makes about as much sense as the mute who told the deaf man the story about the blind man who saw a one legged man run across water... :p It's like fixing a bicycle wheel to an airplane...

    They re just not made for each other, sorry... :(

    You can always have your own ALICE system in place and have it start my system when you type "cat", sure. There are infinite ways to start and stop my system but to make it REALLY think for itself, that is not very likely to happen...

    I'm send you some notes via PM but ALICE... I can't see that working, sorry.
     
  31. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Some of my customers have said that the UDEA can do so much more than what is advertised... I have said the same thing numerous times also. It's basically due to CML... it just opens up so many doors... Today I am going to share a script with you that I created a few hours ago to help me with a problem I was facing with my client's project.

    To give you the quick summary of the problem, we have a map inside a scrollable region and a bunch of other stuff in the hierarchy and it was made into a prefab but we were done with it.... The only reason we have it as a prefab is so that we can edit it in a scene of it's own, hit apply and see the changes take effect without having to go through menus and all the other tedious things. Point is, the prefab was basically done.

    Then we went and added 125 map nodes on the map in the main scene but these map marker prefabs were not meant to be part of the map since we edit THEM still and we definitely don't want to make each change 125 times. Then, one day, someone hit the apply button in the main scene, making all those nested prefabs part of the map... We continued working and didn't notice this till much later so by then it was too late to fix it... The map nodes were now fixed...

    But we had a major update to the map nodes and NEEDED to update all nodes! So how were we gonna update all 125 nodes if they were no longer prefabs where wee can just modify one and all are updated? Ideally we would delete the nodes and place new prefab nodes in it's place but I have no idea how to programmatically place a new prefab in the scene... so I did the next best thing...

    I placed my script on the parent object and hit play. As soon as the scene started,it created a CML file that contained the position of each node plus a value I wanted to set. I then hit play again and right after the game stopped playing, I placed new instances of the new prefab in the exact place where the old ones used to be.

    Let me repeat that: I created the updated prefab, dragged my script onto the parent that contained the prefabs I wanted to replace, dragged my new prefab onto the script, then hit the play button twice. Done. There is code in there to delete the original objects but I prefer to comment that out and delete them myself manually, just in case something goes wrong...

    So here is the script... hope it proves useful to you. Just change the type of your prefab as required and you should be good to go. Enjoy. UDEA as a fix for incorrectly nested prefabs... Who saw THAT coming? :D
     

    Attached Files:

    twobob likes this.
  32. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Code (csharp):
    1.  
    2. using UnityEngine;
    3. public class SpawnPrefabAtStart : MonoBehaviour {
    4.  
    5.   // attach prefab in inspector for each thingy, (or you could dynamically find them via some extra code);
    6.   public GameObject fab;
    7.   // Use this for initialization of prefab
    8.   void Start () {  Instantiate(fab);   }}
    clearly this is no replacement for your solution, however, now you do know and simply choose to do something else ;)
     
  33. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Here is a better version. First play the scene to generate the CML file. Then stop playing, select the parent object in the hierarchy.
    Finally, select Tools/myBadStudios/FixMapNodes to insert new prefab instances into your object. :)

    Code (csharp):
    1. using UnityEngine;
    2. using UnityEditor;
    3. using System.Collections;
    4. using System.Collections.Generic;
    5. using MBS;
    6.  
    7. public class MapNodeUpdater : MonoBehaviour {
    8.  
    9.     public WMapArea new_prefab;
    10.  
    11.     WMapArea[] existing;
    12.  
    13.     // Update is called once per frame
    14.     void Awake () {
    15.         Debug.Log("Fiding duplicates");
    16.         FindAllDuplicates();
    17.     }
    18.  
    19.     void FindAllDuplicates()
    20.     {
    21.         //hit play and child objects are sought and details written to a file
    22.         if (Application.isPlaying)
    23.         {
    24.             CML locations = new CML();
    25.             locations.ImbedCMLData();
    26.             existing = GetComponentsInChildren<WMapArea>(true);
    27.             for( int i = 0; i < existing.Length; i++)
    28.                 locations.AddNode("instance", string.Format("position={0};level={1}",existing[i].transform.position.ToString(), existing[i].level));
    29.             locations.SaveFile("Assets/Resources/node_positions.txt");
    30.         }
    31.     }
    32.  
    33.  
    34.     /// <summary>
    35.     /// Selectthe parent object in the scene before you click on this in the menu
    36.     /// </summary>
    37.     [MenuItem ("Tools/myBad Studios/FixMapNodes")]
    38.     static void FixItFelix()
    39.     {
    40.         CML data = new CML("node_positions");
    41.         if (data.Count == 0)
    42.         {
    43.             Debug.Log("FILE NOT FOUND");
    44.             return;
    45.         }
    46.  
    47.         WMapArea new_prefab = AssetDatabase.LoadAssetAtPath<WMapArea>("Assets/Prefabs/MapAreaButtonNew.prefab");
    48.         if (null == new_prefab)
    49.         {
    50.             Debug.Log("Assets/Prefabs/MapAreaButtonNew.prefab NOT FOUND");
    51.             return;
    52.         }
    53.  
    54.         List<cmlData> all_nodes = data.Children();
    55.         while( all_nodes.Count > 0)
    56.         {
    57.             WMapArea node = //Instantiate<WMapArea>(new_prefab);
    58.                 PrefabUtility.InstantiatePrefab(new_prefab) as WMapArea;
    59.  
    60.             node.transform.SetParent(Selection.activeGameObject.transform);
    61.             node.transform.position = all_nodes[0].Vector("position");
    62.             node.level = all_nodes[0].Int("level");
    63.             all_nodes.RemoveAt(0);
    64.         }
    65.     }
    66.  
    67. }
    68.  
    I'm sure the first part can be done via the menu also but this has served it's purpose now so I am not going to continue working on it. Just thought you might find it useful.

    Enjoy
     

    Attached Files:

    Last edited: Dec 9, 2015
  34. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Thanks for the tip, @twobob but I meant how to place a prefab in the scene while it is NOT running so you can continue to make changes to the prefab during design time. See my above improved version.

    This script is also, finally, a good example to show people how to save and fetch Vector values like position using CML :D
    Finally, a working, useful example! :D
     
    twobob likes this.
  35. impi2

    impi2

    Joined:
    Jul 3, 2015
    Posts:
    43
    That would be amazing. Is anyone integrating that? ... please let me know.

    Overcomplicating ... It doesn't have to think for itself, just create random text sometimes (but related to chat) ... so players won't get tired of pre-designed responses over and over. Amazing idea, will be very popular in asset store!
     
  36. impi2

    impi2

    Joined:
    Jul 3, 2015
    Posts:
    43
    Can open chat be an actor?

    So udea can easily be integrated with chat text, so if I chat "I need gold", and a udea enabled npc within range sees the keyword "gold", he could chat back something like "Legend says there's buried treasure". I or another player could then ask "where?", so npc can respond in chat "in the cave"
     
  37. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    @MrDude
    I was think about using a rendered texture how easy do you think it would be to do that? The current system uses sprites images, and instead it would need to accept raw images to work maybe ?
     
  38. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    @JBR
    The current system supports returning Sprites as well as Texture2D. Just check UDEA.cs for the full function list but yeah, both are available to you.

    That's the good news. The bad news is that I don't understand the first part of your question, unfortunately :(
    When you say you want to use a rendered texture, do you mean you want to use OnGUI?
     
  39. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    Ok great, messed with it a bit but wasnt able to get working yesterday, ill go into a bit deeper and figure out what i was doing wrong.

    By rendered texture i ment a camera renders to a texture. So it would show an animated character from the scene instead of a simple image.
    Thanks
     
  40. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    I see what you are getting at there. Best approach would be to make your own blank textures to use as render targets and just use WhoIsSpeaking to determine what character to load into them. Another option (that I was personally gonna use in a future demo) is to just have your character cameras render ONLY the Characters Layer and simply draw the character as is... no textures required.

    My inspiration for wanting to do this (as was my inspiration for creating the Turn Based Battle System) was the game Enchanted Arm. Full 3D character on either side of the text box. Each time the text changed, one or both of them would just play a clip to update their pose and then wait for the next turn. Looking at it I saw this:

    1. A camera rendering the scene
    2. Another camera rendering only the characters, displayed on top of the first camera, with the characters just translated left/right into or out of view
    3. The GUI on top

    The only thing I still had to figure out was how to figure out the correct target position on the x-axis to have the characters appear in the correct position at any screen aspect ratio. My solution was to have a default position for the smallest aspect ratio and thus have the characters appear close on small screens but hug the borders. On iPhone 5 landscape, however, they would see the full body and they might not hug the border. Alternatively, choose target positions for each aspect ratio and pick from the array at runtime.

    The advantage of doing this is that sliding the character into view is as simple as transform.Translate() and no matter if you show Mr Skinny or Mr BodyBuilderExtreme, your image will never cut off parts of them nor will they be scaled or stretched to fit. That was gonna be my approach. Use The Dialogue Engine to trigger the character sliding in, just like now, use it to trigger a new animation clip when required, but render them using a simple camera and placing the characters in front of it...

    As the teachings go: KISS :)
     
  41. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    @MrDude
    I had no luck using rendered textures with the current system, seemed to cause errors. But i will look into your ideas. Thanks for the great explanation...
     
  42. DTE462

    DTE462

    Joined:
    Jul 3, 2016
    Posts:
    1
    This may be a C# general question but I'm wondering if anyone can help. I'm coming from Construct 2 where everything is connected with everything else and there are completely difference considerations for optimizing.

    I got the Key system set up to use as inventory. Would it make more sense to abstract out all the keys or would it be fine to call them directly? For example, instead of putting ammoAmount on the player object as an int and at the beginning of the scene match the Key to what it is and at the end of the scene update the Key to be current with whatever the ammoAmount variable is, would it be okay to call UDEA.GameKeys.Subtract("ammo", 1) every time the attack button is hit directly?

    Thanks for any help anyone can offer.
     
  43. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Hi there.

    Extracting the value first then saving it back later means you are disabling most of the kit.

    The first issue to take into account is the fact that the dialogue can actually display your keys as part of the dialogue. i.e.
    Code (csharp):
    1. I currently have {:FrogLegs} Frog's Legs
    That will fetch the value inside the GameKeys and show it on screen as "I have 6 Frog's Legs". If the value is not stored in the GameKeys then it will show the wrong value.

    Also, the entire dialogue system relies on knowing how many of what you have. If you have 1 FoundPrincess key then the King will thank you, or else he will ask you "Have you found her yet?". If you have 1 "KingsThanks" key then the king will just reply with "You are fre to roam th castle, good knight" and every door in the castle will open... Without the key, the doors will just pop up a message saying "This door is locked".

    Do you have enough gold to buy the sword? Do you have the Phoenix Down? Did you complete the quest? Have you found the legendary sword? None of these questions can be answered if the kit doesn't know where to look for the answer... Thus, you would have to first write a function to extract the data you want... then write a function to store each field individually and make sure to call that function before every start of a dialogue or popup screen or before any time you use the kit for anything.... Total waste of time...

    Remember, you can use the tests any time you want, not just during dialogues.... For instance when you bump into a door you simply create an OnCollision function and add this code to it:
    Code (csharp):
    1. if (locked && UDEA.GameKeys.DoesHave("KingsThanks",1))
    2.  PlaySoundAndOpenDoor();
    If you don't store the values directly inside the GameKeys then you loose out on all that functionality. Most importantly of which, the characters won't "remember" what you did and didn't do, nor when you spoke to them before or how many times or what stock you carry and allllll the clever dialogue redirection will be lost...

    Simple answer, write directly to GameKeys and update it directly. It was designed to be used that way and offers you the full benefit of what the kit can do.

    Hope that helped. Enjoy :)
     
    JBR-games likes this.
  44. mwituni

    mwituni

    Joined:
    Jan 15, 2015
    Posts:
    345
    Hi,

    So started using this as a training guide ... so help pops up when player collides.

    But we don't want the same dialog popping up ... ie. Only want it once.
    So I thought maybe a variable to record its done its thing and then prevent it opening again.
    But I don't see a way to create a function to prevent it opening ... is there any way?
     
  45. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    So i havnt used this in a while.
    But you have keys that you can add or require. So once a pop up has happened add a key. Then only use that text pop up again if there is no key. So a pop up should only happen once. This should take care of your needs if i understand your question. Setting this up should be in docs..
     
    mwituni and MrDude like this.
  46. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Exactly as JBR said. But here is some code to guide you on your way...

    In your dialogue script add this to the first turn:
    Code (csharp):
    1.  [keys] + DidSpeak 1
    Now, in your OnCollision function where you start the dialogue, just add this right before:
    Code (csharp):
    1. if (UDEA.GameKeys.DoesNotHave("DidSpeak", 1) )
    ...and that is that.

    Enjoy
     
    Last edited: Sep 9, 2016
    mwituni and JBR-games like this.
  47. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    @MrDude. Just an fyi when im deciding on an asset i look to see how the updates have been rolled out. I nearly never buy assets that go six months or more without an update. .... Not that this assets necessarily needs an update but maybe a few small doc changes or hell maybe a simple inventory or quest system (how tos)

    Im sure there are alot of other potential customers that may look at this but decide not to ,due to lack of updates. Which is ashamed as this is a great asset. Starting a hopefully fun little dungeon crawler game soon and this is going to be one of my main assets used..

    Also forum link should be in description.
     
    mwituni likes this.
  48. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    As our favorite bear likes to say: "Oh bother..." I forgot to link the forum thread to the description again. lol Thanks for reminding me. Please keep doing so till I finally do it! :p

    As for the updates, yeah, I agree with you on that. Most of my assets are way, way out of date. I have many updates planned for many of my kits and THE Dialogue Engine is no exception (actual new features, not just doc updates) but I just don't get around to them. Just way too busy with my "day job" (so to speak) that I don't get around to doing all the updates I want. Rest assured that slow as it may be, updates are coming... :D

    In the mean time I will have to suffer the loss in sales as people miss out on an awesome piece of kit. It sucks for both parties, true, but all good things comes to he who waits. My contract keeps ending and then gets extended for another month or two. My last 4 weeks just became my last 6 weeks only 2 days ago, for example... This will not continue forever, though, and once my time is my own again updates aplenty are in the works...
     
    JBR-games likes this.
  49. MrDude

    MrDude

    Joined:
    Sep 21, 2006
    Posts:
    2,569
    Finally got around to doing it :D Thanks for the push JBR :D
     
    JBR-games likes this.
  50. JBR-games

    JBR-games

    Joined:
    Sep 26, 2012
    Posts:
    708
    @MrDude
    Just downloaded the newest version into uity 5.4 and im getting a few errors, and seems to be broken in first demo.
    I started a new project just to be sure. not sure if this is an issue going to 5.4 or just an accident when you updated this asset..

    edit- deleting editor script seemed to fixed the errors, and the string value for the demo was the issue of text not working, must have been an accidental change before you uploaded it. DialogueStarter >File Name on (Robot Kyle)

    thanks as always for the quick response.
     
    Last edited: Sep 16, 2016