Page 2 of 2

Re: Dialogue System for Unity 2.0 Released!

Posted: Sat Jun 09, 2018 12:32 am
by nathanj
The challenge with this is if the quest names or the names of items are changed - say for example you have a quest called “Follow John to the station”, if you change John’s name in the database the name of the quest becomes obsolete. It’s one thing to change all references within the database but all of the Dialogue System Triggers that reference those original values will break.

I’ve started using variables recently for this exact thing and it works but it’s a bit of work setting up.

One potential solution would be if the quest names could be given IDs - guessing the the condition and setting tool just outputs a string value, though I could be wrong. Then the if the quest name was changed all components that had conditions or setters that referenced that specific quest could update accordingly.

Nathan

Re: Dialogue System for Unity 2.0 Released!

Posted: Sat Jun 09, 2018 9:21 am
by Tony Li
Abelius wrote: Fri Jun 08, 2018 8:03 pmThat would be a possible use case, yup. Although I'm also particularly interested in something less automated and more granular.

In addition to a 'Find and replace all' behavior, it would also be nice if it could behave like MS Word's search & replace, in the sense that when you hit the 'search' button, it sends you to the first node in the current conversation (or the other ones in the DB if doesn't find it in the current one), mark the found text so you can choose to delete it by pressing 'Del' or 'Backspace' or, instead of that, press a 'Replace' button so the text gets overwritten with a previously written text.

This could be useful to make sure you don't mess up before committing to a serious change.
It'll take a little longer to implement, but I agree.
nathanj wrote: Sat Jun 09, 2018 12:32 amThe challenge with this is if the quest names or the names of items are changed - say for example you have a quest called “Follow John to the station”, if you change John’s name in the database the name of the quest becomes obsolete. It’s one thing to change all references within the database but all of the Dialogue System Triggers that reference those original values will break.

I’ve started using variables recently for this exact thing and it works but it’s a bit of work setting up.

One potential solution would be if the quest names could be given IDs - guessing the the condition and setting tool just outputs a string value, though I could be wrong. Then the if the quest name was changed all components that had conditions or setters that referenced that specific quest could update accordingly.
Use the Name/Title field as the ID (and never change it), and use and change Display Name. For example, set the Name of the NPC actor to "John", the Name of the quest to "Follow NPC To Station", and the Title of the conversation to "Station Conversation". Use these Names/Title in your trigger dropdowns. Set the quest's Display Name to "Follow John to the Station".

If you rename John to Fred, you can change the actor's Display Name to "Fred" and rename the quest's Display Name to "Follow Fred to the Station". You can even change these Display Name values at runtime. Since you haven't changed Name values, the triggers will continue to work.

Re: Dialogue System for Unity 2.0 Released!

Posted: Sat Jun 09, 2018 3:57 pm
by nathanj
Wow. So obvious and simple now.