Best way to keep track of played Conversations?
Posted: Wed Nov 01, 2023 8:41 am
Hi! There's two things I want to create in particular, but I'll describe the first one first.
I'm currently building a game that has two primary means of displaying NPC conversations - through randomly playing conversations at a table, and conversations elsewhere which are reminiscent of the Fire Emblem 'Supports', being like miniature cutscenes that show two characters interacting.
I want to be able to save which conversations that the player has seen, and in the latter case, create a menu where players can re-view 'supports' that have played out. In the case of the supports involving player characters - I would also like to save choices made by the player so that re-viewing the cutscene does not let them change their decisions.
I imagine that the best way to handle this is through the usage of the Dialog Database's own variables, but I would like to know what the most efficient way of doing this would be. My previous solution is primitive and unrefined - being a second list keeping track of which conversations have been played.
In the case of the prior, I would also like to make it so that if a conversation is marked as 'seen', then it is less likely to appear again. I imagine I could do this easily if I mark the conversation with a variable, but I'm unsure where to put that variable specifically. Currently, the way I handle conversations is with the manager having a list of every conversation/Dialog in the game as scriptable objects, before narrowing it down to characters currently present in the scene.
Thanks in advance for suggestions.
I'm currently building a game that has two primary means of displaying NPC conversations - through randomly playing conversations at a table, and conversations elsewhere which are reminiscent of the Fire Emblem 'Supports', being like miniature cutscenes that show two characters interacting.
I want to be able to save which conversations that the player has seen, and in the latter case, create a menu where players can re-view 'supports' that have played out. In the case of the supports involving player characters - I would also like to save choices made by the player so that re-viewing the cutscene does not let them change their decisions.
I imagine that the best way to handle this is through the usage of the Dialog Database's own variables, but I would like to know what the most efficient way of doing this would be. My previous solution is primitive and unrefined - being a second list keeping track of which conversations have been played.
In the case of the prior, I would also like to make it so that if a conversation is marked as 'seen', then it is less likely to appear again. I imagine I could do this easily if I mark the conversation with a variable, but I'm unsure where to put that variable specifically. Currently, the way I handle conversations is with the manager having a list of every conversation/Dialog in the game as scriptable objects, before narrowing it down to characters currently present in the scene.
Thanks in advance for suggestions.