Search Unity

  1. Calling all beginners! Join the FPS Beginners Mods Challenge until December 13.
    Dismiss Notice
  2. It's Cyber Week at the Asset Store!
    Dismiss Notice

LDC (Localized Dialogs & Cutscenes) - Powerful and intuitive Dialog System with tons of features!

Discussion in 'Assets and Asset Store' started by melgeorgiou, Nov 3, 2012.

  1. AGaming

    AGaming

    Joined:
    Dec 26, 2013
    Posts:
    87
    Any command which will stop any open dialog automatically can eat? "DialogUI.API_Stop();" :(
     
  2. AGaming

    AGaming

    Joined:
    Dec 26, 2013
    Posts:
    87
    Thank you so much for the support by e-mail, once again glad that I bought such a wonderful asset.!!!!!
     
  3. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    You're very welcome! Glad we figured it out in the end! :)

    All the best,

    - Mel
     
  4. Guideborn

    Guideborn

    Joined:
    Jun 15, 2013
    Posts:
    225
    Is there still a plan for animated GUI boxes like zooms and resizes? Thanks!
     
    Last edited: Aug 17, 2014
  5. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi Morris,

    what do you mean exactly by animated GUI Boxes? :)

    - Mel
     
  6. Guideborn

    Guideborn

    Joined:
    Jun 15, 2013
    Posts:
    225
    Like text boxes that zoom onto screen as opposed to fading in or abruptly appearing.
     
  7. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi Morris,

    it's currently on the wish list but it isn't a priority yet as I haven't had many requests for it. Unfortunately there's only one of me so I try to concentrate on the biggest requests first. :)

    All the best,

    - Mel
     
  8. gshape

    gshape

    Joined:
    Aug 8, 2012
    Posts:
    94


    Hi Mel!

    I like LDC so far and think this is great! Thanks for developing this great plugin, my coming project uses LDC for the story part.

    However, I have same question as Pathlesspath. Although I understand the reason you designed to scale the UI to any resolution, my artist is a bit upset because all the graphics (e.g. Actor Portrait, Background) got stretch without much control (i.e. for our game in landscape mode, portrait is wider than designed on iPhone 5S but is taller on iPad mini).

    2014-08-21 09.26.12 pm.png

    We have tried to check/uncheck "Stretch Width" and "Stretch Height" but seems no luck.

    Except above workaround you suggested (We will support at least 3 languages + iPhone + iPad + Android, so this solution is not for us), is there any way to keep those portraits and backgrounds in ratio designed? If current version doesn't support, will you please kindly consider to add this feature for future build?

    Many thanks!
     
  9. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi gshape,

    I'm actually working on a really big new feature at the moment that allows for different UI scaling! :)

    If all goes well, LDC will be able to scale the entire UI "to fit" in the centre of the screen (possibly with extra options to anchor to different corners of the screen). You may have to slightly modify your background UI's (i.e., the default black strip at the bottom) but this should eliminate the stretching on the portraits, etc.

    This will literally be a drop down menu option in the DialogOnGUI component - so keep doing what you're doing and when its ready you should be able to flick a switch and make it all work.

    I'm Hoping to get it ready in the next month or so! :)

    - Mel
     
  10. gshape

    gshape

    Joined:
    Aug 8, 2012
    Posts:
    94
    Hi Mel! Sounds so great and looking forward to the new version of LDC!!
    Apart from "Amazing and prompt support!", what can I say? LoL ;)
    Thanks again!

    - gshape
     
  11. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Haha, you're welcome! =)

    - Mel
     
  12. Guideborn

    Guideborn

    Joined:
    Jun 15, 2013
    Posts:
    225
    Aww man. Well, thanks for considering! Can't wait to see it happen!
     
  13. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi All,

    I thought I'd share some exciting new features I've been working on for LDC v4.1! =)

    Other than a few small tweaks and fixes, there is now a new GUI Scaling system and a new Editor for the DialogOnGUI component. This is a sneak peak of the new GUI scaling options:

    1) STRETCH TO FILL (THE ORIGINAL LDC SCALING METHOD):

    1 StretchToFill.png

    In the screenshot above, I've setup the new DialogOnGUI Editor to use the traditional LDC scaling method (Stretch To Fill) which works by stretching the GUI to fit any resolution. In the example, you can see that irregular resolutions cause some stretching as it can affect the aspect ratio in these cases.

    2) SCALE TO FIT

    2 ScaleToFit.png

    In this screenshot, I've setup the scaling options to use the new "Scale To Fit" scaling mode. This mode grows / shrinks the UI in order to fit the current screen without affecting the aspect ratio at all. This mode also offers a few more options such as an "Anchor" setting (which allows you to anchor the GUI to the center, left, right, top, bottom, top-left, top-right, bottom-left and bottom-right). Finally, there is a special option to widen the background (the black strip in this case) so when the scaling takes place, everything still looks awesome! :)

    3) OVER SCALE

    3 Over Scale.png

    Finally, there is "Over-Scale". This scaling mode enlarges the GUI until it completely covers the screen (clipping can also occur on this mode). It is always anchored to the bottom right so the dialog buttons are visible. Because of this, this mode is recommended only for users needing simple dialog screens and prefer a different approach to unusual widescreen resolutions (such as Android).

    DIALOG ON GUI EDITOR

    DialogOnGUI - Editor.png

    This is a closer look at the Dialog On GUI Editor. It makes it simple to configure your GUI Scaling, your GUI Skins and some initial options.

    A really cool thing is that the GUI scaling mode can be changed at any time (yes, even in Play Mode!). This can also be done via script too during runtime! ;)

    SETTING UP GUI SKINS

    DialogOnGUI - Skins.png

    ... Simply type the file path relative to the Resources folder and you're golden! =)


    I hope you guys are excited about these new features! :)

    I'm hoping to get this update ready in the next week!

    - Mel
     
  14. red2blue

    red2blue

    Joined:
    Feb 26, 2013
    Posts:
    200
    Hey Mel,

    this new features are looking really cool. Looking really forward for next week. Have a nice weekend!

    Cheers!
     
  15. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi red2blue,

    glad you're looking forward to it!

    You too! :)

    - Mel
     
  16. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi Everyone,

    LDC v4.1 has now gone live on my site and is currently awaiting review by the Unity teams so should be live in a week or so!

    Update now to take advantage of cool new GUI Scaling options, a whole new inspector for the DialogOnGUI component as well as some small bug fixes!

    IMPORTANT: BACKUP BEFORE UPDATING!

    LDC Direct Website Link
    http://www.mel-georgiou.co.uk



    REBRANDING NOTE: Due to the fact that LDC’s copyright now belongs to Hell Tap Entertainment LTD (My new company), there has been some rebranding and renaming of folders. If you are updating LDC, keep an eye out on this as Unity often doesn’t correct things like that. You may need to rename any folder labeled “Black Zombie” to “Hell Tap Entertainment”, and as usual, don't be a hero - make sure to backup your projects first! ;)


    .... As a final note, I've also built a new intro video for LDC which I hope will help newcomers understand the plugin:



    Thanks so much for the continued support everyone! =)

    All the best,

    - Mel
     
    red2blue likes this.
  17. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi All,

    LDC v4.1 is now live on the Asset Store! :)

    Asset Store Link:
    https://www.assetstore.unity3d.com/#/content/5020


    IMPORTANT: Please backup your projects before updating!

    REBRANDING NOTE:
    Due to the fact that LDC’s copyright now belongs to Hell Tap Entertainment LTD (My new company), there has been some rebranding and renaming of folders. If you are updating LDC, keep an eye out on this as Unity often doesn’t correct things like that. You may need to rename any folder labeled “Black Zombie” to “Hell Tap Entertainment”.

    Thanks for supporting LDC and enjoy the update! :)

    - Mel
     
  18. SoftwareLogicAU

    SoftwareLogicAU

    Joined:
    Mar 30, 2014
    Posts:
    34
    Hi Mel,

    Just watched your videos and it looks awesome so I bought it.

    Looks like I'm having a conflict with tk2dToolkit though - unity is now reporting 2 errors saying:

    Assets/TK2DROOT/tk2d/Editor/tk2dGuiUtility.cs(20,86): error CS0433: The imported type `System.Action`2' is defined multiple times
    Assets/TK2DROOT/tk2d/Editor/tk2dGuiUtility.cs(89,96): error CS0433: The imported type `System.Action`3' is defined multiple times


    Have you come across this before and do you know how I can work around it? I can't get rid of tk2dToolkit as I use it in other areas of my project....

    Thanks.

    -Glen
     
  19. SoftwareLogicAU

    SoftwareLogicAU

    Joined:
    Mar 30, 2014
    Posts:
    34
    I changed all my tk2dToolkit sprites over to NGUI and removed tk2dToolkit so I can now use the Dialog system, but it might be worth noting that it's not compatible with tk2dToolkit....

    Looking forward to trying out the dialog system now.
     
  20. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi Glen,

    Thanks for purchasing LDC and I'm sorry you ran into some trouble.

    This is the file you want to delete:
    Editor > Hell Tap Entertainment > Shared > Google > Newtonsoft.json.dll


    Its a library that comes with the Google Spreadsheets API and for some reason conflicts badly with other scripts written in C# that use System.Action. As LDC is written in JS there isn’t a compatibility issue there but unfortunately there’s no good way to fix it as the API is supplied by Google.

    Anyway, deleting this file will stop you from being able to use the Google Spreadsheet importer, but should get rid of the errors. Everything else in LDC will work just fine. Like I said, it just affects the Google Spreadsheets.

    A few people have run into this issue so I think in the next update I'm going to make the Google Spreadsheet stuff an optional package that will reside in the Extras folder to avoid any unnecessary conflicts.

    Hope that helps! :)

    - Mel

    PS - Apologies for the late reply. For some reason I didn't receive any email notifications about your comments!
     
  21. SoftwareLogicAU

    SoftwareLogicAU

    Joined:
    Mar 30, 2014
    Posts:
    34
    Thanks Mel - all good. I didn't get a notification about your reply either? Not sure what's going on there.

    Keep up the good work!

    -Glen
     
  22. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Thanks Glen! :)

    Yeah, turns out since the forum was updated I had been unsubscribed from my own thread! lol

    All the best,

    - Mel
     
  23. SoftwareLogicAU

    SoftwareLogicAU

    Joined:
    Mar 30, 2014
    Posts:
    34
    Hi Mel,

    First of all - you're a genius! LDC is incredibly well done - thanks. I'm having a lot of fun with it!

    I'm a bit stuck though - I'm trying to make a Popup dialog appear via code (C#) but am not getting any of the API intellisense? I created the dialog via the UI (because localization will be easier) and I simply want to tell it to display when a certain action happens. The dialog itself is fine (ie: works fine if I set it to 'Auto play') but I can't for the life of me figure out how to get the API working via script?

    The path for the dialog scripts is the default:
    Assets\Plugins\Hell Tap Entertainment\Localized Dialogs\Scripts\

    The path for my C# scripts is:
    Assets\Scripts\

    I tried moving the DialogUI script to Assets\Plugins but it made no difference so I moved it back. Apparently C# is compiled first, but because your scripts are in the plugins folder they should compile before mine?! Hope you have come across this before and can help.

    Also, do you have any varieties of skins available which can be plugged in as I just want a blueish skin instead of the black one? I know the skins are customisable, but after 2 hours of playing around with customising I had to abort as it was taking too long.

    Thanks :)
     
    Last edited: Oct 21, 2014
  24. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi Glen,

    Thanks for the kind words! :)

    If I've understood you correctly you want to take a popup dialog you've already made in the Editor and get it to play via script. The easiest way to do this is:

    1) Set your Popup Dialog in the editor to Auto-Play.
    2) Save it as a prefab by dragging it into your project window.
    3) Delete the original Dialog from your scene.

    Your scripts should be kept the exact same way they were installed to maximise compatibility between all different languages - so yes, it should be in the Plugins Folder.

    At this point, you should setup a new CS script in your project like this:

    Code (CSharp):
    1. public GameObject myPopupDialog;
    2.  
    3. void Start(){
    4.    Instantiate( myPopupDialog );
    5. }
    Attach this script to any GameObject in the scene and drag the prefab you just created into the myPopupDialog slot in the inspector.

    The script above will launch the popup dialog at start (if the dialog is an AutoPlay dialog) - but you can change it to Fixed Update / Update and put an if block in there to test for something first. Super Easy! :)


    NOTE

    You can also setup the variable to be a DialogController instead of a GameObject. This approach can be used to target a LDC Dialog already in the scene and not set to Auto-Play, and the code would look a little like this:

    Code (CSharp):
    1. public DialogController myDialog;
    2.  
    3. void Start(){
    4.  
    5.    myDialog.Play();
    6.  
    7. }

    As for the GUISkins, other than some of the demos there currently isn't a big selection. I would suggest duplicating the English GUISkin and going through the custom styles and changing the graphics. The PDF documentation has a section which offers some notes about which custom style does what, etc.

    Hope that helps! :)

    - Mel
     
    Last edited: Oct 21, 2014
  25. SoftwareLogicAU

    SoftwareLogicAU

    Joined:
    Mar 30, 2014
    Posts:
    34
    Thanks Mel, the first solution works a treat!

    The 2nd option doesn't work though, because I can't declare 'public DialogController myDialog;' because DialogController is not a valid type as my C# script won't pick up any of the Dialogxxxx types...?

    ie: Error: The name DialogController does not exist in the current context

    Anyway, thanks for the solution (1st option), but if you have any ideas about the 2nd option issue that could be handy as I may need to do other things with the API later on down the track.

    Cheers,
    -Glen
     
  26. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi Glen,

    Are you sure you've got the DialogController.js script with the other scripts in Plugins?

    Also, if you're writing in C# and trying to access LDC, your scripts should NOT be in any of the compile first locations (such as the Plugins Folder).

    Appears to work fine on my side! :)

    - Mel
     
  27. SoftwareLogicAU

    SoftwareLogicAU

    Joined:
    Mar 30, 2014
    Posts:
    34
    Hey Mel. Yes - all of the Dialog scripts are in the Plugins folder as previously mentioned and my script is in my Scripts folder as specified too?

    Is yours accessing it from a C# script or JS script, because it appears that's the issue?

    Thanks,
    -Glen
     
    Last edited: Oct 21, 2014
  28. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi Glen,

    I was able to access it from both - not sure why you're running into problems there. I'm afraid I can't offer Skype support but if you want to email me a screenshot of your scripts in both the Plugins folder and the C# script you are writing I'm happy to help! =)

    I don't want to add the email address here as it will get spammed, but you can find my "Support Email" on the Asset Store page for LDC here: https://www.assetstore.unity3d.com/en/#!/content/5020

    - Mel
     
  29. SoftwareLogicAU

    SoftwareLogicAU

    Joined:
    Mar 30, 2014
    Posts:
    34
    Thanks Mel, I sent you an email - just waiting on a reply email from you before I send the screenshots.
     
  30. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    ... Got it! :)
     
  31. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi All,

    I'm very happy to announce that LDC 4.2 will soon be available, and will include the most advanced Dialog Style ever implemented in LDC! ... This really is a HUGE update! :)

    LDC V4.2: ICON GRID DIALOG STYLE

    This ultra versatile dialog style can create super customised icon grids, making them great for merchant screens, inventories, options, level select screens and so much more! It also automatically creates an automatic scroll view that works great with the mouse, touch, joystick and keyboard! In fact, so much work has gone into this that if you scroll with the keyboard or joystick, the scroll view will automatically follow the currently selected icon - one of the small but mega powerful ways that LDC keeps things working great across platforms and input devices! :)

    Here's a quick merchant screen I created to test it out with:

    LDC_v420_MerchantScreen.png

    Extended Logic

    You can see that the middle button for the Tazer has been faded out because special logic actions have been applied to disable the button and replace the label if the player didn't have enough money, here's what the logic looked like:

    LDC_v420_IconGridInspectorLogic.png

    A Look At The Inspector ...

    Here's how the inspector looks in LDC - You can see the wealth of options available to create incredibly custom Icon Grids! You will find custom controls for both the window size and position, offsets, showing or hiding parts of the title, scrollviews and more. You can even setup a custom animated background for the window itself:

    LDC_v420_IconGridInspector.png

    And here is a look at the Icon Layout options, which allows you to setup different sizes and spacing for your icons, and some extra cool stuff like setting up labels, and creating a close button. You can also override some areas of your GUISkins to provide some extra functionality:

    LDC_v420_IconGridInspectorIconLayout.png


    ... SO WHAT ELSE CAN IT DO?

    Here's some quick examples I've thrown together to get a glimpse of what's possible:

    RPG / ADVENTURE GAME ACTION PANEL
    Need an easy way to allow interaction in your games? LDC has you covered! :)

    LDC_v420_ActionPanel.png


    ... I can't post any more pics in one reply! LOL .... Continues on the following post! =)

     
    Last edited: Oct 29, 2014
    red2blue likes this.
  32. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    LEVEL SELECT SCREENS
    How about some interesting layouts for Level Select Screens?

    LDC_v420_TrackSelect.png

    OPTION SCREENS
    It even allows for some interesting option screens that were harder to achieve in older versions of LDC:

    LDC_v420_OptionsMenu.png


    I hope you guys are excited about the coming update - as always, it will be completely FREE to current LDC users! There's a few more cool features that will be implemented that I will announce closer to the time, hopefully in the next week or so!

    Thanks so much to those of you who have continued to support LDC! :)

    All the best,

    - Mel
     
    Last edited: Oct 29, 2014
    red2blue likes this.
  33. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi All,

    LDC v4.2 IS NOW AVAILABLE!

    LDC v4.2 is currently available on my website and should be on the asset store hopefully at some point next week! :)

    Other than the cool Icon Grid Dialog style I've talked about recently, we've also got these new improvements too:

    GUI DEPTH (LAYERING)

    If you've got your own GUI functions running alongside LDC, you can now manage the order of the layers using the new GUI Depth setting found in Dialog On GUI > Options:

    Dialog Layers.png

    AUDIO STREAMING - AUTOMATIC FILEPATH GENERATION

    Setting up streaming audio (via Resources.Load) has always been tricky for newcomers to grasp, as well as mundane for users to setup. Now, LDC can automatically figure out the file path for any audio clip in y our Resources folder by simply dragging and dropping an AudioClip into the new "Drop AudioClip To Stream" field. If it was a valid file, LDC will calculate the file path for you automatically without storing a reference to the original AudioClip! :)

    Automatic Filepaths.png

    ... AND THE FOLLOWING:

    - Icon Grids are also available to be dynamically created via the API. See docs for more details!
    - Popup Dialogs have been optimised to be more efficient at runtime.
    - Popup Dialog Icon has been changed in the inspector.
    - Custom LDC Inspector icons should now show up correctly in Unity 4.x and higher.
    - Google Spreadsheet functionality has been moved to the "Third Party Extras" folder.
    - DialogClasses script added to the system to better organise the codebase.

    IMPORTANT NOTES: LDC v4.2 now requires Unity 4.0.1 or higher. Remember to backup your projects before upgrading and pay attention to the new custom styles required in the documentation if you are upgrading your older GUISkins!

    DOWNLOAD LDC v4.2 NOW FROM MY WEBSITE:
    http://www.mel-georgiou.co.uk/

    ... I'll post again when 4.2 is approved on the Asset Store! :)

    I hope you guys are excited about the new features, and thanks for supporting LDC!

    All the best! :)

    - Mel
     
    red2blue and UnleadedGames like this.
  34. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi All,

    Just to let you guys know that LDC v4.2 is out today on the Asset Store! =)

    The Asset Store team didn't let me know in advance but looks like LDC has been chosen to be a part of the Asset Store Birthday Bonanza sale! Get it while it's hot! :)

    LDC 4.2: Grab Your Copy Now From The Asset Store!

    - Mel
     
    red2blue likes this.
  35. fabianampires

    fabianampires

    Joined:
    Mar 30, 2014
    Posts:
    12
    Hi @melgeorgiou

    Is LDC 4.2 already converted to the new Unity UI gameobjects (introduced in 4.6)? My games use the new UI elements and I wonder if LDC would be compatible with all new features, such as: the current event system, canvas, etc.

    Thanks!
     
  36. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi fabianampires,

    Firstly, thanks for your interest in LDC :)

    LDC doesn't use the 4.6 UI System but works perfectly fine alongside it. There shouldn't be any reason why you can't continue to use your existing UI elements with LDC. The only thing to note is that LDC's GUI is always on top of your other UI objects - but considering the nature of how LDC works, this shouldn't be a problem as these kinds of dialogs should always be on top anyway!

    Hope that helps! :)

    - Mel
     
  37. primus88

    primus88

    Joined:
    May 14, 2013
    Posts:
    611
    Hello,

    I bought this asset being very enthusiastic about what I know it can do from the Comic / Novel Demo, with the warhammer models, but now I discover it is nowhere to tun it.

    I need for my game exactly that visual novel style and now I don't see which scene is the one exemplifying this.
    Please help.

    Thank you
     
  38. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi Primus88,

    Firstly, thank you for purchasing LDC! :)

    There are 16 example projects in total which can be installed from the package located here:
    The LDC Demos & Extras/00 Extra Demos/The Extra LDC Demos

    Unfortunately, the WH40k demo can't be included with the commercial package because I didn't create the artwork and the copyright doesn't belong to me (this is a footnote on the visual novel demo page).

    However, if you send me an email / PM with your invoice ID I'll see if I can dig up the demo project for you - note you won't be able to use it commercially as the assets aren't mine to give. But it should serve as a way to help you learn how everything works!

    Hope this helps! :)

    - Mel
     
  39. primus88

    primus88

    Joined:
    May 14, 2013
    Posts:
    611
    I'm interested in the very nice mechanics, not the assets (I make a high fantasy game :D )

    Sent you the details!
     
  40. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Thanks Primus! :)
     
  41. T-Rocktopia

    T-Rocktopia

    Joined:
    Jul 16, 2014
    Posts:
    9
    I'm liking my purchase so far.

    However, as @fabianampires mentioned, it would be great to have this incorporate the new UI system that Unity is rolling out. I understand LDC is heavily attached to the the current GUI system in Unity. My only complaint is that it doesn't allow me to batch and use the new sprite system to limit my draw calls.

    I'm a stickler when it comes to optimizing especially for mobile and the current GUI system isn't useful in that area. I understand your approach is to make LDC simple to use with limited coding knowledge. But I can see many benefits to rolling out a version that uses the new optimized UI.

    In other words, do you have any plans for updating LDC in respects to the new UI system?
     
  42. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi T-Rocktopia,

    I'm glad you're liking LDC so far! :)

    LDC actually works tremendously well on mobile. I'm really not sure why the existing Unity GUI gets such a bad reputation - I'm guessing you're referring to GUILayout tests which can affect early mobile device performance. However, LDC is heavily optimised to run great on mobile platforms as well as the desktop as it doesn't use GUILayout, it works on a design principle of pre-calculated rects which keeps things running great! I've talked about this in more detail before in previous posts if you want more info. While I generally agree that draw call optimisation is a good thing, it's all relative. Hundreds of draw calls can be an issue, but single digits really aren't going to make a dent! For example, a typical LDC Next screen only uses 6 draw calls! :)

    I'd also mention the gains aren't really noticeable (if at all) on any mobile device released in the last few years, and pretty much invisible on desktop builds. For reference, Ninja Guy was originally released on the very first iPhone and maintained a decent rate of performance using the first version of LDC, by the time the iPhone3GS came out performance was flawless. That was 5 years ago and mobile phones have come a long way since then! :)

    Long story short, you'd be hard pressed (dare I say impossible) to find a practical usage scenario where LDC will visibly affect the performance of your game. As long as you have the necessary RAM free you'll be golden! :)

    However in the long term, I do have plans for releasing a companion product for LDC which adds a new GUI Abstraction layer giving you a choice between the two systems. I don't expect there to be any performance increases, it will simply be there to give you guys the choice! There are pros and cons with both systems - I tend to find the existing system much more flexible from an API and graphical point of view as you can setup individual graphics compression and is generally more ram efficient if you are using less assets - sprite sheets can end up costing you more in ram in certain situations while saving you those few extra draw calls. In fairness to the new uGUI system, its approach has its own merits too - there's always a trade off! :)

    Obviously this hasn't been 100% ironed out yet but it is on the roadmap for later down the line!

    Hope this helps! :)

    - Mel
     
    Last edited: Nov 7, 2014
  43. SkyHiRider

    SkyHiRider

    Joined:
    May 20, 2014
    Posts:
    1
    How would you suggest creating a text rpg purely in ldc? I need to be able to manage and reuse items, skills and enemies (fights), all as dialogue nodes.

    Is there a preview option where I can see all the nodes as a map (like http://twinery.org/).

    I've bought it today but my first impression is that using ldc this way may be asking too much :(
     
  44. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi SkyHiRider,

    Firstly thanks for your interest in LDC! :)

    There isn't a node view built into LDC but this is totally possible to do and actually pretty manageable too! It would probably be a good idea to plan out the types of things you'd want in your game before setting it up.

    There are 2 concepts that I would suggest apply directly to your project:

    1) LDC Tokens - Setting Up The Player, Levels, Skills, Items, Money, etc.

    The first is LDC's token system (and possibly PlayerPrefs too if required)!

    You should use Tokens to define core items such as your players name, level, stats, items, etc. Anything that your player needs to see visually in a dialog should be setup as a Token (you do this in the DialogUI component)

    Options, checkpoints, or anything that doesn't require visual feedback to the player (for example things like "Found_Blue_Key", "Play_Music" or "Opened_Castle_Gate") can be set using PlayerPrefs if required - this can be done on the fly and don't need to be setup initially. Alternatively, to keep things super simple you can just do EVERYTHING in tokens! :)

    You can use the Data Entry screen to grab input from a user to set a token. For example, you can setup a dialog screen that says "Enter Your Name", and you set the token to one you already setup called "PlayerName".

    Let's say the player types in "David".

    To write back the player's name in any title, dialog or button, you would simply write it like this in the inspector:

    The player's name is $PlayerName.

    When LDC creates the screen, it will find the token called PlayerName and replace the text to read:

    The player's name is David.

    You can of course use "Multiple Button" and "Icon Grid" screens to create choices and logic depending on the value of tokens, which is great for text-based RPGs as well as full blown RPGs. Icon Grids are also great for inventories or merchant screens.

    2) Splitting Up Your Story With Unity's Prefabs and Scenes

    Prefabs are something that EVERY LDC user should get to know intimately, especially if you are going to be creating a large story driven game.

    Prefabs are pretty much templates in Unity that can be created at any time. If you pull an LDC GameObject out of the Scene pane and into the Project pane it will create a prefab for the dialog object - it will also turn blue to show you that this object is now a prefab. This means it can be accessed pretty much at any time by your game if you create a link to it (which LDC makes easy!).

    One LDC Dialog thread can seamlessly load another prefab to continue the story in unlimited directions and exit points. This means it is possible to break down your entire story into manageable chunks that you can see in your project folder.

    I would go about this by breaking up your RPG into areas. Let's say one area is a village. Create a new scene in Unity and save it as "The Village". Place the scene into a folder in your project called "Village" to keep it all organised. Now think about the sub sections in the village. Lets say the first area is the Gate.

    Create a new LDC Dialog and rename the object "LDC Dialog - The Village - 001 The Gate". Drag it into the Village folder and now you have a prefab.

    Now you can define what happens at the gate in this LDC Dialog thread, there could be some conversations, some guards at the gate, etc. Then think about how you can leave from the gate. The cool thing about LDC is that you can make the next part of the village its own LDC Dialog and use navigation to switch between the different prefabs, they will all share the same Tokens, etc. So in this example, going through the gate will take you to the Village Square. You create the next LDC Dialog and call it "LDC Dialog - The Village - 002" and save it as another prefab.

    In the second village dialog thread you can also do other stuff, but you can also travel back to the gate. By doing so, you will make a navigation link to the original prefab called "LDC Dialog - The Village - 001 The Gate" and now you have navigation between different areas!

    Hopefully this shows how different parts of your story can be nicely managed by LDC using easy to manage prefabs and scenes for different areas and sub-areas! :)

    LOL ... Got a bit carried away with this example - hope this helps! :)

    - Mel
     
  45. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi All,

    I've been getting quite a bit of feedback from people who have been asking me about skins for LDC. So I decided to work on my first fully featured GUISkins pack for LDC which has just been released today (Asset store version TBA)!

    Introducing Dark Crimson

    00 SPLASH WEBSITE.png

    Unlike some of the demos included in LDC (which are partial skins just in english or in a certain resolution), this complete package includes ALL localised languages in SD and HD so this covers all your localisation and is mobile and desktop ready! There are also a couple of icons that will be useful for Icon Grid dialog styles included in the package.

    Of course, you can also count on the same level of support and maintenance that I've offered LDC over the years so whenever there are new features or dialog styles added to LDC, the skins will get updated too at absolutely no cost! :)

    This skin was originally influenced by the latest Comic Demo but has been revamped with new graphics and tones. Here are some examples of what can be achieved with the new skin:

    DarkCrimsonExamples.png

    It's selling for $15 so if you guys are interested feel free to download at my website here! I'll update this post when the Asset Store version gets released too!

    Thanks to all of you who have supported LDC! :)

    - Mel
     
  46. T-Rocktopia

    T-Rocktopia

    Joined:
    Jul 16, 2014
    Posts:
    9
    Thanks @melgeorgiou for your great response!

    The biggest thing that has me worried is the inventory/merchant example. It shows 45 draw calls when I run it. After your explanation, it sounds like it really isn't all that much of an issue. I have inventory systems that will have hundreds of items that you scroll through, so I was afraid that with hundreds of items being drawn it could cause some issues in the long run.

    I suppose a great approach would be to maybe add some paging and limit the number of items on each inventory/merchant screen. Either way, I will take your advice and try not to worry too much about those pesky draw calls, haha. I'm definitely developing for mobile. As you were saying, mobile has progressed significantly in many areas. SO, there isn't too much to worry about.

    Again, thanks for your response!
     
  47. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Hi @T-Rocktopia,

    No worries, I'm always happy to explain things! :)

    Yeah the icon grid has the most going on by far out of all the dialog styles (although it depends how many items you want to display at once too). Another point is when merchant screens are visible the game tends to be paused in the background as the focus is in the front with the UI. Remember when LDC isn't displaying anything it won't be using any draw calls! :)

    To hopefully put your mind at ease, I'm working on a commercial RPG title right now called Post Brutal and my minimum spec device is the iPhone4S which came out in 2011 (about 3 - 4 years old now), it is fully 3D and not only uses LDC for the dialog parts, but also OnGUI calls for ALL parts of the UI lol. I'm still getting 30FPS on an iPhone4S for scenes that are highly detailed on mobile and look like this:

    PostBrutal_Screenshot_iPhone4s.png

    Trust me ... The standard Unity GUI is not evil! Most of the time I'm willing to bet its the way people are implementing it - You'll be fine! :)

    Hope this helps! :)

    - Mel
     
    Last edited: Nov 8, 2014
  48. gshape

    gshape

    Joined:
    Aug 8, 2012
    Posts:
    94
    Hi Mel! I have few feature requests and hope you can implement them in coming future. ;)

    1. Localize - Instead of single "Chinese", may I have "Traditional Chinese" and "Simplified Chinese" please? Even better, we can add any languages ourselves.
    2. Dialog Cast - Can the Actor Names be translated (at least for the one checked in settings) in Dialog Library? Therefore, we don't have to manually copy each character's translated names every time in each dialog.
    3. It's a bit slow if the Dialog Controller contains over 30 dialogs… I need to manually collapse Dialog Screen component on the game object so I can gain extra performance. Could you make a function to "Collapse All" dialogs?
    Thank you!

    - gshape
     
  49. gshape

    gshape

    Joined:
    Aug 8, 2012
    Posts:
    94
    Hi! Few more questions…
    1. Is there any "SKIP" button so player can skip certain dialogs?
    2. Can the dialog text shake? (e.g. act like someone given a big punch)
    3. How to tune the line spacing of dialog text please?
    Thanks again!
     
    Last edited: Nov 11, 2014
  50. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    599
    Thanks for the feedback, will look into it! :)

    1 - Simplified Chinese and Traditional Chinese will likely be coming in a future release, as well as some more popular languages used in games.
    2 - That's a good idea. Will definitely look into that one.
    3 - Yes this is an issue I'm working on at the moment - All those editor animations and live translations can take its toll in the unity editor. I'm looking for ways to optimise that right now and hoping to bring big performance increases in an update. In the meantime, you can always split up your dialogs into slightly smaller chunks - LDC makes this easy in the navigate tab, allowing you to connect with other LDC prefabs / threads in the scene! :)
    4 - You can currently implement your own skip button that works alongside LDC to skip parts of the UI using the API.
    5 - There are no text effects like that implemented in LDC (yet anyway)
    6 - I think this is handled automatically with unity reading the font's data. I think to get different results you need to change / modify the font itself. I'll look into this more at some point.

    Hope that helps! :)

    - Mel