Hey Jeff,
As my game is growing, and I have more and more NPCs with their own conversations, I am starting to wonder what a 'good' workflow is to manage conversation triggers.
Currently I am following your post about multi-conversation NPCs (https://www.pixelcrushers.com/phpbb/viewtopic.php?t=878) which has been great to collect conversations together.
If I have, say, 10 different NPCs scattered around a walkable world with different dialogue options at different stages of the game, what is a way to keep these conversations in order?
What is a best practice way to manage the different triggers for when a dialogue should start?
I know this is a massive question! I am currently using variables like "hasTalkedToX" and the Actor Variable to go into a particular branch... but I can't help but feeling this could get unwieldly soon.
If you can give some tips to best practice ways, or point to me where there is documentation on growing the dialogues over time, that would really help!
Thanks again,
Dylan
Workflow examples for top down game
Re: Workflow examples for top down game
Hi,
Continue to use variables -- or custom actor fields if you prefer. I like to use variables. It's nice to be able to see everything at a glance. One organizational trick is to use "." to group them, similarly to how you use "/" in conversation titles.
For example, if you have several variables for the Mayor, name them like:
Note: To rename a variable and update all references to that variable, use the Asset Renamer tool. (Menu item Tools > Pixel Crushers > Dialogue System > Tools > Asset Renamer.)
Continue to use variables -- or custom actor fields if you prefer. I like to use variables. It's nice to be able to see everything at a glance. One organizational trick is to use "." to group them, similarly to how you use "/" in conversation titles.
For example, if you have several variables for the Mayor, name them like:
- Mayor.hasTalked
- Mayor.describedJob
- Mayor.discussedDaughter
- Mayor.hatesVigilantes
- Mayor.etc.
- Menu > Sort: Sort variables alphabetically, which will group all Mayor variables together.
- Search filter: Set the filter to "Mayor." to show only the Mayor's variables.
- Menu > Use Group Foldouts: Show groups in separate foldouts (i.e., "Mayor" will have its own foldout).
Note: To rename a variable and update all references to that variable, use the Asset Renamer tool. (Menu item Tools > Pixel Crushers > Dialogue System > Tools > Asset Renamer.)
Re: Workflow examples for top down game
Thanks Tony,
I feel better knowing I am mostly following along with what could be considered a reasonable workflow. I hadn't seen that about the "." for variables, things are looking much more manageable now in that screen.
During the game, how am I able to track the variables as they are set? I can see the initial variables in the Dialogue Manager Debug, but I cannot find a way to track them, or call them to the console like a Debug.log.
For example, I set variable "hasTalked" to true at the end of a conversation, and want to check it without initiating the next conversation that has condition "hasTalked == true" in the console, or somewhere in the dialogue manager.
Thank you!
EDIT
Ah, I just found the "Watches" section and refreshed the variable in question - this seems to have done it, thank you!
I feel better knowing I am mostly following along with what could be considered a reasonable workflow. I hadn't seen that about the "." for variables, things are looking much more manageable now in that screen.
During the game, how am I able to track the variables as they are set? I can see the initial variables in the Dialogue Manager Debug, but I cannot find a way to track them, or call them to the console like a Debug.log.
For example, I set variable "hasTalked" to true at the end of a conversation, and want to check it without initiating the next conversation that has condition "hasTalked == true" in the console, or somewhere in the dialogue manager.
Thank you!
EDIT
Ah, I just found the "Watches" section and refreshed the variable in question - this seems to have done it, thank you!
Re: Workflow examples for top down game
Yup, you can see the runtime values of variables in the Dialogue Editor's Watches section or the separate Variable Viewer window.
In builds, you can use a Lua Console.
In builds, you can use a Lua Console.