playMaker

Author Topic: UDE Dialogue Engine for Unity - Advanced  (Read 6298 times)

SimonRinkyDinkyCo

  • Playmaker Newbie
  • *
  • Posts: 7
UDE Dialogue Engine for Unity - Advanced
« on: August 02, 2013, 02:27:19 AM »
This is such an amazing asset and it would be so useful in any game that handles an inventory. All of the features like a save game system, or an intelligent dialogue system are really useful for us non-coders out there.

Please create some actions for this asset. Know that I appreciate your effort and I talk up PlayMaker to all of my friends who ask me about my work. I already love your product. This would be the icing on the cake! Plus if you're quick you can still get it for 70% off!

Bjakuja

  • Junior Playmaker
  • **
  • Posts: 75
Re: UDE Dialogue Engine for Unity - Advanced
« Reply #1 on: August 02, 2013, 07:14:06 AM »
Great for dialogs and characters interaction, it would be great to have some Playmaker actions that works with this system.  ;)

jeanfabre

  • Administrator
  • Hero Member
  • *****
  • Posts: 15500
  • Official Playmaker Support
Re: UDE Dialogue Engine for Unity - Advanced
« Reply #2 on: August 02, 2013, 09:30:04 AM »
Hi,

 Have you contacted the author? make him aware of your needs, it's important. The author might be willing to do something about it.

Currently, I can't really take more support for new assets, until, Ngui, Photon and UFPS moves to the next phase... But keep requesting and bumping, this helps prioritize


bye,

 Jean

SimonRinkyDinkyCo

  • Playmaker Newbie
  • *
  • Posts: 7
Re: UDE Dialogue Engine for Unity - Advanced
« Reply #3 on: August 02, 2013, 12:28:01 PM »
I contacted the author earlier today. I'll let you all know what the response is. I really think this would be a huge benefit to a lot of people using PlayMaker, especially for people switching over from other drag and drop/visual scripting tools. I understand you are busy working on some big asset support with NGUI, Photon, and UFPS. I'll definitely be keeping an interest up for UDE support since Unity/PlayMaker is my new home for development.

Thanks for making such a great product better and better. I love seeing how it keeps growing to become more powerful for all of us logic loving visual thinkers out there.

SimonRinkyDinkyCo

  • Playmaker Newbie
  • *
  • Posts: 7
Re: UDE Dialogue Engine for Unity - Advanced
« Reply #4 on: August 02, 2013, 05:19:08 PM »
I received a response and basically he doesn't think he can create PM actions due to time constraints (he sounds very busy) as well as a lacking of knowledge about how PM works.

I replied to him giving some ideas I had about what the actions could be in order to allow PM users to create a work flow that incorporates UDEA nicely. Here is a list I came up with:


UDEA Possible Actions list:



Create Key -

Would use a variable created through PM and would include a Set Key Name (Defaulted to the original variable name for ease). This would write to the CML file. A warning could be fired if you attempt to create a key with the same name. This action could first check to see if the variable has already been created, and if it has just fire off an event rather than continuing to create the new key.



Set Key -

Sets the value of a key based on a variable or manually entered data.



Get Key -

This would allow you to copy a key's value and store it as a variable.



Load Key -

Loads key value (based on Key Name) from CML to a variable.



Save Key -

Saves the key variable via the CML file.



Key Compare -

This would work the same way that variable compares work in PM. You can specify the number of keys you need to compare, and settings would show up for each one (just like in Int Compare for example). Then each key could fire off events based on what the conditions are. For example:



if key:Gold = 15000 Fire this event (or do nothing)

if key:Gold > 19999 Fire this event (or do nothing)

if key:Gold <10000 Fire this event (or do nothing)



Dialogue Start -

Start Dialogue with an object. A finishing event would be useful so that a new state could be created for the first Speak action.



Dialogue End -

End Dialogue with an object. A finishing event would be useful here.



Set Turn -

This action could be used to change the turn number (int variable). It would also be possible to do this with an Add Int action already in PM, but you could put some other options in there such as basing the turn number off of an int variable. Int variables could be changed in a state after the Key Compare action.



Speak Dialogue -

This calls to a turn inside the CML and should export out to a string variable. I believe it would be easier to have the turns used set up inside the CML file before hand. If this were documented well and an example CML file were given with the package then I wouldn't see an issue with it. Creating an editor to allow the CML file to be edited within Unity would be ideal, but again, if documented clearly enough it shouldn't be a problem.



Actors could be based on GameObjects and manipulated directly through sending events within PM.



One awesome thing about having these PM Actions would be we could use Save Key, Load Key, and Get Key for saving variables in our games. That added with the key compare would let us set up a nice inventory system. The dialogue part does become more complicated, but this is where experience with using PM comes in handy. We are used to working with state machines, so organizing dialogue in this way makes sense to PM users.


That's about all I can do in my position, unfortunately. Hopefully this generates some interest in people who are capable in making custom actions. This really does seem like a highly valuable tool for a lot of different types of projects.

escpodgames

  • Hero Member
  • *****
  • Posts: 687
    • Assets
Re: UDE Dialogue Engine for Unity - Advanced
« Reply #5 on: August 02, 2013, 07:13:22 PM »
Hi,

I've been running into the same issue, needing actions for plugins that don't have them :( Best thing to do (like me) is take a look at writing actions yourself. With all the examples (right click on an existing action and edit) you can quickly learn the ins and out of most Playmaker actions. (I'm no coder)
I'm currently taking a stab at the Prime[31]Facebook actions :O after getting a response from the author much like yours (and my game heavily relies on Facebook)

Based on your list .... the actions seem rather basic.
« Last Edit: August 02, 2013, 07:15:32 PM by LampRabbit »

ashking

  • Playmaker Newbie
  • *
  • Posts: 3
Re: UDE Dialogue Engine for Unity - Advanced
« Reply #6 on: March 23, 2015, 11:40:37 PM »
But keep requesting and bumping, this helps prioritize

I'll gladly bump this.

At a basic level, something that lets you read an external file containing branches of dialog. Not just in serial. Read from a file "text 1", and present options 1a, 1b, 1c. If you pick 1a, jump to "text 2" and present those options. If you pick 1b, jump to "text 3" a third set of options.

At a more advanced level, the options should let you set variables or trigger scripts.

If there's any other way to encourage this type of feature, just let us know.
« Last Edit: March 23, 2015, 11:42:28 PM by ashking »

myBadStudios

  • Playmaker Newbie
  • *
  • Posts: 3
Re: UDE Dialogue Engine for Unity - Advanced
« Reply #7 on: April 10, 2015, 09:06:25 PM »
Hey guys

I am the author of the UDEA and just released the CORE version today which is basically the same as before but $10 cheaper because it requires the MBSCore product to function. Thing is, I have updated the kit MASSIVELY recently and as soon as I've finished the new demo scene will be updating both versions on the asset store.

The UDEA as is it is a super powerful system as you guys must already know... but this new update makes writing the scripts a little bit easier but also gives you sooooooooooo much extra power that you are going to wonder "How in the world did I ever use this kit before?". The change is THAT drastic...

Just to give you a little hint, remember the ProcessKeys function that you had to create to call custom code? Well that's gone now. You can now call functions by name and pass between 0 and unlimited params to your own functions. Sound good? :P Now also think about UGUI... hint hint...

Now, I have had a lot of PM requests in past but when I looked at it I was completely  and utterly lost. I had no idea where to even start to make the actions and part of the problem is that the UDEA is "advertised" as a dialogue engine but in actual fact it is a far, far, far more powerful system than just that. To demonstrate that I even include a store I built using it as part of the demo scene, complete with different prices by merchant for buying and selling the same item. In private I built my own version of cInput using the UDEA and the whole thing took me 2 hours. That is the kind of "extra" stuff you can do with this system... not just dialogues.

I created the kit 8 years ago and even to this very day I can't write any project without it BECAUSE there is so much MORE you can do with it if you actually delve into the guts of it, understand how it works and then apply a little bit of imagination...

Now, let's take PM... How am I going to create an action that will allow you to take my dialogue engine and create a custom runtime keyboard input manager from it? How can I make an action that will allow you to create a shop? How can I create an action that will allow you to do all the things you COULD do if you were to code via C# directly? That was where I drew the biggest blank...

Let me give you an ACTUAL example of what has me stumped... So everybody has different dialogues for their games. That part is obvious. Now, the UDEA allows you to call any number of keys on any turn. 3 keys have special meaning to the UDEA and must be formatted with exactly 3 words. The rest (in the new system) can have any number of parameters and each parameter has the OPTION of appending a name to each parameter... So any number of dialogue turns with each having any number of keys formatted to either a specific format or to any custom format you choose or to both on the same turn.

To add gold you use the special format: + Gold 5000
To call a custom audio function you could use either:
   PlaySound 0 0 or
   PlaySound Track:OverHere Volume: 0.4 FalloffRate:0.3 Loop:true or
   PlayOverHere

How do you make such customizable stuff simple enough for a PM action? This is where my inexperience with PM comes in and where I draw a blank.

Should I just NOT let you do all the extra stuff you can do with this system and focus ONLY on allowing you to do dialogues and nothing else? What features should I give you and what features should I deny you? What would be fair? What would you be happy with? What would I be happy with in denying you? Those are the questions that I was not able to answer and thus I let the whole PlayMaker thing slide.

Make no mistake, though, I have regretted not having PM support but I honestly, simply don't have the time to learn PM well enough to figure out how to do this. I have way too many things on my plate as it is so this is one regret I have had to live with. plyGame support took 10 minutes to add... PM has taken since PM was first built... :( I would love to support PM but I have no idea how. Sorry guys...

So here is the deal I am prepared to make you... If any of you guys are prepared to take on the challenge and do this for me, I will provide you with a free copy of the UDEA to use for this purpose and upon completion of the integration, if it works well enough for the first 10 of you who request to be beta testers to be happy with it, then I will give you $100 credit towards any of my other products on the store. Just pick the ones you want and I will give you a free copy of it in exchange for allowing me to finally bring PM support to the UDEA.

So how does that sound? Anyone interested in taking up the challenge? If os, just contact me via playmaker@mybadstudios.com and convince me of your PM skills :P

I look forward to hearing from you guys. :)
Jacco