Two days ago I ran into a very peculiar problem that I haven’t been able to find a solution for.
There are 3 main characters in the game; the Wife, the Cop and the Player.
Each character can interrupt the other one during a dialog, and if this happens, the interrupted character will try to resume the conversation once there is an opportunity to do so.
I thought the system was working well until I ran into this situation:
The Wife started a dialog with the Player, and at that exact moment the Cop interrupted us and started a conversation with the Wife. Immediately after I decided to interrupt them and start a dialog with the Cop.
Since the Wife second conversation, the one the Cop started, had just been interrupted by me, she was free to resume her original dialog with me, interrupting the one I had just started with the Cop.
If you are still following all this, this meant the Cop was now able to restart his conversation with the Wife, which in turn made my character able to resume his dialog with the Cop.
And so, all three characters were stuck in a loop, all interrupting each other and trying to resume their original conversations!
I find this hilarious but also troublesome…
There isn’t a ‘bug’ per se, the system is doing what is supposed to do but the results are clearly unacceptable. So what is the right solution to this problem?
If this situation was happening in the real world, someone would stop talking and listen to the other conversations, or just give up trying to say the same thing over and over. But which one of the conversations is more important? Maybe I should create a priority system?
Or maybe I should do the opposite and mark the conversations “not worth having”. The Cop was accusing the Wife of murder, while the Wife was just having a casual conversation with the Player. So with this in mind her dialog should not be allowed to interrupt the one the Cop started.
Another idea would be for the actors to be aware of what are the conversation around them. If they are more interesting/relevant than the conversation they want to start, they will wait until it’s finished.
As I was going through all these options I realized that the correct solution is not to do anything, at least for the moment.
None of these options is wrong but I also don’t know which one is right.
I’ve already learned that implementing and rewriting different ideas is not the best use of my time, so I’ll just wait.
I’m pretty sure that I’ll run into the same problem with different variables, and as it has happened before, hopefully a pattern will emerge that will show me the right solution!